From f14d2a423ff344d83dcd38f1b19d6608be3bdc62 Mon Sep 17 00:00:00 2001 From: wookywok <62037083+wookywok@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:21:51 -0500 Subject: [PATCH] Retro VFX! (also airboarder works now) (#780) * Super Retro VFX! * Updated Screen Jump default * also airboarder works now --------- Co-authored-by: minenice55 --- Assets/CRTEffects.meta | 8 + Assets/CRTEffects/README.md | 19 + Assets/CRTEffects/README.md.meta | 7 + Assets/CRTEffects/Scripts.meta | 8 + Assets/CRTEffects/Scripts/CRT.cs | 28 + Assets/CRTEffects/Scripts/CRT.cs.meta | 11 + Assets/CRTEffects/Scripts/CRTRenderer.cs | 34 + Assets/CRTEffects/Scripts/CRTRenderer.cs.meta | 11 + Assets/CRTEffects/Shader.meta | 8 + Assets/CRTEffects/Shader/CRTShader.shader | 100 ++ .../CRTEffects/Shader/CRTShader.shader.meta | 9 + .../PostProcessingVFX/GameCameraProfile.asset | 165 +++ Assets/Resources/Fonts/Kurokane.asset | 274 ++++ Assets/Resources/Fonts/Rodin DB.asset | 37 +- .../FOT-Rodin Pro B SDF Dynamic_Outline.asset | 259 ++++ .../rodin/FOT-Rodin Pro DB SDF Dynamic.asset | 1281 ++++++++++++++++ .../Models/Games/Airboarder/Materials/sky.mat | 2 +- .../BuiltToScaleDS/Materials/World/Belt.mat | 2 +- .../BonOdori/bonOdoriFlowerCPU2.mat.meta | 2 +- .../Games/DoubleDate/DoubleDateCellanim.mat | 2 +- .../Resources/Sprites/Games/SeeSaw/SeeSaw.mat | 2 +- Assets/Scripts/Games/Airboarder/Airboarder.cs | 6 +- Assets/Scripts/Minigames.cs | 123 +- Assets/Scripts/PostProcessingVFX.cs | 171 ++- Assets/Shaders/OilPainting.meta | 8 + .../OilPainting/BuiltInSampleScripts.meta | 8 + .../BuiltInSampleScripts/BackgroundManager.cs | 28 + .../BackgroundManager.cs.meta | 11 + .../BuiltInSampleScripts/EffectSettingsUI.cs | 46 + .../EffectSettingsUI.cs.meta | 11 + .../ImageEffectController.cs | 31 + .../ImageEffectController.cs.meta | 11 + .../ScreenCaptureManager.cs | 23 + .../ScreenCaptureManager.cs.meta | 11 + Assets/Shaders/OilPainting/LICENSE | 21 + Assets/Shaders/OilPainting/LICENSE.meta | 7 + Assets/Shaders/OilPainting/OilPainting.shader | 193 +++ .../OilPainting/OilPainting.shader.meta | 10 + Assets/Shaders/OilPainting/README.md | 2 + Assets/Shaders/OilPainting/README.md.meta | 7 + .../OilPainting/Unlit_Oil Painting.mat | 44 + .../OilPainting/Unlit_Oil Painting.mat.meta | 8 + ...-stock-paint-texture-00018-normal-2048.jpg | Bin 0 -> 578866 bytes ...k-paint-texture-00018-normal-2048.jpg.meta | 135 ++ Assets/X-PostProcessing.meta | 8 + Assets/X-PostProcessing/Editor.meta | 8 + .../Editor/XPostProcessingEditorUtility.cs | 70 + .../XPostProcessingEditorUtility.cs.meta | 11 + Assets/X-PostProcessing/Effects.meta | 8 + .../Effects/AuroraVignette.meta | 8 + .../Effects/AuroraVignette/AuroraVignette.cs | 103 ++ .../AuroraVignette/AuroraVignette.cs.meta | 11 + .../Effects/AuroraVignette/Editor.meta | 8 + .../Editor/AuroraVignetteEditor.cs | 71 + .../Editor/AuroraVignetteEditor.cs.meta | 11 + .../Effects/AuroraVignette/README.md | 16 + .../Effects/AuroraVignette/README.md.meta | 7 + .../Effects/AuroraVignette/Shader.meta | 8 + .../Shader/AuroraVignette.shader | 62 + .../Shader/AuroraVignette.shader.meta | 8 + .../X-PostProcessing/Effects/BokehBlur.meta | 8 + .../Effects/BokehBlur/BokehBlur.cs | 87 ++ .../Effects/BokehBlur/BokehBlur.cs.meta | 11 + .../Effects/BokehBlur/Editor.meta | 8 + .../BokehBlur/Editor/BokehBlurEditor.cs | 51 + .../BokehBlur/Editor/BokehBlurEditor.cs.meta | 11 + .../Effects/BokehBlur/README.md | 15 + .../Effects/BokehBlur/README.md.meta | 7 + .../Effects/BokehBlur/Shader.meta | 8 + .../Effects/BokehBlur/Shader/BokehBlur.shader | 71 + .../BokehBlur/Shader/BokehBlur.shader.meta | 8 + Assets/X-PostProcessing/Effects/BoxBlur.meta | 8 + .../Effects/BoxBlur/BoxBlur.cs | 101 ++ .../Effects/BoxBlur/BoxBlur.cs.meta | 11 + .../Effects/BoxBlur/Editor.meta | 8 + .../Effects/BoxBlur/Editor/BoxBlurEditor.cs | 50 + .../BoxBlur/Editor/BoxBlurEditor.cs.meta | 11 + .../Effects/BoxBlur/README.md | 16 + .../Effects/BoxBlur/README.md.meta | 7 + .../Effects/BoxBlur/Shader.meta | 8 + .../Effects/BoxBlur/Shader/BoxBlur.shader | 74 + .../BoxBlur/Shader/BoxBlur.shader.meta | 8 + .../Effects/ColorAdjustmentBleachBypass.meta | 8 + .../ColorAdjustmentBleachBypass.cs | 64 + .../ColorAdjustmentBleachBypass.cs.meta | 11 + .../ColorAdjustmentBleachBypass/Editor.meta | 8 + .../ColorAdjustmentBleachBypassEditor.cs | 45 + .../ColorAdjustmentBleachBypassEditor.cs.meta | 11 + .../ColorAdjustmentBleachBypass/README.md | 16 + .../README.md.meta | 7 + .../ColorAdjustmentBleachBypass/Shader.meta | 8 + .../Shader/ColorAdjustmentBleachBypass.shader | 58 + .../ColorAdjustmentBleachBypass.shader.meta | 8 + .../Effects/ColorAdjustmentBrightness.meta | 8 + .../ColorAdjustmentBrightness.cs | 62 + .../ColorAdjustmentBrightness.cs.meta | 11 + .../ColorAdjustmentBrightness/Editor.meta | 8 + .../Editor/ColorAdjustmentBrightnessEditor.cs | 45 + .../ColorAdjustmentBrightnessEditor.cs.meta | 11 + .../ColorAdjustmentBrightness/README.md | 16 + .../ColorAdjustmentBrightness/README.md.meta | 7 + .../ColorAdjustmentBrightness/Shader.meta | 8 + .../Shader/ColorAdjustmentBrightness.shader | 41 + .../ColorAdjustmentBrightness.shader.meta | 8 + .../Effects/ColorAdjustmentContrast.meta | 8 + .../ColorAdjustmentContrast.cs | 59 + .../ColorAdjustmentContrast.cs.meta | 11 + .../ColorAdjustmentContrast/Editor.meta | 8 + .../Editor/ColorAdjustmentContrastEditor.cs | 46 + .../ColorAdjustmentContrastEditor.cs.meta | 11 + .../Effects/ColorAdjustmentContrast/README.md | 16 + .../ColorAdjustmentContrast/README.md.meta | 7 + .../ColorAdjustmentContrast/Shader.meta | 8 + .../Shader/ColorAdjustmentContrast.shader | 53 + .../ColorAdjustmentContrast.shader.meta | 8 + .../Effects/ColorAdjustmentContrastV2.meta | 8 + .../ColorAdjustmentContrastV2.cs | 68 + .../ColorAdjustmentContrastV2.cs.meta | 11 + .../ColorAdjustmentContrastV2/Editor.meta | 8 + .../Editor/ColorAdjustmentContrastV2Editor.cs | 60 + .../ColorAdjustmentContrastV2Editor.cs.meta | 11 + .../ColorAdjustmentContrastV2/README.md | 16 + .../ColorAdjustmentContrastV2/README.md.meta | 7 + .../ColorAdjustmentContrastV2/Shader.meta | 8 + .../Shader/ColorAdjustmentContrastV2.shader | 51 + .../ColorAdjustmentContrastV2.shader.meta | 8 + .../Effects/ColorAdjustmentContrastV3.meta | 8 + .../ColorAdjustmentContrastV3.cs | 61 + .../ColorAdjustmentContrastV3.cs.meta | 11 + .../ColorAdjustmentContrastV3/Editor.meta | 8 + .../Editor/ColorAdjustmentContrastV3Editor.cs | 50 + .../ColorAdjustmentContrastV3Editor.cs.meta | 11 + .../ColorAdjustmentContrastV3/README.md | 16 + .../ColorAdjustmentContrastV3/README.md.meta | 7 + .../ColorAdjustmentContrastV3/Shader.meta | 8 + .../Shader/ColorAdjustmentContrastV3.shader | 49 + .../ColorAdjustmentContrastV3.shader.meta | 8 + .../Effects/ColorAdjustmentHue.meta | 8 + .../ColorAdjustmentHue/ColorAdjustmentHue.cs | 59 + .../ColorAdjustmentHue.cs.meta | 11 + .../Effects/ColorAdjustmentHue/Editor.meta | 8 + .../Editor/ColorAdjustmentHueEditor.cs | 45 + .../Editor/ColorAdjustmentHueEditor.cs.meta | 11 + .../Effects/ColorAdjustmentHue/README.md | 16 + .../Effects/ColorAdjustmentHue/README.md.meta | 7 + .../Effects/ColorAdjustmentHue/Shader.meta | 8 + .../Shader/ColorAdjustmentHue.shader | 74 + .../Shader/ColorAdjustmentHue.shader.meta | 8 + .../Effects/ColorAdjustmentLensFilter.meta | 8 + .../ColorAdjustmentLensFilter.cs | 67 + .../ColorAdjustmentLensFilter.cs.meta | 11 + .../ColorAdjustmentLensFilter/Editor.meta | 8 + .../Editor/ColorAdjustmentLensFilterEditor.cs | 49 + .../ColorAdjustmentLensFilterEditor.cs.meta | 11 + .../ColorAdjustmentLensFilter/README.md | 16 + .../ColorAdjustmentLensFilter/README.md.meta | 7 + .../ColorAdjustmentLensFilter/Shader.meta | 8 + .../Shader/ColorAdjustmentLensFilter.shader | 63 + .../ColorAdjustmentLensFilter.shader.meta | 8 + .../Effects/ColorAdjustmentSaturation.meta | 8 + .../ColorAdjustmentSaturation.cs | 59 + .../ColorAdjustmentSaturation.cs.meta | 11 + .../ColorAdjustmentSaturation/Editor.meta | 8 + .../Editor/ColorAdjustmentSaturationEditor.cs | 46 + .../ColorAdjustmentSaturationEditor.cs.meta | 11 + .../ColorAdjustmentSaturation/README.md | 16 + .../ColorAdjustmentSaturation/README.md.meta | 7 + .../ColorAdjustmentSaturation/Shader.meta | 8 + .../Shader/ColorAdjustmentSaturation.shader | 51 + .../ColorAdjustmentSaturation.shader.meta | 8 + .../Effects/ColorAdjustmentTechnicolor.meta | 8 + .../ColorAdjustmentTechnicolor.cs | 81 + .../ColorAdjustmentTechnicolor.cs.meta | 11 + .../ColorAdjustmentTechnicolor/Editor.meta | 8 + .../ColorAdjustmentTechnicolorEditor.cs | 60 + .../ColorAdjustmentTechnicolorEditor.cs.meta | 11 + .../ColorAdjustmentTechnicolor/README.md | 16 + .../ColorAdjustmentTechnicolor/README.md.meta | 7 + .../ColorAdjustmentTechnicolor/Shader.meta | 8 + .../Shader/ColorAdjustmentTechnicolor.shader | 72 + .../ColorAdjustmentTechnicolor.shader.meta | 8 + .../Effects/ColorAdjustmentTint.meta | 8 + .../ColorAdjustmentTint.cs | 61 + .../ColorAdjustmentTint.cs.meta | 11 + .../Effects/ColorAdjustmentTint/Editor.meta | 8 + .../Editor/ColorAdjustmentTintEditor.cs | 48 + .../Editor/ColorAdjustmentTintEditor.cs.meta | 11 + .../Effects/ColorAdjustmentTint/README.md | 16 + .../ColorAdjustmentTint/README.md.meta | 7 + .../Effects/ColorAdjustmentTint/Shader.meta | 8 + .../Shader/ColorAdjustmentTint.shader | 50 + .../Shader/ColorAdjustmentTint.shader.meta | 8 + .../Effects/ColorAdjustmentWhiteBalance.meta | 8 + .../ColorAdjustmentWhiteBalance.cs | 68 + .../ColorAdjustmentWhiteBalance.cs.meta | 11 + .../ColorAdjustmentWhiteBalance/Editor.meta | 8 + .../ColorAdjustmentWhiteBalanceEditor.cs | 50 + .../ColorAdjustmentWhiteBalanceEditor.cs.meta | 11 + .../ColorAdjustmentWhiteBalance/README.md | 16 + .../README.md.meta | 7 + .../ColorAdjustmentWhiteBalance/Shader.meta | 8 + .../Shader/ColorAdjustmentWhiteBalance.shader | 93 ++ .../ColorAdjustmentWhiteBalance.shader.meta | 8 + .../Effects/ColorReplace.meta | 8 + .../Effects/ColorReplace/ColorReplace.cs | 70 + .../Effects/ColorReplace/ColorReplace.cs.meta | 11 + .../Effects/ColorReplace/Editor.meta | 8 + .../ColorReplace/Editor/ColorReplaceEditor.cs | 57 + .../Editor/ColorReplaceEditor.cs.meta | 11 + .../Effects/ColorReplace/README.md | 16 + .../Effects/ColorReplace/README.md.meta | 7 + .../Effects/ColorReplace/Shader.meta | 8 + .../ColorReplace/Shader/ColorReplace.shader | 54 + .../Shader/ColorReplace.shader.meta | 8 + .../Effects/ColorReplaceV2.meta | 8 + .../Effects/ColorReplaceV2/ColorReplaceV2.cs | 94 ++ .../ColorReplaceV2/ColorReplaceV2.cs.meta | 11 + .../Effects/ColorReplaceV2/Editor.meta | 8 + .../Editor/ColorReplaceV2Editor.cs | 59 + .../Editor/ColorReplaceV2Editor.cs.meta | 11 + .../Effects/ColorReplaceV2/README.md | 16 + .../Effects/ColorReplaceV2/README.md.meta | 7 + .../Effects/ColorReplaceV2/Shader.meta | 8 + .../Shader/ColorReplaceV2.shader | 61 + .../Shader/ColorReplaceV2.shader.meta | 8 + .../Effects/DirectionalBlur.meta | 8 + .../DirectionalBlur/DirectionalBlur.cs | 98 ++ .../DirectionalBlur/DirectionalBlur.cs.meta | 11 + .../Effects/DirectionalBlur/Editor.meta | 8 + .../Editor/DirectionalBlurEditor.cs | 54 + .../Editor/DirectionalBlurEditor.cs.meta | 11 + .../Effects/DirectionalBlur/README.md | 18 + .../Effects/DirectionalBlur/README.md.meta | 7 + .../Effects/DirectionalBlur/Shader.meta | 8 + .../Shader/DirectionalBlur.shader | 61 + .../Shader/DirectionalBlur.shader.meta | 8 + .../X-PostProcessing/Effects/DualBoxBlur.meta | 8 + .../Effects/DualBoxBlur/DualBoxBlur.cs | 137 ++ .../Effects/DualBoxBlur/DualBoxBlur.cs.meta | 11 + .../Effects/DualBoxBlur/Editor.meta | 8 + .../DualBoxBlur/Editor/DualBoxBlurEditor.cs | 51 + .../Editor/DualBoxBlurEditor.cs.meta | 11 + .../Effects/DualBoxBlur/README.md | 16 + .../Effects/DualBoxBlur/README.md.meta | 7 + .../Effects/DualBoxBlur/Shader.meta | 8 + .../DualBoxBlur/Shader/DualBoxBlur.shader | 72 + .../Shader/DualBoxBlur.shader.meta | 8 + .../Effects/DualGaussianBlur.meta | 8 + .../DualGaussianBlur/DualGaussianBlur.cs | 166 +++ .../DualGaussianBlur/DualGaussianBlur.cs.meta | 11 + .../Effects/DualGaussianBlur/Editor.meta | 8 + .../Editor/DualGaussianBlurEditor.cs | 49 + .../Editor/DualGaussianBlurEditor.cs.meta | 11 + .../Effects/DualGaussianBlur/README.md | 16 + .../Effects/DualGaussianBlur/README.md.meta | 7 + .../Effects/DualGaussianBlur/Shader.meta | 8 + .../Shader/DualGaussianBlur.shader | 102 ++ .../Shader/DualGaussianBlur.shader.meta | 8 + .../Effects/DualKawaseBlur.meta | 8 + .../Effects/DualKawaseBlur/DualKawaseBlur.cs | 137 ++ .../DualKawaseBlur/DualKawaseBlur.cs.meta | 11 + .../Effects/DualKawaseBlur/Editor.meta | 8 + .../Editor/DualKawaseBlurEditor.cs | 52 + .../Editor/DualKawaseBlurEditor.cs.meta | 11 + .../Effects/DualKawaseBlur/README.md | 16 + .../Effects/DualKawaseBlur/README.md.meta | 7 + .../Effects/DualKawaseBlur/Shader.meta | 8 + .../Shader/DualKawaseBlur.shader | 147 ++ .../Shader/DualKawaseBlur.shader.meta | 8 + .../Effects/DualTentBlur.meta | 8 + .../Effects/DualTentBlur/DualTentBlur.cs | 132 ++ .../Effects/DualTentBlur/DualTentBlur.cs.meta | 11 + .../Effects/DualTentBlur/Editor.meta | 8 + .../DualTentBlur/Editor/DualTentBlurEditor.cs | 50 + .../Editor/DualTentBlurEditor.cs.meta | 11 + .../Effects/DualTentBlur/README.md | 16 + .../Effects/DualTentBlur/README.md.meta | 7 + .../Effects/DualTentBlur/Shader.meta | 8 + .../DualTentBlur/Shader/DualTentBlur.shader | 81 + .../Shader/DualTentBlur.shader.meta | 8 + .../Effects/EdgeDetectionRoberts.meta | 8 + .../EdgeDetectionRoberts.cs | 79 + .../EdgeDetectionRoberts.cs.meta | 11 + .../Effects/EdgeDetectionRoberts/Editor.meta | 8 + .../Editor/EdgeDetectionRobertsEditor.cs | 57 + .../Editor/EdgeDetectionRobertsEditor.cs.meta | 11 + .../Effects/EdgeDetectionRoberts/README.md | 20 + .../EdgeDetectionRoberts/README.md.meta | 7 + .../Effects/EdgeDetectionRoberts/Shader.meta | 8 + .../Shader/EdgeDetectionRoberts.shader | 210 +++ .../Shader/EdgeDetectionRoberts.shader.meta | 8 + .../Effects/EdgeDetectionRobertsNeon.meta | 8 + .../EdgeDetectionRobertsNeon.cs | 76 + .../EdgeDetectionRobertsNeon.cs.meta | 11 + .../EdgeDetectionRobertsNeon/Editor.meta | 8 + .../Editor/EdgeDetectionRobertsNeonEditor.cs | 59 + .../EdgeDetectionRobertsNeonEditor.cs.meta | 11 + .../EdgeDetectionRobertsNeon/README.md | 17 + .../EdgeDetectionRobertsNeon/README.md.meta | 7 + .../EdgeDetectionRobertsNeon/Shader.meta | 8 + .../Shader/EdgeDetectionRobertsNeon.shader | 95 ++ .../EdgeDetectionRobertsNeon.shader.meta | 8 + .../Effects/EdgeDetectionRobertsNeonV2.meta | 8 + .../EdgeDetectionRobertsNeonV2.cs | 78 + .../EdgeDetectionRobertsNeonV2.cs.meta | 11 + .../EdgeDetectionRobertsNeonV2/Editor.meta | 8 + .../EdgeDetectionRobertsNeonV2Editor.cs | 61 + .../EdgeDetectionRobertsNeonV2Editor.cs.meta | 11 + .../EdgeDetectionRobertsNeonV2/README.md | 17 + .../EdgeDetectionRobertsNeonV2/README.md.meta | 7 + .../EdgeDetectionRobertsNeonV2/Shader.meta | 8 + .../Shader/EdgeDetectionRobertsNeonV2.shader | 87 ++ .../EdgeDetectionRobertsNeonV2.shader.meta | 8 + .../Effects/EdgeDetectionScharr.meta | 8 + .../EdgeDetectionScharr.cs | 78 + .../EdgeDetectionScharr.cs.meta | 11 + .../Effects/EdgeDetectionScharr/Editor.meta | 8 + .../Editor/EdgeDetectionScharrEditor.cs | 58 + .../Editor/EdgeDetectionScharrEditor.cs.meta | 11 + .../Effects/EdgeDetectionScharr/README.md | 20 + .../EdgeDetectionScharr/README.md.meta | 7 + .../Effects/EdgeDetectionScharr/Shader.meta | 8 + .../Shader/EdgeDetectionScharr.shader | 98 ++ .../Shader/EdgeDetectionScharr.shader.meta | 8 + .../Effects/EdgeDetectionScharrNeon.meta | 8 + .../EdgeDetectionScharrNeon.cs | 75 + .../EdgeDetectionScharrNeon.cs.meta | 11 + .../EdgeDetectionScharrNeon/Editor.meta | 8 + .../Editor/EdgeDetectionScharrNeonEditor.cs | 60 + .../EdgeDetectionScharrNeonEditor.cs.meta | 11 + .../Effects/EdgeDetectionScharrNeon/README.md | 17 + .../EdgeDetectionScharrNeon/README.md.meta | 7 + .../EdgeDetectionScharrNeon/Shader.meta | 8 + .../Shader/EdgeDetectionScharrNeon.shader | 97 ++ .../EdgeDetectionScharrNeon.shader.meta | 8 + .../Effects/EdgeDetectionScharrNeonV2.meta | 8 + .../EdgeDetectionScharrNeonV2.cs | 77 + .../EdgeDetectionScharrNeonV2.cs.meta | 11 + .../EdgeDetectionScharrNeonV2/Editor.meta | 8 + .../Editor/EdgeDetectionScharrNeonV2Editor.cs | 61 + .../EdgeDetectionScharrNeonV2Editor.cs.meta | 11 + .../EdgeDetectionScharrNeonV2/README.md | 17 + .../EdgeDetectionScharrNeonV2/README.md.meta | 7 + .../EdgeDetectionScharrNeonV2/Shader.meta | 8 + .../Shader/EdgeDetectionScharrNeonV2.shader | 88 ++ .../EdgeDetectionScharrNeonV2.shader.meta | 8 + .../Effects/EdgeDetectionSobel.meta | 8 + .../EdgeDetectionSobel/EdgeDetectionSobel.cs | 78 + .../EdgeDetectionSobel.cs.meta | 11 + .../Effects/EdgeDetectionSobel/Editor.meta | 8 + .../Editor/EdgeDetectionSobelEditor.cs | 57 + .../Editor/EdgeDetectionSobelEditor.cs.meta | 11 + .../Effects/EdgeDetectionSobel/README.md | 20 + .../Effects/EdgeDetectionSobel/README.md.meta | 7 + .../Effects/EdgeDetectionSobel/Shader.meta | 8 + .../Shader/EdgeDetectionSobel.shader | 95 ++ .../Shader/EdgeDetectionSobel.shader.meta | 8 + .../Effects/EdgeDetectionSobelNeon.meta | 8 + .../EdgeDetectionSobelNeon.cs | 75 + .../EdgeDetectionSobelNeon.cs.meta | 11 + .../EdgeDetectionSobelNeon/Editor.meta | 8 + .../Editor/EdgeDetectionSobelNeonEditor.cs | 61 + .../EdgeDetectionSobelNeonEditor.cs.meta | 11 + .../Effects/EdgeDetectionSobelNeon/README.md | 17 + .../EdgeDetectionSobelNeon/README.md.meta | 7 + .../EdgeDetectionSobelNeon/Shader.meta | 8 + .../Shader/EdgeDetectionSobelNeon.shader | 96 ++ .../Shader/EdgeDetectionSobelNeon.shader.meta | 8 + .../Effects/EdgeDetectionSobelNeonV2.meta | 8 + .../EdgeDetectionSobelNeonV2.cs | 78 + .../EdgeDetectionSobelNeonV2.cs.meta | 11 + .../EdgeDetectionSobelNeonV2/Editor.meta | 8 + .../Editor/EdgeDetectionSobelNeonV2Editor.cs | 62 + .../EdgeDetectionSobelNeonV2Editor.cs.meta | 11 + .../EdgeDetectionSobelNeonV2/README.md | 18 + .../EdgeDetectionSobelNeonV2/README.md.meta | 7 + .../EdgeDetectionSobelNeonV2/Shader.meta | 8 + .../Shader/EdgeDetectionSobelNeonV2.shader | 93 ++ .../EdgeDetectionSobelNeonV2.shader.meta | 8 + .../Effects/GaussianBlur.meta | 8 + .../Effects/GaussianBlur/Editor.meta | 8 + .../GaussianBlur/Editor/GaussianBlurEditor.cs | 51 + .../Editor/GaussianBlurEditor.cs.meta | 11 + .../Effects/GaussianBlur/GaussianBlur.cs | 98 ++ .../Effects/GaussianBlur/GaussianBlur.cs.meta | 11 + .../Effects/GaussianBlur/README.md | 16 + .../Effects/GaussianBlur/README.md.meta | 7 + .../Effects/GaussianBlur/Shader.meta | 8 + .../GaussianBlur/Shader/GaussianBlur.shader | 100 ++ .../Shader/GaussianBlur.shader.meta | 8 + .../Effects/GlitchAnalogNoise.meta | 8 + .../Effects/GlitchAnalogNoise/Editor.meta | 8 + .../Editor/GlitchAnalogNoiseEditor.cs | 52 + .../Editor/GlitchAnalogNoiseEditor.cs.meta | 11 + .../GlitchAnalogNoise/GlitchAnalogNoise.cs | 79 + .../GlitchAnalogNoise.cs.meta | 11 + .../Effects/GlitchAnalogNoise/README.md | 17 + .../Effects/GlitchAnalogNoise/README.md.meta | 7 + .../Effects/GlitchAnalogNoise/Shader.meta | 8 + .../Shader/GlitchAnalogNoise.shader | 78 + .../Shader/GlitchAnalogNoise.shader.meta | 8 + .../Effects/GlitchDigitalStripe.meta | 8 + .../Effects/GlitchDigitalStripe/Editor.meta | 8 + .../Editor/GlitchDigitalStripeEditor.cs | 78 + .../Editor/GlitchDigitalStripeEditor.cs.meta | 11 + .../GlitchDigitalStripe.cs | 151 ++ .../GlitchDigitalStripe.cs.meta | 11 + .../Effects/GlitchDigitalStripe/README.md | 19 + .../GlitchDigitalStripe/README.md.meta | 7 + .../Effects/GlitchDigitalStripe/Shader.meta | 8 + .../Shader/GlitchDigitalStripe.shader | 70 + .../Shader/GlitchDigitalStripe.shader.meta | 8 + .../Effects/GlitchImageBlock.meta | 8 + .../Effects/GlitchImageBlock/Editor.meta | 8 + .../Editor/GlitchImageBlockEditor.cs | 92 ++ .../Editor/GlitchImageBlockEditor.cs.meta | 11 + .../GlitchImageBlock/GlitchImageBlock.cs | 116 ++ .../GlitchImageBlock/GlitchImageBlock.cs.meta | 11 + .../Effects/GlitchImageBlock/README.md | 17 + .../Effects/GlitchImageBlock/README.md.meta | 7 + .../Effects/GlitchImageBlock/Shader.meta | 8 + .../Shader/GlitchImageBlock.shader | 118 ++ .../Shader/GlitchImageBlock.shader.meta | 8 + .../Effects/GlitchImageBlockV2.meta | 8 + .../Effects/GlitchImageBlockV2/Editor.meta | 8 + .../Editor/GlitchImageBlockV2Editor.cs | 72 + .../Editor/GlitchImageBlockV2Editor.cs.meta | 11 + .../GlitchImageBlockV2/GlitchImageBlockV2.cs | 116 ++ .../GlitchImageBlockV2.cs.meta | 11 + .../Effects/GlitchImageBlockV2/README.md | 15 + .../Effects/GlitchImageBlockV2/README.md.meta | 7 + .../Effects/GlitchImageBlockV2/Shader.meta | 8 + .../Shader/GlitchImageBlockV2.shader | 101 ++ .../Shader/GlitchImageBlockV2.shader.meta | 8 + .../Effects/GlitchImageBlockV3.meta | 8 + .../Effects/GlitchImageBlockV3/Editor.meta | 8 + .../Editor/GlitchImageBlockV3Editor.cs | 49 + .../Editor/GlitchImageBlockV3Editor.cs.meta | 11 + .../GlitchImageBlockV3/GlitchImageBlockV3.cs | 68 + .../GlitchImageBlockV3.cs.meta | 11 + .../Effects/GlitchImageBlockV3/README.md | 15 + .../Effects/GlitchImageBlockV3/README.md.meta | 7 + .../Effects/GlitchImageBlockV3/Shader.meta | 8 + .../Shader/GlitchImageBlockV3.shader | 66 + .../Shader/GlitchImageBlockV3.shader.meta | 8 + .../Effects/GlitchImageBlockV4.meta | 8 + .../Effects/GlitchImageBlockV4/Editor.meta | 8 + .../Editor/GlitchImageBlockV4Editor.cs | 58 + .../Editor/GlitchImageBlockV4Editor.cs.meta | 11 + .../GlitchImageBlockV4/GlitchImageBlockV4.cs | 75 + .../GlitchImageBlockV4.cs.meta | 11 + .../Effects/GlitchImageBlockV4/README.md | 15 + .../Effects/GlitchImageBlockV4/README.md.meta | 7 + .../Effects/GlitchImageBlockV4/Shader.meta | 8 + .../Shader/GlitchImageBlockV4.shader | 72 + .../Shader/GlitchImageBlockV4.shader.meta | 8 + .../Effects/GlitchLineBlock.meta | 8 + .../Effects/GlitchLineBlock/Editor.meta | 8 + .../Editor/GlitchLineBlockEditor.cs | 74 + .../Editor/GlitchLineBlockEditor.cs.meta | 11 + .../GlitchLineBlock/GlitchLineBlock.cs | 126 ++ .../GlitchLineBlock/GlitchLineBlock.cs.meta | 11 + .../Effects/GlitchLineBlock/README.md | 19 + .../Effects/GlitchLineBlock/README.md.meta | 7 + .../Effects/GlitchLineBlock/Shader.meta | 8 + .../Shader/GlitchLineBlock.shader | 185 +++ .../Shader/GlitchLineBlock.shader.meta | 8 + .../Effects/GlitchRGBSplit.meta | 8 + .../Effects/GlitchRGBSplit/Editor.meta | 8 + .../Editor/GlitchRGBSplitEditor.cs | 68 + .../Editor/GlitchRGBSplitEditor.cs.meta | 11 + .../Effects/GlitchRGBSplit/GlitchRGBSplit.cs | 95 ++ .../GlitchRGBSplit/GlitchRGBSplit.cs.meta | 11 + .../Effects/GlitchRGBSplit/README.md | 17 + .../Effects/GlitchRGBSplit/README.md.meta | 7 + .../Effects/GlitchRGBSplit/Shader.meta | 8 + .../Shader/GlitchRGBSplit.shader | 148 ++ .../Shader/GlitchRGBSplit.shader.meta | 8 + .../Effects/GlitchRGBSplitV2.meta | 8 + .../Effects/GlitchRGBSplitV2/Editor.meta | 8 + .../Editor/GlitchRGBSplitV2Editor.cs | 57 + .../Editor/GlitchRGBSplitV2Editor.cs.meta | 11 + .../GlitchRGBSplitV2/GlitchRGBSplitV2.cs | 81 + .../GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta | 11 + .../Effects/GlitchRGBSplitV2/README.md | 17 + .../Effects/GlitchRGBSplitV2/README.md.meta | 7 + .../Effects/GlitchRGBSplitV2/Shader.meta | 8 + .../Shader/GlitchRGBSplitV2.shader | 123 ++ .../Shader/GlitchRGBSplitV2.shader.meta | 8 + .../Effects/GlitchRGBSplitV3.meta | 8 + .../Effects/GlitchRGBSplitV3/Editor.meta | 8 + .../Editor/GlitchRGBSplitV3Editor.cs | 67 + .../Editor/GlitchRGBSplitV3Editor.cs.meta | 11 + .../GlitchRGBSplitV3/GlitchRGBSplitV3.cs | 106 ++ .../GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta | 11 + .../Effects/GlitchRGBSplitV3/README.md | 17 + .../Effects/GlitchRGBSplitV3/README.md.meta | 7 + .../Effects/GlitchRGBSplitV3/Shader.meta | 8 + .../Shader/GlitchRGBSplitV3.shader | 154 ++ .../Shader/GlitchRGBSplitV3.shader.meta | 8 + .../Effects/GlitchRGBSplitV4.meta | 8 + .../Effects/GlitchRGBSplitV4/Editor.meta | 8 + .../Editor/GlitchRGBSplitV4Editor.cs | 52 + .../Editor/GlitchRGBSplitV4Editor.cs.meta | 11 + .../GlitchRGBSplitV4/GlitchRGBSplitV4.cs | 80 + .../GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta | 11 + .../Effects/GlitchRGBSplitV4/README.md | 17 + .../Effects/GlitchRGBSplitV4/README.md.meta | 7 + .../Effects/GlitchRGBSplitV4/Shader.meta | 8 + .../Shader/GlitchRGBSplitV4.shader | 106 ++ .../Shader/GlitchRGBSplitV4.shader.meta | 8 + .../Effects/GlitchRGBSplitV5.meta | 8 + .../Effects/GlitchRGBSplitV5/Editor.meta | 8 + .../Editor/GlitchRGBSplitV5Editor.cs | 49 + .../Editor/GlitchRGBSplitV5Editor.cs.meta | 11 + .../GlitchRGBSplitV5/GlitchRGBSplitV5.cs | 77 + .../GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta | 11 + .../Effects/GlitchRGBSplitV5/README.md | 17 + .../Effects/GlitchRGBSplitV5/README.md.meta | 7 + .../Effects/GlitchRGBSplitV5/Shader.meta | 8 + .../Shader/GlitchRGBSplitV5.shader | 70 + .../Shader/GlitchRGBSplitV5.shader.meta | 8 + .../Effects/GlitchScanLineJitter.meta | 8 + .../Effects/GlitchScanLineJitter/Editor.meta | 8 + .../Editor/GlitchScanLineJitterEditor.cs | 56 + .../Editor/GlitchScanLineJitterEditor.cs.meta | 11 + .../GlitchScanLineJitter.cs | 101 ++ .../GlitchScanLineJitter.cs.meta | 11 + .../Effects/GlitchScanLineJitter/README.md | 18 + .../GlitchScanLineJitter/README.md.meta | 7 + .../Effects/GlitchScanLineJitter/Shader.meta | 8 + .../Shader/GlitchScanLineJitter.shader | 99 ++ .../Shader/GlitchScanLineJitter.shader.meta | 8 + .../Effects/GlitchScreenJump.meta | 8 + .../Effects/GlitchScreenJump/Editor.meta | 8 + .../Editor/GlitchScreenJumpEditor.cs | 48 + .../Editor/GlitchScreenJumpEditor.cs.meta | 11 + .../GlitchScreenJump/GlitchScreenJump.cs | 68 + .../GlitchScreenJump/GlitchScreenJump.cs.meta | 11 + .../Effects/GlitchScreenJump/README.md | 19 + .../Effects/GlitchScreenJump/README.md.meta | 7 + .../Effects/GlitchScreenJump/Shader.meta | 8 + .../Shader/GlitchScreenJump.shader | 67 + .../Shader/GlitchScreenJump.shader.meta | 8 + .../Effects/GlitchScreenShake.meta | 8 + .../Effects/GlitchScreenShake/Editor.meta | 8 + .../Editor/GlitchScreenShakeEditor.cs | 48 + .../Editor/GlitchScreenShakeEditor.cs.meta | 11 + .../GlitchScreenShake/GlitchScreenShake.cs | 60 + .../GlitchScreenShake.cs.meta | 11 + .../Effects/GlitchScreenShake/README.md | 19 + .../Effects/GlitchScreenShake/README.md.meta | 7 + .../Effects/GlitchScreenShake/Shader.meta | 8 + .../Shader/GlitchScreenShake.shader | 77 + .../Shader/GlitchScreenShake.shader.meta | 8 + .../Effects/GlitchTileJitter.meta | 8 + .../Effects/GlitchTileJitter/Editor.meta | 8 + .../Editor/GlitchTileJitterEditor.cs | 72 + .../Editor/GlitchTileJitterEditor.cs.meta | 11 + .../GlitchTileJitter/GlitchTileJitter.cs | 111 ++ .../GlitchTileJitter/GlitchTileJitter.cs.meta | 11 + .../Effects/GlitchTileJitter/README.md | 23 + .../Effects/GlitchTileJitter/README.md.meta | 7 + .../Effects/GlitchTileJitter/Shader.meta | 8 + .../Shader/GlitchTileJitter.shader | 118 ++ .../Shader/GlitchTileJitter.shader.meta | 8 + .../Effects/GlitchWaveJitter.meta | 8 + .../Effects/GlitchWaveJitter/Editor.meta | 8 + .../Editor/GlitchWaveJitterEditor.cs | 80 + .../Editor/GlitchWaveJitterEditor.cs.meta | 11 + .../GlitchWaveJitter/GlitchWaveJitter.cs | 108 ++ .../GlitchWaveJitter/GlitchWaveJitter.cs.meta | 11 + .../Effects/GlitchWaveJitter/README.md | 19 + .../Effects/GlitchWaveJitter/README.md.meta | 7 + .../Effects/GlitchWaveJitter/Shader.meta | 8 + .../Shader/GlitchWaveJitter.shader | 109 ++ .../Shader/GlitchWaveJitter.shader.meta | 8 + .../X-PostProcessing/Effects/GrainyBlur.meta | 8 + .../Effects/GrainyBlur/Editor.meta | 8 + .../GrainyBlur/Editor/GrainyBlurEditor.cs | 51 + .../Editor/GrainyBlurEditor.cs.meta | 11 + .../Effects/GrainyBlur/GrainyBlur.cs | 88 ++ .../Effects/GrainyBlur/GrainyBlur.cs.meta | 11 + .../Effects/GrainyBlur/README.md | 16 + .../Effects/GrainyBlur/README.md.meta | 7 + .../Effects/GrainyBlur/Shader.meta | 8 + .../GrainyBlur/Shader/GrainyBlur.shader | 72 + .../GrainyBlur/Shader/GrainyBlur.shader.meta | 8 + Assets/X-PostProcessing/Effects/IrisBlur.meta | 8 + .../Effects/IrisBlur/Editor.meta | 8 + .../Effects/IrisBlur/Editor/IrisBlurEditor.cs | 56 + .../IrisBlur/Editor/IrisBlurEditor.cs.meta | 11 + .../Effects/IrisBlur/IrisBlur.cs | 158 ++ .../Effects/IrisBlur/IrisBlur.cs.meta | 11 + .../Effects/IrisBlur/README.md | 15 + .../Effects/IrisBlur/README.md.meta | 7 + .../Effects/IrisBlur/Shader.meta | 8 + .../Effects/IrisBlur/Shader/IrisBlur.shader | 183 +++ .../IrisBlur/Shader/IrisBlur.shader.meta | 8 + .../X-PostProcessing/Effects/IrisBlurV2.meta | 8 + .../Effects/IrisBlurV2/Editor.meta | 8 + .../IrisBlurV2/Editor/IrisBlurV2Editor.cs | 65 + .../Editor/IrisBlurV2Editor.cs.meta | 11 + .../Effects/IrisBlurV2/IrisBlurV2.cs | 88 ++ .../Effects/IrisBlurV2/IrisBlurV2.cs.meta | 11 + .../Effects/IrisBlurV2/README.md | 18 + .../Effects/IrisBlurV2/README.md.meta | 7 + .../Effects/IrisBlurV2/Shader.meta | 8 + .../IrisBlurV2/Shader/IrisBlurV2.shader | 101 ++ .../IrisBlurV2/Shader/IrisBlurV2.shader.meta | 8 + .../X-PostProcessing/Effects/KawaseBlur.meta | 8 + .../Effects/KawaseBlur/Editor.meta | 8 + .../KawaseBlur/Editor/KawaseBlurEditor.cs | 51 + .../Editor/KawaseBlurEditor.cs.meta | 11 + .../Effects/KawaseBlur/KawaseBlur.cs | 99 ++ .../Effects/KawaseBlur/KawaseBlur.cs.meta | 11 + .../Effects/KawaseBlur/README.md | 16 + .../Effects/KawaseBlur/README.md.meta | 7 + .../Effects/KawaseBlur/Shader.meta | 8 + .../KawaseBlur/Shader/KawaseBlur.shader | 57 + .../KawaseBlur/Shader/KawaseBlur.shader.meta | 8 + .../Effects/PixelizeCircle.meta | 8 + .../Effects/PixelizeCircle/Editor.meta | 8 + .../Editor/PixelizeCircleEditor.cs | 57 + .../Editor/PixelizeCircleEditor.cs.meta | 11 + .../Effects/PixelizeCircle/PixelizeCircle.cs | 76 + .../PixelizeCircle/PixelizeCircle.cs.meta | 11 + .../Effects/PixelizeCircle/README.md | 16 + .../Effects/PixelizeCircle/README.md.meta | 7 + .../Effects/PixelizeCircle/Shader.meta | 8 + .../Shader/PixelizeCircle.shader | 75 + .../Shader/PixelizeCircle.shader.meta | 8 + .../Effects/PixelizeDiamond.meta | 8 + .../Effects/PixelizeDiamond/Editor.meta | 8 + .../Editor/PixelizeDiamondEditor.cs | 43 + .../Editor/PixelizeDiamondEditor.cs.meta | 11 + .../PixelizeDiamond/PixelizeDiamond.cs | 61 + .../PixelizeDiamond/PixelizeDiamond.cs.meta | 11 + .../Effects/PixelizeDiamond/README.md | 16 + .../Effects/PixelizeDiamond/README.md.meta | 7 + .../Effects/PixelizeDiamond/Shader.meta | 8 + .../Shader/PixelizeDiamond.shader | 68 + .../Shader/PixelizeDiamond.shader.meta | 8 + .../Effects/PixelizeHexagon.meta | 8 + .../Effects/PixelizeHexagon/Editor.meta | 8 + .../Editor/PixelizeHexagonEditor.cs | 61 + .../Editor/PixelizeHexagonEditor.cs.meta | 11 + .../PixelizeHexagon/PixelizeHexagon.cs | 94 ++ .../PixelizeHexagon/PixelizeHexagon.cs.meta | 11 + .../Effects/PixelizeHexagon/README.md | 16 + .../Effects/PixelizeHexagon/README.md.meta | 7 + .../Effects/PixelizeHexagon/Shader.meta | 8 + .../Shader/PixelizeHexagon.shader | 158 ++ .../Shader/PixelizeHexagon.shader.meta | 8 + .../Effects/PixelizeHexagonGrid.meta | 8 + .../Effects/PixelizeHexagonGrid/Editor.meta | 8 + .../Editor/PixelizeHexagonGridEditor.cs | 57 + .../Editor/PixelizeHexagonGridEditor.cs.meta | 11 + .../PixelizeHexagonGrid.cs | 78 + .../PixelizeHexagonGrid.cs.meta | 11 + .../Effects/PixelizeHexagonGrid/README.md | 18 + .../PixelizeHexagonGrid/README.md.meta | 7 + .../Effects/PixelizeHexagonGrid/Shader.meta | 8 + .../Shader/PixelizeHexagonGrid.shader | 165 +++ .../Shader/PixelizeHexagonGrid.shader.meta | 8 + .../Effects/PixelizeLeaf.meta | 8 + .../Effects/PixelizeLeaf/Editor.meta | 8 + .../PixelizeLeaf/Editor/PixelizeLeafEditor.cs | 62 + .../Editor/PixelizeLeafEditor.cs.meta | 11 + .../Effects/PixelizeLeaf/PixelizeLeaf.cs | 83 ++ .../Effects/PixelizeLeaf/PixelizeLeaf.cs.meta | 11 + .../Effects/PixelizeLeaf/README.md | 18 + .../Effects/PixelizeLeaf/README.md.meta | 7 + .../Effects/PixelizeLeaf/Shader.meta | 8 + .../PixelizeLeaf/Shader/PixelizeLeaf.shader | 64 + .../Shader/PixelizeLeaf.shader.meta | 8 + .../X-PostProcessing/Effects/PixelizeLed.meta | 8 + .../Effects/PixelizeLed/Editor.meta | 8 + .../PixelizeLed/Editor/PixelizeLedEditor.cs | 64 + .../Editor/PixelizeLedEditor.cs.meta | 11 + .../Effects/PixelizeLed/PixelizeLed.cs | 89 ++ .../Effects/PixelizeLed/PixelizeLed.cs.meta | 11 + .../Effects/PixelizeLed/README.md | 18 + .../Effects/PixelizeLed/README.md.meta | 7 + .../Effects/PixelizeLed/Shader.meta | 8 + .../PixelizeLed/Shader/PixelizeLed.shader | 75 + .../Shader/PixelizeLed.shader.meta | 8 + .../Effects/PixelizeQuad.meta | 8 + .../Effects/PixelizeQuad/Editor.meta | 8 + .../PixelizeQuad/Editor/PixelizeQuadEditor.cs | 63 + .../Editor/PixelizeQuadEditor.cs.meta | 11 + .../Effects/PixelizeQuad/PixelizeQuad.cs | 86 ++ .../Effects/PixelizeQuad/PixelizeQuad.cs.meta | 11 + .../Effects/PixelizeQuad/README.md | 16 + .../Effects/PixelizeQuad/README.md.meta | 7 + .../Effects/PixelizeQuad/Shader.meta | 8 + .../PixelizeQuad/Shader/PixelizeQuad.shader | 59 + .../Shader/PixelizeQuad.shader.meta | 8 + .../Effects/PixelizeSector.meta | 8 + .../Effects/PixelizeSector/Editor.meta | 8 + .../Editor/PixelizeSectorEditor.cs | 57 + .../Editor/PixelizeSectorEditor.cs.meta | 11 + .../Effects/PixelizeSector/PixelizeSector.cs | 75 + .../PixelizeSector/PixelizeSector.cs.meta | 11 + .../Effects/PixelizeSector/README.md | 16 + .../Effects/PixelizeSector/README.md.meta | 7 + .../Effects/PixelizeSector/Shader.meta | 8 + .../Shader/PixelizeSector.shader | 74 + .../Shader/PixelizeSector.shader.meta | 8 + .../Effects/PixelizeTriangle.meta | 8 + .../Effects/PixelizeTriangle/Editor.meta | 8 + .../Editor/PixelizeTriangleEditor.cs | 62 + .../Editor/PixelizeTriangleEditor.cs.meta | 11 + .../PixelizeTriangle/PixelizeTriangle.cs | 83 ++ .../PixelizeTriangle/PixelizeTriangle.cs.meta | 11 + .../Effects/PixelizeTriangle/README.md | 16 + .../Effects/PixelizeTriangle/README.md.meta | 7 + .../Effects/PixelizeTriangle/Shader.meta | 8 + .../Shader/PixelizeTriangle.shader | 66 + .../Shader/PixelizeTriangle.shader.meta | 8 + .../X-PostProcessing/Effects/RadialBlur.meta | 8 + .../Effects/RadialBlur/Editor.meta | 8 + .../RadialBlur/Editor/RadialBlurEditor.cs | 57 + .../Editor/RadialBlurEditor.cs.meta | 11 + .../Effects/RadialBlur/README.md | 16 + .../Effects/RadialBlur/README.md.meta | 7 + .../Effects/RadialBlur/RadialBlur.cs | 70 + .../Effects/RadialBlur/RadialBlur.cs.meta | 11 + .../Effects/RadialBlur/Shader.meta | 8 + .../RadialBlur/Shader/RadialBlur.shader | 63 + .../RadialBlur/Shader/RadialBlur.shader.meta | 8 + .../Effects/RadialBlurV2.meta | 8 + .../Effects/RadialBlurV2/Editor.meta | 8 + .../RadialBlurV2/Editor/RadialBlurV2Editor.cs | 57 + .../Editor/RadialBlurV2Editor.cs.meta | 11 + .../Effects/RadialBlurV2/README.md | 16 + .../Effects/RadialBlurV2/README.md.meta | 7 + .../Effects/RadialBlurV2/RadialBlurV2.cs | 83 ++ .../Effects/RadialBlurV2/RadialBlurV2.cs.meta | 11 + .../Effects/RadialBlurV2/Shader.meta | 8 + .../RadialBlurV2/Shader/RadialBlurV2.shader | 458 ++++++ .../Shader/RadialBlurV2.shader.meta | 8 + .../Effects/RapidOldTVVignette.meta | 8 + .../Effects/RapidOldTVVignette/Editor.meta | 8 + .../Editor/RapidOldTVVignetteEditor.cs | 47 + .../Editor/RapidOldTVVignetteEditor.cs.meta | 11 + .../Effects/RapidOldTVVignette/README.md | 16 + .../Effects/RapidOldTVVignette/README.md.meta | 7 + .../RapidOldTVVignette/RapidOldTVVignette.cs | 59 + .../RapidOldTVVignette.cs.meta | 11 + .../Effects/RapidOldTVVignette/Shader.meta | 8 + .../Shader/RapidOldTVVignette.shader | 98 ++ .../Shader/RapidOldTVVignette.shader.meta | 8 + .../Effects/RapidOldTVVignetteV2.meta | 8 + .../Effects/RapidOldTVVignetteV2/Editor.meta | 8 + .../Editor/RapidOldTVVignetteV2Editor.cs | 55 + .../Editor/RapidOldTVVignetteV2Editor.cs.meta | 11 + .../Effects/RapidOldTVVignetteV2/README.md | 16 + .../RapidOldTVVignetteV2/README.md.meta | 7 + .../RapidOldTVVignetteV2.cs | 69 + .../RapidOldTVVignetteV2.cs.meta | 11 + .../Effects/RapidOldTVVignetteV2/Shader.meta | 8 + .../Shader/RapidOldTVVignetteV2.shader | 70 + .../Shader/RapidOldTVVignetteV2.shader.meta | 8 + .../Effects/RapidVignette.meta | 8 + .../Effects/RapidVignette/Editor.meta | 8 + .../Editor/RapidVignetteEditor.cs | 59 + .../Editor/RapidVignetteEditor.cs.meta | 11 + .../Effects/RapidVignette/README.md | 16 + .../Effects/RapidVignette/README.md.meta | 7 + .../Effects/RapidVignette/RapidVignette.cs | 82 ++ .../RapidVignette/RapidVignette.cs.meta | 11 + .../Effects/RapidVignette/Shader.meta | 8 + .../RapidVignette/Shader/RapidVignette.shader | 97 ++ .../Shader/RapidVignette.shader.meta | 8 + .../Effects/RapidVignetteV2.meta | 8 + .../Effects/RapidVignetteV2/Editor.meta | 8 + .../Editor/RapidVignetteV2Editor.cs | 52 + .../Editor/RapidVignetteV2Editor.cs.meta | 11 + .../Effects/RapidVignetteV2/README.md | 16 + .../Effects/RapidVignetteV2/README.md.meta | 7 + .../RapidVignetteV2/RapidVignetteV2.cs | 77 + .../RapidVignetteV2/RapidVignetteV2.cs.meta | 11 + .../Effects/RapidVignetteV2/Shader.meta | 8 + .../Shader/RapidVignetteV2.shader | 85 ++ .../Shader/RapidVignetteV2.shader.meta | 8 + .../X-PostProcessing/Effects/SharpenV1.meta | 8 + .../Effects/SharpenV1/Editor.meta | 8 + .../SharpenV1/Editor/SharpenV1Editor.cs | 48 + .../SharpenV1/Editor/SharpenV1Editor.cs.meta | 11 + .../Effects/SharpenV1/README.md | 16 + .../Effects/SharpenV1/README.md.meta | 7 + .../Effects/SharpenV1/Shader.meta | 8 + .../Effects/SharpenV1/Shader/SharpenV1.shader | 61 + .../SharpenV1/Shader/SharpenV1.shader.meta | 8 + .../Effects/SharpenV1/SharpenV1.cs | 67 + .../Effects/SharpenV1/SharpenV1.cs.meta | 11 + .../X-PostProcessing/Effects/SharpenV2.meta | 8 + .../Effects/SharpenV2/Editor.meta | 8 + .../SharpenV2/Editor/SharpenV2Editor.cs | 45 + .../SharpenV2/Editor/SharpenV2Editor.cs.meta | 11 + .../Effects/SharpenV2/README.md | 17 + .../Effects/SharpenV2/README.md.meta | 7 + .../Effects/SharpenV2/Shader.meta | 8 + .../Effects/SharpenV2/Shader/SharpenV2.shader | 57 + .../SharpenV2/Shader/SharpenV2.shader.meta | 8 + .../Effects/SharpenV2/SharpenV2.cs | 61 + .../Effects/SharpenV2/SharpenV2.cs.meta | 11 + .../X-PostProcessing/Effects/SharpenV3.meta | 8 + .../Effects/SharpenV3/Editor.meta | 8 + .../SharpenV3/Editor/SharpenV3Editor.cs | 43 + .../SharpenV3/Editor/SharpenV3Editor.cs.meta | 11 + .../Effects/SharpenV3/README.md | 17 + .../Effects/SharpenV3/README.md.meta | 7 + .../Effects/SharpenV3/Shader.meta | 8 + .../Effects/SharpenV3/Shader/SharpenV3.shader | 73 + .../SharpenV3/Shader/SharpenV3.shader.meta | 8 + .../Effects/SharpenV3/SharpenV3.cs | 65 + .../Effects/SharpenV3/SharpenV3.cs.meta | 11 + Assets/X-PostProcessing/Effects/TentBlur.meta | 8 + .../Effects/TentBlur/Editor.meta | 8 + .../Effects/TentBlur/Editor/TentBlurEditor.cs | 48 + .../TentBlur/Editor/TentBlurEditor.cs.meta | 11 + .../Effects/TentBlur/README.md | 16 + .../Effects/TentBlur/README.md.meta | 7 + .../Effects/TentBlur/Shader.meta | 8 + .../Effects/TentBlur/Shader/TentBlur.shader | 79 + .../TentBlur/Shader/TentBlur.shader.meta | 8 + .../Effects/TentBlur/TentBlur.cs | 102 ++ .../Effects/TentBlur/TentBlur.cs.meta | 11 + .../Effects/TiltShiftBlur.meta | 8 + .../Effects/TiltShiftBlur/Editor.meta | 8 + .../Editor/TiltShiftBlurEditor.cs | 56 + .../Editor/TiltShiftBlurEditor.cs.meta | 11 + .../Effects/TiltShiftBlur/README.md | 16 + .../Effects/TiltShiftBlur/README.md.meta | 7 + .../Effects/TiltShiftBlur/Shader.meta | 8 + .../TiltShiftBlur/Shader/TiltShiftBlur.shader | 184 +++ .../Shader/TiltShiftBlur.shader.meta | 8 + .../Effects/TiltShiftBlur/TiltShiftBlur.cs | 160 ++ .../TiltShiftBlur/TiltShiftBlur.cs.meta | 11 + .../Effects/TiltShiftBlurV2.meta | 8 + .../Effects/TiltShiftBlurV2/Editor.meta | 8 + .../Editor/TiltShiftBlurV2Editor.cs | 67 + .../Editor/TiltShiftBlurV2Editor.cs.meta | 11 + .../Effects/TiltShiftBlurV2/README.md | 18 + .../Effects/TiltShiftBlurV2/README.md.meta | 7 + .../Effects/TiltShiftBlurV2/Shader.meta | 8 + .../Shader/TiltShiftBlurV2.shader | 105 ++ .../Shader/TiltShiftBlurV2.shader.meta | 8 + .../TiltShiftBlurV2/TiltShiftBlurV2.cs | 89 ++ .../TiltShiftBlurV2/TiltShiftBlurV2.cs.meta | 11 + Assets/X-PostProcessing/LICENSE | 21 + Assets/X-PostProcessing/LICENSE.meta | 7 + Assets/X-PostProcessing/Profiles.meta | 8 + .../X-PostProcessing ExampleProfiles.asset | 508 +++++++ ...-PostProcessing ExampleProfiles.asset.meta | 8 + Assets/X-PostProcessing/README.md | 192 +++ Assets/X-PostProcessing/README.md.meta | 7 + Assets/X-PostProcessing/Resources.meta | 8 + .../X-PostProcessing/Resources/X-Noise256.png | Bin 0 -> 264082 bytes .../Resources/X-Noise256.png.meta | 76 + Assets/X-PostProcessing/Shaders.meta | 8 + Assets/X-PostProcessing/Shaders/ACES.hlsl | 1309 +++++++++++++++++ .../X-PostProcessing/Shaders/ACES.hlsl.meta | 8 + Assets/X-PostProcessing/Shaders/API.meta | 8 + .../X-PostProcessing/Shaders/API/D3D11.hlsl | 52 + .../Shaders/API/D3D11.hlsl.meta | 9 + .../X-PostProcessing/Shaders/API/D3D12.hlsl | 52 + .../Shaders/API/D3D12.hlsl.meta | 9 + Assets/X-PostProcessing/Shaders/API/D3D9.hlsl | 43 + .../Shaders/API/D3D9.hlsl.meta | 9 + .../X-PostProcessing/Shaders/API/Metal.hlsl | 47 + .../Shaders/API/Metal.hlsl.meta | 9 + .../X-PostProcessing/Shaders/API/OpenGL.hlsl | 57 + .../Shaders/API/OpenGL.hlsl.meta | 9 + Assets/X-PostProcessing/Shaders/API/PSP2.hlsl | 48 + .../Shaders/API/PSP2.hlsl.meta | 7 + Assets/X-PostProcessing/Shaders/API/PSSL.hlsl | 55 + .../Shaders/API/PSSL.hlsl.meta | 9 + .../X-PostProcessing/Shaders/API/Switch.hlsl | 51 + .../Shaders/API/Switch.hlsl.meta | 7 + .../X-PostProcessing/Shaders/API/Vulkan.hlsl | 52 + .../Shaders/API/Vulkan.hlsl.meta | 9 + .../X-PostProcessing/Shaders/API/XboxOne.hlsl | 52 + .../Shaders/API/XboxOne.hlsl.meta | 9 + Assets/X-PostProcessing/Shaders/Blending.hlsl | 38 + .../Shaders/Blending.hlsl.meta | 8 + Assets/X-PostProcessing/Shaders/Colors.hlsl | 650 ++++++++ .../X-PostProcessing/Shaders/Colors.hlsl.meta | 8 + Assets/X-PostProcessing/Shaders/Editor.meta | 8 + .../Shaders/Editor/ColorWheel.shader | 118 ++ .../Shaders/Editor/ColorWheel.shader.meta | 9 + Assets/X-PostProcessing/Shaders/License.txt | 5 + .../X-PostProcessing/Shaders/License.txt.meta | 7 + Assets/X-PostProcessing/Shaders/Sampling.hlsl | 91 ++ .../Shaders/Sampling.hlsl.meta | 8 + Assets/X-PostProcessing/Shaders/StdLib.hlsl | 322 ++++ .../X-PostProcessing/Shaders/StdLib.hlsl.meta | 8 + .../Shaders/XNoiseLibrary.hlsl | 971 ++++++++++++ .../Shaders/XNoiseLibrary.hlsl.meta | 8 + .../Shaders/XPostProcessing.hlsl | 466 ++++++ .../Shaders/XPostProcessing.hlsl.meta | 8 + Assets/X-PostProcessing/Shaders/xRLib.hlsl | 98 ++ .../X-PostProcessing/Shaders/xRLib.hlsl.meta | 8 + Assets/X-PostProcessing/Utility.meta | 8 + .../Utility/ColorWheelAttribute.cs | 57 + .../Utility/ColorWheelAttribute.cs.meta | 11 + .../Utility/XParameterOverride.cs | 21 + .../Utility/XParameterOverride.cs.meta | 11 + .../Utility/XPostProcessingEnum.cs | 38 + .../Utility/XPostProcessingEnum.cs.meta | 11 + .../Utility/XPostProcessingUtility.cs | 99 ++ .../Utility/XPostProcessingUtility.cs.meta | 11 + ...Generator.Editor.ProjectSettingsData.asset | 60 +- 915 files changed, 32248 insertions(+), 73 deletions(-) create mode 100644 Assets/CRTEffects.meta create mode 100644 Assets/CRTEffects/README.md create mode 100644 Assets/CRTEffects/README.md.meta create mode 100644 Assets/CRTEffects/Scripts.meta create mode 100644 Assets/CRTEffects/Scripts/CRT.cs create mode 100644 Assets/CRTEffects/Scripts/CRT.cs.meta create mode 100644 Assets/CRTEffects/Scripts/CRTRenderer.cs create mode 100644 Assets/CRTEffects/Scripts/CRTRenderer.cs.meta create mode 100644 Assets/CRTEffects/Shader.meta create mode 100644 Assets/CRTEffects/Shader/CRTShader.shader create mode 100644 Assets/CRTEffects/Shader/CRTShader.shader.meta create mode 100644 Assets/Shaders/OilPainting.meta create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts.meta create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs create mode 100644 Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta create mode 100644 Assets/Shaders/OilPainting/LICENSE create mode 100644 Assets/Shaders/OilPainting/LICENSE.meta create mode 100644 Assets/Shaders/OilPainting/OilPainting.shader create mode 100644 Assets/Shaders/OilPainting/OilPainting.shader.meta create mode 100644 Assets/Shaders/OilPainting/README.md create mode 100644 Assets/Shaders/OilPainting/README.md.meta create mode 100644 Assets/Shaders/OilPainting/Unlit_Oil Painting.mat create mode 100644 Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta create mode 100644 Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg create mode 100644 Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta create mode 100644 Assets/X-PostProcessing.meta create mode 100644 Assets/X-PostProcessing/Editor.meta create mode 100644 Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs create mode 100644 Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta create mode 100644 Assets/X-PostProcessing/Effects.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/README.md create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader create mode 100644 Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader create mode 100644 Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader create mode 100644 Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader create mode 100644 Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader create mode 100644 Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader create mode 100644 Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader create mode 100644 Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader create mode 100644 Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/README.md create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader create mode 100644 Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader create mode 100644 Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/README.md create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/README.md create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs create mode 100644 Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs create mode 100644 Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta create mode 100644 Assets/X-PostProcessing/LICENSE create mode 100644 Assets/X-PostProcessing/LICENSE.meta create mode 100644 Assets/X-PostProcessing/Profiles.meta create mode 100644 Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset create mode 100644 Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta create mode 100644 Assets/X-PostProcessing/README.md create mode 100644 Assets/X-PostProcessing/README.md.meta create mode 100644 Assets/X-PostProcessing/Resources.meta create mode 100644 Assets/X-PostProcessing/Resources/X-Noise256.png create mode 100644 Assets/X-PostProcessing/Resources/X-Noise256.png.meta create mode 100644 Assets/X-PostProcessing/Shaders.meta create mode 100644 Assets/X-PostProcessing/Shaders/ACES.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/ACES.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D11.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D12.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D9.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/Metal.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/PSP2.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/PSSL.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/Switch.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/Blending.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/Blending.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/Colors.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/Colors.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/Editor.meta create mode 100644 Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader create mode 100644 Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta create mode 100644 Assets/X-PostProcessing/Shaders/License.txt create mode 100644 Assets/X-PostProcessing/Shaders/License.txt.meta create mode 100644 Assets/X-PostProcessing/Shaders/Sampling.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/StdLib.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta create mode 100644 Assets/X-PostProcessing/Shaders/xRLib.hlsl create mode 100644 Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta create mode 100644 Assets/X-PostProcessing/Utility.meta create mode 100644 Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs create mode 100644 Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta create mode 100644 Assets/X-PostProcessing/Utility/XParameterOverride.cs create mode 100644 Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta create mode 100644 Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs create mode 100644 Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta create mode 100644 Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs create mode 100644 Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta diff --git a/Assets/CRTEffects.meta b/Assets/CRTEffects.meta new file mode 100644 index 00000000..8aaf379f --- /dev/null +++ b/Assets/CRTEffects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9dacdaf115722e49ac782c609f8d8ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/README.md b/Assets/CRTEffects/README.md new file mode 100644 index 00000000..5667110e --- /dev/null +++ b/Assets/CRTEffects/README.md @@ -0,0 +1,19 @@ +# CRTEffects +post processing stack v2 にて使えるブラウン管風のエフェクトです。 + +## 使い方 +このファイルをAssetに追加し、Post Processing Stack Volumeで"Custom/CRT"を追加すると適応されます。 +Unity2019.1.1f1にて動作を確認しています。 + +## パラメータ +- Distort - レンズ歪みの強さ +- RGB Blend - 0だとRGBが完全に分離、1だと通常のRGB +- Bottom Collapse - 画面下部の映像が圧縮された部分の大きさ +- Noise Amount - 画面下部のノイズの量 + +## 参考にさせていただいたサイト樣 +[notargs.com "ブラウン管風シェーダーを作った"](http://wordpress.notargs.com/blog/blog/2016/01/09/unity3d%e3%83%96%e3%83%a9%e3%82%a6%e3%83%b3%e7%ae%a1%e9%a2%a8%e3%82%b7%e3%82%a7%e3%83%bc%e3%83%80%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%9f/) + +[おもちゃラボ "シェーダで作るノイズ5種盛り"](http://nn-hokuson.hatenablog.com/entry/2017/01/27/195659#fBm%E3%83%8E%E3%82%A4%E3%82%BA) + +[LIGHT11 "Post Processingで自作のポストエフェクトを実装する"](http://light11.hatenadiary.com/entry/2019/03/31/225111#FXAA%E3%82%92%E4%BD%BF%E3%81%86%E5%A0%B4%E5%90%88%E3%81%AF%E6%9B%B8%E3%81%8D%E6%96%B9%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%99%E3%82%8B) diff --git a/Assets/CRTEffects/README.md.meta b/Assets/CRTEffects/README.md.meta new file mode 100644 index 00000000..cc7c53af --- /dev/null +++ b/Assets/CRTEffects/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d7a1f7ab598644c748b17d0cfad3b4a8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts.meta b/Assets/CRTEffects/Scripts.meta new file mode 100644 index 00000000..580038d0 --- /dev/null +++ b/Assets/CRTEffects/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d34496d654254aef8731c965c783f91 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts/CRT.cs b/Assets/CRTEffects/Scripts/CRT.cs new file mode 100644 index 00000000..24ca5c40 --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRT.cs @@ -0,0 +1,28 @@ +using System; +using UnityEngine; +// UnityEngine.Rendering.PostProcessingをusing +using UnityEngine.Rendering.PostProcessing; + + +[Serializable] // 必ずSerializableアトリビュートを付ける +[PostProcess(typeof(CRTRenderer), PostProcessEvent.AfterStack, "Custom/CRT", true)] +public sealed class CRT : PostProcessEffectSettings +{ + [Range(0f, 1f)] + public FloatParameter distort = new FloatParameter { value = 0.0f }; + [Range(0f, 1f)] + public FloatParameter RGBBlend = new FloatParameter { value = 1f }; + [Range(0f, 1f)] + public FloatParameter BottomCollapse = new FloatParameter { value = 0f }; + [Range(0f, 1f)] + public FloatParameter NoiseAmount = new FloatParameter { value = 0f }; + + + /*// 有効化する条件はこうやって指定する(ちゃんとやっておいたほうがパフォーマンスにつながりそう) + public override bool IsEnabledAndSupported(PostProcessRenderContext context) + { + //Debug.Log(base.IsEnabledAndSupported(context)); + return base.IsEnabledAndSupported(context) || distort != 0; + //return true; + }*/ +} \ No newline at end of file diff --git a/Assets/CRTEffects/Scripts/CRT.cs.meta b/Assets/CRTEffects/Scripts/CRT.cs.meta new file mode 100644 index 00000000..2355571a --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRT.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 901667e98588d4b23a60fa932445374b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Scripts/CRTRenderer.cs b/Assets/CRTEffects/Scripts/CRTRenderer.cs new file mode 100644 index 00000000..725b07be --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRTRenderer.cs @@ -0,0 +1,34 @@ +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + +public sealed class CRTRenderer : PostProcessEffectRenderer +{ + // 初期化時の処理 + public override void Init() + { + base.Init(); + } + + public override void Render(PostProcessRenderContext context) + { + // 内部的にプールされているMaterialPropertyBlockが保存されているPropertySheetを取得 + var sheet = context.propertySheets.Get(Shader.Find("Hidden/Custom/CRT")); + + // MaterialPropertyBlockに対してプロパティをセット + sheet.properties.SetFloat("_Distort", settings.distort); + sheet.properties.SetFloat("_RGBBlend", settings.RGBBlend); + sheet.properties.SetFloat("_BottomCollapse", settings.BottomCollapse); + sheet.properties.SetFloat("_NoiseAmount", settings.NoiseAmount); + sheet.properties.SetFloat("_ScreenWidth", Screen.width); + sheet.properties.SetFloat("_ScreenHeight", Screen.height); + + // CommandBufferのBlitFullscreenTriangleを使って描画 + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + // 破棄時の処理 + public override void Release() + { + base.Release(); + } +} \ No newline at end of file diff --git a/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta b/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta new file mode 100644 index 00000000..5ed63c93 --- /dev/null +++ b/Assets/CRTEffects/Scripts/CRTRenderer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: df42bae3b4fab496daaeb3d941474589 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Shader.meta b/Assets/CRTEffects/Shader.meta new file mode 100644 index 00000000..789fc926 --- /dev/null +++ b/Assets/CRTEffects/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df9d6013930104811a0868c4e68405ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/CRTEffects/Shader/CRTShader.shader b/Assets/CRTEffects/Shader/CRTShader.shader new file mode 100644 index 00000000..db83a267 --- /dev/null +++ b/Assets/CRTEffects/Shader/CRTShader.shader @@ -0,0 +1,100 @@ +Shader "Hidden/Custom/CRT" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + const float PI = 3.14159265; + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "Packages/com.unity.postprocessing/PostProcessing/Shaders/StdLib.hlsl" + + float rand(float2 st) { + return frac(sin(dot(st.xy, float2(12.9898, 78.233))) * 43758.5453); + } + float2 random2(float2 st){ + st = float2( dot(st,float2(127.1,311.7)), + dot(st,float2(269.5,183.3)) ); + return -1.0 + 2.0*frac(sin(st)*43758.5453123); + } + float perlinNoise(float2 st) + { + float2 p = floor(st); + float2 f = frac(st); + float2 u = f*f*(3.0-2.0*f); + + float v00 = random2(p+float2(0,0)); + float v10 = random2(p+float2(1,0)); + float v01 = random2(p+float2(0,1)); + float v11 = random2(p+float2(1,1)); + + return lerp( lerp( dot( v00, f - float2(0,0) ), dot( v10, f - float2(1,0) ), u.x ), + lerp( dot( v01, f - float2(0,1) ), dot( v11, f - float2(1,1) ), u.x ), + u.y)+0.5f; + } + + TEXTURE2D_SAMPLER2D(_MainTex, sampler_MainTex); + + float _Distort; + float _ScreenWidth; + float _ScreenHeight; + float _RGBBlend; + float _BottomCollapse; + float _NoiseAmount; + + float4 Frag(VaryingsDefault i) : SV_Target + { + //レンズ歪み + float2 distcoord = i.texcoord; + distcoord -= 0.5; + distcoord /= 1 - length(distcoord) * _Distort; + distcoord += 0.5; + + //画面のズレ + float2 linecoord = distcoord; + //linecoord.x += (sin(_Time.r * 1.5 + linecoord.y * 0.7) > 0.9) * 0.05; + float linedistsin = sin(_Time.g + linecoord.y * 2 * PI); + float linedistwidth = 0.995; + linecoord.x += (linedistsin > linedistwidth) * (linedistsin - linedistwidth); + linecoord.x += (sin(_Time.a * 100 + linecoord.y * 10)) * 0.0005; + + //下部の圧縮された部分 + linecoord.x -= (linecoord.y < _BottomCollapse) * rand(float2(_Time.a,linecoord.y)) * 0.1; + linecoord.y = linecoord.y < _BottomCollapse ? linecoord.y * (1 / _BottomCollapse) : linecoord.y; + + //rgbずれ + float4 color; + color.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(0.002,0)).r ; + color.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(0,0)).g; + color.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, linecoord + float2(-0.002,0)).b; + + //下部のノイズ + float noisevalue = perlinNoise(linecoord * float2(5,500) + rand(_Time) + _Time.ba); + float noiseCrit = (1 - _NoiseAmount) + max(linecoord.y - _BottomCollapse, linecoord.y < _BottomCollapse) * 2; + color.r = (noisevalue > noiseCrit) ? rand(linecoord + float2(0,1)) : color.r; + color.g = (noisevalue > noiseCrit) ? rand(linecoord + float2(1,2)) : color.g; + color.b = (noisevalue > noiseCrit) ? rand(linecoord + float2(3,4)) : color.b; + + //rgb配列 + float rgbmod = fmod((i.texcoord.x) * _ScreenWidth, 3); + color.r *= max(rgbmod < 1, _RGBBlend); + color.g *= max(1 < rgbmod && rgbmod < 2, _RGBBlend); + color.b *= max(2 < rgbmod, _RGBBlend); + + rgbmod = fmod((i.texcoord.y) * _ScreenHeight, 4); + color.rgb *= rgbmod >= 1; + + //レンズ歪みの外側 + color.rgb *= 1 - (distcoord.x < 0 || distcoord.x > 1 || distcoord.y < 0 || distcoord.y > 1); + return color; + } + ENDHLSL + } + } +} \ No newline at end of file diff --git a/Assets/CRTEffects/Shader/CRTShader.shader.meta b/Assets/CRTEffects/Shader/CRTShader.shader.meta new file mode 100644 index 00000000..e810409d --- /dev/null +++ b/Assets/CRTEffects/Shader/CRTShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 23ffd5ce9efd848f79aac1e537568c42 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PostProcessingVFX/GameCameraProfile.asset b/Assets/PostProcessingVFX/GameCameraProfile.asset index 22b7f02b..cdadab56 100644 --- a/Assets/PostProcessingVFX/GameCameraProfile.asset +++ b/Assets/PostProcessingVFX/GameCameraProfile.asset @@ -1,5 +1,27 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-6672723021951195849 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2116fb4751a1a3046a3bae7177ecc731, type: 3} + m_Name: GlitchScreenJump + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + ScreenJumpDirection: + overrideState: 0 + value: 1 + ScreenJumpIndensity: + overrideState: 1 + value: 0 --- !u!114 &-4362154923023080619 MonoBehaviour: m_ObjectHideFlags: 3 @@ -34,6 +56,31 @@ MonoBehaviour: scale: overrideState: 0 value: 1 +--- !u!114 &-3842561579889000714 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 824ef16946450f94186364308f3d1eaf, type: 3} + m_Name: GaussianBlur + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 0 + Iteration: + overrideState: 0 + value: 1 + RTDownScaling: + overrideState: 0 + value: 1 --- !u!114 &-3146643709030431664 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1345,6 +1392,34 @@ MonoBehaviour: - 0.5 - 0.5 - 0.5 +--- !u!114 &-2800641430439692943 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29f414c45c95c4c4fab1fba6f7db9a44, type: 3} + m_Name: GlitchScanLineJitter + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + JitterDirection: + overrideState: 0 + value: 0 + intervalType: + overrideState: 0 + value: 0 + frequency: + overrideState: 0 + value: 0 + JitterIndensity: + overrideState: 1 + value: 0 --- !u!114 &-2309378551457945779 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1415,6 +1490,31 @@ MonoBehaviour: opacity: overrideState: 0 value: 1 +--- !u!114 &-44530092333175149 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 292a5d75bad86324881ba9dbb87cb997, type: 3} + m_Name: GlitchAnalogNoise + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + NoiseSpeed: + overrideState: 1 + value: 0 + NoiseFading: + overrideState: 1 + value: 0 + LuminanceJitterThreshold: + overrideState: 1 + value: 0 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1434,6 +1534,40 @@ MonoBehaviour: - {fileID: -4362154923023080619} - {fileID: 2598374393394070623} - {fileID: -3146643709030431664} + - {fileID: 190338221448500764} + - {fileID: -2800641430439692943} + - {fileID: -3842561579889000714} + - {fileID: -44530092333175149} + - {fileID: -6672723021951195849} + - {fileID: 6617679330616591269} +--- !u!114 &190338221448500764 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 901667e98588d4b23a60fa932445374b, type: 3} + m_Name: CRT + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + distort: + overrideState: 1 + value: 0 + RGBBlend: + overrideState: 1 + value: 1 + BottomCollapse: + overrideState: 1 + value: 0 + NoiseAmount: + overrideState: 1 + value: 0 --- !u!114 &2598374393394070623 MonoBehaviour: m_ObjectHideFlags: 3 @@ -1462,6 +1596,37 @@ MonoBehaviour: lumContrib: overrideState: 1 value: 0.8 +--- !u!114 &6617679330616591269 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: efbb636e5cc391347869277957d9c319, type: 3} + m_Name: EdgeDetectionSobelNeonV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + EdgeWidth: + overrideState: 1 + value: 0.05 + EdgeNeonFade: + overrideState: 1 + value: 0.1 + BackgroundFade: + overrideState: 1 + value: 1 + Brigtness: + overrideState: 1 + value: 0.2 + BackgroundColor: + overrideState: 0 + value: {r: 0, g: 0, b: 0, a: 1} --- !u!114 &8762005197904913450 MonoBehaviour: m_ObjectHideFlags: 3 diff --git a/Assets/Resources/Fonts/Kurokane.asset b/Assets/Resources/Fonts/Kurokane.asset index 2f5b0bfa..f99496b0 100644 --- a/Assets/Resources/Fonts/Kurokane.asset +++ b/Assets/Resources/Fonts/Kurokane.asset @@ -253,6 +253,10 @@ MonoBehaviour: m_LigatureGlyphID: 9451 - m_ComponentGlyphIDs: 320000004b000000 m_LigatureGlyphID: 9331 + - m_ComponentGlyphIDs: 270000002200000039000000 + m_LigatureGlyphID: 8279 + - m_ComponentGlyphIDs: 2b0000002a00000034000000 + m_LigatureGlyphID: 8280 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 9 @@ -2744,6 +2748,276 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: -1093390048 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 13 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 34 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 162 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 163 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 164 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 165 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 166 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 39 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 167 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 13 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 15 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 34 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 162 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 163 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 164 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 165 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 166 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 43 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 167 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Fonts/Rodin DB.asset b/Assets/Resources/Fonts/Rodin DB.asset index 30312ff5..9434bf75 100644 --- a/Assets/Resources/Fonts/Rodin DB.asset +++ b/Assets/Resources/Fonts/Rodin DB.asset @@ -1656,6 +1656,21 @@ MonoBehaviour: m_Scale: 1 m_AtlasIndex: 0 m_ClassDefinitionType: 0 + - m_Index: 634 + m_Metrics: + m_Width: 37.671875 + m_Height: 36.578125 + m_HorizontalBearingX: 9.984375 + m_HorizontalBearingY: 26.59375 + m_HorizontalAdvance: 135 + m_GlyphRect: + m_X: 412 + m_Y: 648 + m_Width: 39 + m_Height: 37 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 m_CharacterTable: - m_ElementType: 1 m_Unicode: 32 @@ -2057,6 +2072,10 @@ MonoBehaviour: m_Unicode: 10 m_GlyphIndex: 1 m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 12289 + m_GlyphIndex: 634 + m_Scale: 1 m_AtlasTextures: - {fileID: 3307759631967023827} m_AtlasTextureIndex: 0 @@ -2460,6 +2479,10 @@ MonoBehaviour: m_Y: 849 m_Width: 50 m_Height: 129 + - m_X: 402 + m_Y: 638 + m_Width: 58 + m_Height: 56 m_FreeGlyphRects: - m_X: 55 m_Y: 918 @@ -2573,10 +2596,6 @@ MonoBehaviour: m_Y: 513 m_Width: 12 m_Height: 66 - - m_X: 402 - m_Y: 638 - m_Width: 60 - m_Height: 68 - m_X: 459 m_Y: 379 m_Width: 40 @@ -2745,6 +2764,14 @@ MonoBehaviour: m_Y: 905 m_Width: 120 m_Height: 118 + - m_X: 402 + m_Y: 694 + m_Width: 60 + m_Height: 12 + - m_X: 460 + m_Y: 638 + m_Width: 2 + m_Height: 68 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -2850,7 +2877,7 @@ Texture2D: m_ColorSpace: 0 m_PlatformBlob: image data: 1048576 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020304000004060706050300000404040201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0c0c0b0a0a09080707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0b0c0c0b0b0a0908060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080300000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313121111100f0d0c0a080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313131313131313131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131313131313131312120f0c0802000000000000000000000004080a0a13131313131313131313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d101213131313131313131313131313131311100e0b0600000000000000000000000005080a0b1313131313131313131313131313130e0d0b070300000000000000000000000005090d0f1013131313131313131313131313130a09070300000000000000000000000002060a0c0c131313131313131313131313131310100d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1215151c1514120e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608090b0d0e1011070c10121313120f0b061111100f0e0c0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708060b0f12131516161718181818171616151413110d080907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070d10131415151617181818181717161513120f0b060706040100000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1d19140e0700000000000000000000000000000000000000000000000000000000000000000000030b11161a1c1d202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020201f1f1e1e1d1c1a18161513120f0b06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020201f1e1c18130d060000000000000000050b101416172020202020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f20202020202020202020202020201e1d1a16110b040000000000000000060c111517182020202020202020202020202020201a1917130e08010000000000000000020a1015191c1c2020202020202020202020202020161613100b04000000000000000000070d1216181920202020202020202020202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222821201e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b0f12131516181a1b1d1e1e181c1f20201f1b171e1e1e1d1c1b191816151413110d0708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e11141418171c1f2021232324242525252423222221201d1918161313100c07050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e12141517181d2020212223242425252524242321201f1c17161413100d0705020000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2a2927252321201f1b171312100c06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e1810070000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c160e050000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b02000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f07000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820262b2e2f352e2d2a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d111314171b1f2021232526282a2a2b23282c2d2d2b27222b2b2a2a29272625232220201d18171414110e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d111314191e20212422282b2d2e2f30313132323131302f2e2d2c29242522201f1c1814110e090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1e20212424292c2d2e2f3030313232313130302e2d2b28222320201d1814110e09030000000000000000000000000000000000000000000000000000000000000000020b151d252c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a1107000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393938383736353432302e2d2b2722201f1c1713100c0703000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000040e1820282e33363839393939393939393939393939393937343029221910060000000008111a22282d30313939393939393939393939393939392f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232a3135383939393939393939393939393939393736332e2720170e040000000009121a22282d30313939393939393939393939393939393433302b241d140b0100000000020c161e262d3235363939393939393939393939393939302f2c272119110700000000000a131c232a2e323339393939393939393939393939393735322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000091119222a31373a3c423b3a3630292117110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1214191d202122272b2d2e303133353637382e34383a3937332d3837373735343331302f2d2c29242421201e1a1514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1013191d2021252a2d2e312d3338393b3c3d3d3e3f3f3e3d3d3c3b3a393530312f2d2c2823201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20252a2d2e302f35393a3b3c3c3d3e3f3f3e3e3d3c3b3938332d302d2c2924201e1a14100c0600000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000000000000000000000b151f2931383e424446464646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464544444342403f3d3b3937332d2d2c28231f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646464646464646463e3d39332c241a1005000000000000000000000000000000000000000000000000000000000000000b16202a32393f434446464646464646464646464646464544403b342b22180d02000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19232c353c414546464646464646464646464646464644433f39322920160b00000006101a242c34393d3e464646464646464646464646464646413f3c362e261d1208000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f0400000007111c252e353a3e3f464646464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000006121b232b343c4347484f4846423b3328221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151a1f2124292c2d2d3337393b3c3e40414344444540444646443f454544444342413f3e3d3b3a39352f302e2d2a2521211e1a15130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f24292c2d30363a3b3e403f44464849494a4b4b4b4b4a494948474541413e3c3a38342e2d2a25211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1c22282b2d30363a3b3d404045474848494a4b4b4b4b4a4a494846443f403d3a39352f2d2a251f1c17110c06000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e352a1f14080000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535352525151504f4d4b494846443f3c3a38342e2c29241f1b17110b060000000000000000000000000000000000000000000000000000000000000000000b17222c353e44494a5353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000000000000000000000000006121d28323c444b4f51535353535353535353535353535352504c463d34291e130800000b17222c353e44494a5353535353535353535353535353534947433d342b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353514f4a433b32271c110600000c17222c363e45494b5353535353535353535353535353534d4c4740382e24190e03000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000020d18232e373f464b4c5353535353535353535353535353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000000020a1117242d353d464e53555b54524d453d332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1f21262b2e2f35393a3d3f444648494b4d4e505151524a515353504952515151504f4e4c4b4948474540403d3b3a36302e2d2a25221f1b15110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d13191c23282b2f35393a3e4246474b4d4a505354565657575858585756555554524c4d4b494645403b3a36302d2a261f1b150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c21272c2d3338393c4246484a4c4b515354555657575858585757565453504a4d494745403b3a36302c28231c17110a03000000000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463c3125190d000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d6060606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5d5d5c5a5856545350494946443f3a38352f2b27221b17110b0600000000000000000000000000000000000000000000000000000000000004101c28333e47505557606060606060606060606060606060575550483e33281d110500000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e60606060606060606060606060605f5d574f463b3024180c0004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925313c4650585d5f60606060606060606060606060605d5b554d43392e22160b0005111d28343e485055576060606060606060606060606060605a58524a40362b1f130700000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030006121e2a353f4951575960606060606060606060606060605d5b554c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227363f474f585f6268615e574f443f382f292017110a0200000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f262b2e31373a3b4145474a495053545658595b5d5d5e5e5f5c60605b5f5e5e5e5d5d5c5a5958565553514b4d4a4746423f3b3a36312e2b26201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191e25292e34383a4145474b4d5254575a545b60616263646465656464636261605d565a585553514b4746423b3a36312b26201b160e09030000000000000000000000000000000000000000000000000000000000000000000000000002090e161b21272c3238383f4446494d52545759555d60616263636465656464636361605b54595653514b4746423b38342e28231c150c080200000000000000000000000000000000000000000000000c1824313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000000000000000000000010e1a26323e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a696867656361605b535653504a4745403937332d28221c17110a02000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000a16222e3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665e554a3e32261a0d000000000000000000000000000000000000000000000000000000000000000000000000030b141d262d3340485059606a6f756e696059504a423a3227221b140b0400000000000000000000000000000000000000000000000000000000000000000000060b13181c22282b31373a3c4347484c525456535b606163646668696a6b6b6c666d6c656c6b6b6a6a6a686766646362605d55595754524d4c4846423c3b37322d2a251e1b15100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e252a3035383f44464c515457565e61646768666c6e6f70707172727170706f6e6d6869676462605c5454524d4846423b37322c27211a150b060000000000000000000000000000000000000000000000000000000000000000000000050d141a21272c33383d43484a505356575e61636668676d6e6f6f707172727171706f6e6c66696663605d5554524d46443f38342e261e19130c04000000000000000000000000000000000000000000000e1b2734404d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5d5145382b1f1200000000000000000000000000000000000000000000000000000003101c2936424f5b667177797979797979797979797979797979766c5f5346392d201306000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797978777776757372706e6c656662605c5453514b46443f38332d28221c140b070100000000000000000000000000000000000000000000000000000a1623303c4955616c70797979797979797979797979797979716c6155493d3023170a0000000000000000000000000000000000000000000000000000000004111d2a36434f5c67727779797979797979797979797979797873695d5044372b1e12000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845515d6a747979797979797979797979797979797771675b4f4336291d10000a1724303d4955616c71797979797979797979797979797979746e64584c3f3326190d00020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f221609000c1825323e4b57636d7279797979797979797979797979797671665b4e4235291c100000000000000000000000000000000000000000000000000000000000000000000000030c151d262f383f44525a626b707c827b706b605b544c443d332d261d160d0400000000000000000000000000000000000000000000000000000000000000020a11171d24292d33383c4347484e5355565d606366656c6e6f71737476777778787979797978787877777675747271706e6d67696663615e575854534d4947433c3936302b26201c160f09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151d242930363a41464a5053555d606467696e71737577797b7c7c7d7e7e7e7e7d7c7c7b7a787674716f6d6665615e5655534d47433c38322b261f17110a020000000000000000000000000000000000000000000000000000000000000000070f171f252a32383d44484f54545b606367696e707375777a7b7b7c7d7e7e7e7e7d7d7c7b79777573706d6765615e5753504a443f383029241e160e080000000000000000000000000000000000000000000f1b2835424e5b687581868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783868686868686868686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686858584848382807e7c7b7976726f6d6664605d55535049443f38332d261d18130c04000000000000000000000000000000000000000000000000000a1724313d4a5764707d8686868686868686868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784868686868686868686868686868685786c5f5245392c1f12000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868686868686868686868686868683776a5d5144372a1e11000b1824313e4b5764717e8686868686868686868686868686868074675a4d4134271a0e0003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a000c1926333f4c5966727f868686868686868686868686868683766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000020b151e262f384149505c636c717d858e857d736c665e564f443f382f2820160c010000000000000000000000000000000000000000000000000000000002080b141c22282f35383f44464e5355585f6266686d707376797b7c7e808183848485858686868685858484848382817f7e7c7b7a787573706e696965615e5755544e4746413b37322c28211a150d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f272f353a41464c52545c6063676d7174777b7e808284868789898a8a8b8b8b8a898888878583807e7c7976726e6965615f57534e48433d373128231c140c060000000000000000000000000000000000000000000000000000000000030b1218212930363d43484f54596063666c6f74787b7d7f8284868788898a8a8b8b8b8a8a8987868482807d7a76726e6964605c54504a423e353028201a110600000000000000000000000000000000000000000e1b2835414e5b6874818e9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909393939393939393939393939386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393939393939393939393939393939393939393939393939892929190908f8d8b898785827f7c7975716d6763605b53504a443f382f29241d160d060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393938a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919393939393939393939393939285786c5f5245392c1f12000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929393939393939393939393939084776a5d5144372a1e11000b1824313e4b5764717e8a939393939393939393939393938d8074675a4d4134271a0e0003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a000c1926333f4c5966727f8c9393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000a141d263038424a535b606e737e879297928780786d6860595049413a32281e1308000000000000000000000000000000000000000000000000000000050d13191d262d333a40454a5053585f62666a6e73777a7d7f828587898b8c8e9090919192929999929291919190908f8d8c8b8988868582807d7b7875726e6966625f5854524c47433c38332b262018130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429313940454c52565e61666d70757a7e8184878a8d8f919298959697979898979796959497928f8d8b8886827f7b76726e69625f58544f47423c342e261e181009000000000000000000000000000000000000000000000000000000050c151d2328333b42464f545960636b6f74787c8084878a8c8f91939a959696979898979796969992918f8c8986837f7b76716d66605c545046413a322c2317110a020000000000000000000000000000000000000e1b2834414e5b6774818e9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa29f9e9e9d9c9b9a989698928f8c8985827e79746f6c65605b54504a423d352f281f17110a02000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000006111c262f38424a545b656c74808b9299a199938c827a6f6b605b534c443a2f24190d0100000000000000000000000000000000000000000000000000070e171e252a2f383f444b51545b60646a6f73777b7f8386898c8f92979697999b9c9d9e9e9f9fa3a39f9f9e9e9d9d9d9b9a9997969597918f8c8a8785827f7b77736f6a66615e56534e48443e373129241d160d0701000000000000000000000000000000000000000000000000000000000000000000000000000006101820282f353d434b51565e61686d73797d81868a8e9196979a9b9d9fa3aaa3a3a4a5a5a4a3a3a2a9a19e9c9a9799928f8b87837f7b756f6a636059534d443f38302a221b120600000000000000000000000000000000000000000000000000050e171e272e343e454d525960636b70767c8084898d919696999b9e9fa4aca2a3a4a5a5a4a4a3aba39f9d9c999992908c87827e78716d66615a524c443e3527221b140b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb4aeacabaaaaa9a8a6a5aaa29f9c9998928f8a85817c78716c66605b544f45403a3127221b140b040000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacaca4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaacacacacacacacacab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4acacacacacacacacaca79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a000c1926333f4c5966727f8c99a5acacacacacacacaca99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000a1317222d38424a545c666c77808c929fa3aba49f948f847d726c655d564c4135291d11040000000000000000000000000000000000000000000000030b1218202930363d424a50555d60666c70767b8084888c909399999c9fa2a9a4a6a7a9aaaaababacafaeacabababaaaaa9a8a7a5a4a3a9a19e9c999697918f8b8783807c78736e68625f58554f47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a41454f555d60686d737a8085898e92989a9ea0a8a6a8aaacaeb4afb0b1b1b1b1b0afafb3adaba9a7aba39f9c9a93908c87817c756f6b625f57504a423c342d2417110a0300000000000000000000000000000000000000000000050e172029303940454f575e616b6f767d83898d91969a9ea1a9a6a8aaacafb6afb0b1b1b1b1b0b0b4aeacaaa8aba39f9d99938f8b847e78706c615d564f473f332d261d140b02000000000000000000000000000000000e1b2734414e5a6774808d9aa7b4b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b9b9b9b9b9b9b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab8b8b7b7b6b5b3b1b4aeaca9aaa29f9c98928e89837e78716c666059514b433d332d261d160d0500000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7b9b9b9b9b9b9b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b9b9b9b9b9b9b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2b9b9b9b9b9b9b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000008121c2528333f4a545c666d78818d929ca4afb5afa69f9691877f776d685d5245392c20130700000000000000000000000000000000000000000000050c151d2328323a41464f545b60676d72787d82888c9195999d9fa4aba9abadb3b1b3b4b6b7b7b8b8b9bbbab9b8b8b7b7b7b6b5b4b2b1afb2adaba8a6a9a19e9c9895908c8884807a746f6a636159534e45403a3129241d150d06000000000000000000000000000000000000000000000000000000000000000000020b141b2227343c444c525960676d737a80868c91979b9fa2aaaaacb2b3b5b7b9babfbcbdbdbebebebdbcbbbeb9b8b6b3b5aeacaca49f9d99938e88827c766e69605c544e463f3628231c150c040000000000000000000000000000000000000000050e172029333b424b515961696e757c828990959a9ea1a9abadb2b2b5b7b9bbc0bcbdbdbebebebdbdbfbab9b7b5b5afacaba49f9c96918b847d756d68615951443f382f261d140a000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c6c6c6c6c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d0cac6c5c5c4c3c3c2c0bebfbab8b5b4aeacaaa29f9a95908a837e786f6b605d554f443f382f281f170f06000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c6c6c6c6c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c6c6c6c6c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfc6c6c6c6c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000007101a242d373f44505b666d78818e939da4aebbc0bbb0a9a199928c827a6d6054473a2d211407000000000000000000000000000000000000000000060f171e272e343d444c525960666c71797f848a8f94999da0a7aaacafb5b5b8bab9b8b5b4b2b0afaeaeadacadadaeaeafafb0b1b3b4b6b7b9bbb9b8b5b3b3adaba8a7a09d9996918c86817c76706b625f58514b433e352f271f180f0800000000000000000000000000000000000000000000000000000000000000020b141d262d333e464e565d606b707980868d92989ea1a9acaeb4b7b8bdc0c2c4c5c7cbd1cacacbcbcacac9cfcac6c5c2c0bfbbb9b6afacaba49f9b948f89827b726d665f58504840342e261e160d04000000000000000000000000000000000000050e172029323b454d545c606b707b82898f949d9fa7abadb2b8b9bdbfc2c4c6c8ccd2c9cacbcbcacad1cbc7c5c4c2c0bbb9b5afaca8a09e96918a817a706b625b504941382f261b11060000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2dbd6d3d2d1d1d0cfcecdd0cac6c5c2bfbab8b3aeaba7a09d95918a837c746d6761595049413a312921180f060000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d2d2d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad2d2d2cdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd2d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000050e18222c363f49525c606c78818e939da5aeb6bfcbc0b7afa69e9490837a6e6154473b2e2114080000000000000000000000000000000000000000070f182129303940454f565e616b70787e858b91969c9fa6aaacb1b6b9bbb8b7b3b2adaba9a7a5a3a2a1a1a0a0a0a0a1a1a2a2a3a4a6a7a9abacafb5b4b7b9bbb9b8b5b1acaaa8a19e99928e88827d766e6a605d55504540393129211a110a0100000000000000000000000000000000000000000000000000000000020b141d262f383f4450585f686d747d848d92989fa2aaadb3b8babfc4c5c8ceced0d2d3d7dcd6d7d8d8d7d6d6dad6d2d1cfd1cbc7c5c0bbb9b5afaca69e9c948f867f786f6a625a52443f3830281f160b0200000000000000000000000000000000030c162029323b444d575e666d747d858f949c9fa6abb1b8b9bdc4c5c9cfced1d2d0cecccbcac9c9cacaccced0d2d0d1cbc7c5c0bbb9b2aca8a09e938e857d726d605b534941382d2217120800000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dfdfdfdfe6ded8d3d0cfcececececececececececececececececececececececececececececececececececececececececececececececececec5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacacbcdcfd1d2d4d7d6d3d2d0cac6c5bebab8b1aca7a09d9590878079706b605b534b433b332921180f0500000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7dfdacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000030c17202a343e48515b636e74808e939ea5afb7c0c8c0b6aea59d948f827a6e685e5246392d20140700000000000000000000000000000000000000081019222a333b424b515960686d757d838b91979ea0a8abb0b7b8bcb8b7b1acaaa7a9a19e9c9a989795959493939394949595969697999b9c9e9fa4aba7aaacafb5b6b8bcb8b7b2adaba39f9b948f8a827c736d67615a514b433b332c231c130b020000000000000000000000000000000000000000000000000000000a141d262f384149505a616a6f7a818991969fa2aaaeb4b9bec4c7cad0d2d4d9dbdcd7d4d2d1cfcdcdcccccdcdcecfd2d3d6dbd7d3d2ccc8c6c0bbb9b0aaa69f98928c837c716c635c504a423931281d140a000000000000000000000000000000000b151e28323a444d565e696e78808a92979ea6abb0b8bcc2c5c9cfd2d2d1cbc7c5c3c1bfbebdbdbdbdbebfc1c3c6c7ccd2d3d2ccc7c4bdb9b2aca59e9791877f736c655b53493f3327241a0e05000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e5ecf0e6ddd4cdc7c4c3c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbebec0c2c4c6c7ccd2d2d4d7d6d3d0cac6c3bcb8b1aca7a099938d847d736c655d554d453b332921170f05000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000b151e29323c46505a636d73808d929da5afb7c0c9c0b6aea49d938e82796d685e564c41362a1e110500000000000000000000000000000000000008111a222b343c454d545c606b707a818990959ea1a9acb2b7bbbab9b1acaaa7a09d9a9796918f8d8c8a8888878786868787888889898b8c8e90919399979a9d9fa4abaaacb1b6b8bcb9b4aeaca69f9c948f878079716c605d554d453e352e251d140b020000000000000000000000000000000000000000000000000006111b262f384149535b606c717c848e939ea0a8aeb4babfc5c9cfd3d6dbdcd6d3d2d1cbc7c5c4c2c1c0bfbfc0c1c2c3c5c6cad0d1d2d5d8d4d2ccc7c1bbb7b0aaa29f9590867e736e605c544b43392f261c1106000000000000000000000000000007121d27303a444c565e686e7b838d929ea1a9b0b7bbc2c7cdd2d3cec9c5c4c0bbb9b7b4b2b2b1b0b0b0b1b2b4b6b9bbc0c5c7cbd1d4cec9c4bdb9afa9a199938b80776c655b50443f362c20170d020000000000000000000000000b1824313e4b5764717e8a97a4b1bdd0dce7f3e9ded4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafb0b0b1b2b3b5b7b9bbc0c3c6c7ccd2d4d9d6d3cec8c3bcb8b1aba49f9691887f776d675e574d453b332921170d040000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000007121c27303b444e58616c727f8c929ca5afb7c1c9c1b7aea49d928d81786d675d564c443b3025190e02000000000000000000000000000000000007111a232c343d464e575e666d737d858e939da0a7adb3b9bdb9b4aeaca7a09d9995918d8a878582817f7d7c7b7b7a797a7a7b7b7c7c7d7e8081838486888b8d909399999da0a7aaabb1b8b9bab9b0aba69f99928d847e756d675f574f4740372e261d140b020000000000000000000000000000000000000000000000081217222d384149535b656c737e8691969da5acb2babfc6cad0d5dae0d8d3d0cbc7c5c2c0bbb9b7b5b4b3b3b2b3b4b5b6b8babec0c4c5c9cfd2d6d7d4ccc7c2bcb4aea79f99928b80746d665d554b42382d22171107000000000000000000000000040d18232e39424c565e686e7a8490959da4adb3bbc1c7cdd4d1cbc7c4bdb9b7b5afacaaa7a6a5a4a3a3a4a4a6a8aaacafb5b9babfc6cacfd5cec9c1bbb3aba49f928d81776c605b51483e32291f14090000000000000000000000000a1723303d4a5663707d8996aab4bfcbd6e3efe4d8cdc2b9b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a4a4a5a7a8aaacafb5b6b9bbc0c7c8ced3d8d9d4cec8c3bdb5afa8a19a938c81796e695f574d453b332920160b0200000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e18232e39424c565f6a717e88939fa4aeb7c0c9c2b8afa59d928d80776d665d554c433b32291e14080000000000000000000000000000000000061019232c353e474f585f696e78808891979ea5acb1b9bebbb3adaaa39f9b95908c8884807e7b78767472706f6e6e6d6d6d6d6e6e6f6f707173747678797b7e818486898c9095999d9fa7abadb3b8bbb7b0aba39f96918a81796e696159514940382e261d140b02000000000000000000000000000000000000000000060f1a2427333f49535b656c77808a9298a1a8afb9bdc4cad0d6dbded7d3cdc7c6bfbab8b5b5afacaaa8a7a6a6a6a6a7a8a9abaeb3b4b7b9bdc4c6cacfd5d7d3cec6bfbab1aba39f928c81786d675d544a3f332823190d0300000000000000000000010c16202834404b545e686d7a839196a0a7aeb9bec5cdd3d2ccc7c0bbb9b2acababa39f9d9b99989796969797999b9d9fa4abacaeb4babec5ccd2d5cdc4bdb5afa49d938d80746d625a50443b3025190e0500000000000000000000000815222e3b4855616e7b8898a3aebac7d3e0ece0d3c7bcb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b98969696969696969696969696969696969696969797989a9c9e9fa4abaaacafb5b8bdc3c7ccd3d8d9d4d0c7c0bbb2aca49f938f837b6e695f574d453b32281d140a00000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000020d17202834404a545e686f7c86929aa4afb6c0c9c3b9b0a69e938d80736c655c544b433a312920170d0200000000000000000000000000000000050f18222b353e474f59606a6e7b838d939aa1a9afb8bcbdb5aea9a29e98928e88847f7b7774716e696967656462626160606061616262636364666869666d6e7174777a7c7f83888c9095999ea1a9acb2b7bdb5aea8a19e938e837b706b635b524a40382e261d140b0000000000000000000000000000000000000000040d18212c363e44505b656c77818c929fa2aab2bac0c9ced6dbdfd8d4ccc7c2bcb7b4aeaca9aba39f9e9c9a9a99999a9a9b9c9fa2aaa7abadb2b8b9bec5c9cfd5d8d0cac2bdb4aea49c938e82796d665b50443f352b1f150b0100000000000000000008131e28323a45515c666d7a839095a0a8b1b9c0cacfd5d0c7c0bbb5afaca8a19e999992908e8c8b8a8a8a8a8b8c8e9093999b9fa3aaadb3bbc0c7d0d6d0c7c0bbaea59d928c7f726c61564d42362a20170d02000000000000000000000613202d394653606c7885929facb8c5d2dfebddd0c4b7ab9f94908e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e86796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c5c5c5c5c5b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b898989898989898989898989898989898989898a8b8b8d8f919399999d9fa4abacb2b7bbc2c7cdd6dbd9d2ccc4beb6afa59e9590847b6e695e574d443a2f261c1106000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c5c5c5c5c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000008141e29323b44515c666e7a849198a2acb6c0c8c4bbb1a79f948e81776c605b534a423931281f170e0500000000000000000000000000000000040d17212a343d474f59616b6f7c8490959fa4acb3bbbebab0aba39f97928c86817c77736e6a6764615e575a595755555454535354545555565658595b545c60626467676d7073777b7f83888c92979da0a8abb0b9bbb2ada59e9590857d736d645c524a40382e261d0e05000000000000000000000000000000000000010c161f2a333e48525c606c77808d939ca4aeb4bcc4ccd5d9e0dbd6cdc8c1bbb7b0abaaa39f9c999992918f8e8d8c8c8d8e8f909298979a9ea1a8abadb3b9bec4c9cfd7d6cfc6bfbaaea59d948f81786c605a50473d31271d12070000000000000000010d19242f3a444f59606d78839095a0a7b1bac3cbd6d7cbc3beb6afaba39f9a96918d898684817f7f7e7d7d7d7e7f8183868a8e92989fa2a9afb5bdc4cdd4d2ccc0b7aea49f93887e70695e52463f32291f14090000000000000000000006121f2b3844505b667784909daab7c3d0dde9dccfc3b6a99c90828181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818174685b4e4135281b0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b8b8b8b8b8b8b8ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f80828486898d9093999ea0a8abb0b7bcc2cad0d7ddd7d0c7c0bbafa7a09691847b6e695e564c42382d22170e050000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b8b8b8b8b8b8b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000050e1925303b444f59606d78839096a1aab4bec7c5bcb2a9a0959082796d655b5049413830271f160d0500000000000000000000000000000000010c161f29333c464f59616c707d859196a0a7afb6bebcb3aea69e99928d85807a746f6a66625f585754534d4e4c4a49484847464747484849494a4b4d4e4b51535558555d606366696e72777b80858b91969c9fa6adb2bbb9afa7a09792887f746e645c524a40382e20170d02000000000000000000000000000000000007131d28313c46505a636e74808d929da5aebabfc6ced6dee0d8d0cac2bcb8b0aaa69f9c98928f8c898684828180807f8081828385888b8d91969a9ea2a9adb2b9bec5cdd6d8d1cbbfb7afa69e938d80736c62594f43392f24180c030000000000000004111d2935414c56606b73808d959fa7b1b9c3ccd5d1cbc0b9b1aca49f99928e8984807c7a7774737271707071717375777a7d81868c92979fa4abb3bbc3cbd4d7c9c0bbafa49a92857b6e615b51443b3025190e03000000000000000000030f1c28333f4a546875818e9ba8b4c1d0dbe6d8ccbfb2a5998c7f757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575746f64594c4033271a0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f707171727475777a7d8083878c91969c9fa6abb1babec5ced4dcd9d2ccc1b9b1a8a19691847b6e685d544a3f332820170d0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020c17202a36414c56606b73808d959fa8b2bcc6cabfb4aaa19791837a6d675c53493f382f261e150d04000000000000000000000000000000000008131e28313b454e58606b707e869297a1a8b1bbc0b9b0aaa29f948f86807a736e68625f5855534e4b484642413f3d3c3b3b3a3a3a3a3b3b3c3c3d3e4041404546484b4b515456575f6166696e73797e848a90949ea1a9aeb5b9b1a9a29a938c80746e645c524a4032291e130800000000000000000000000000000000030d18242f3a434e58616c73808c929da4aeb7bfcad0d8e0ded5cec6bfbab1aba69e9c94908b86827f7c7977757473737373747576797b7e8184898d92979ea1a9adb3bbc1cad0d7d7c9c1b8b0a69c928b7e716b60554b40352920150a000000000000030e18222c3945525d68707d87939fa7b1b9c3ccd5cfc6bfbaafa7a09a938e87817c78736f6d6768666564636364646668686d71757a7f858d9399a1a9b1b9c2cbd4d8ccc0b6aca2978f82766d62564d42362a201509000000000000000000000b17222d3f4c5865727f8b98a9b3becad6e2dacdc1b4a79a8e8174686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868645d53483c3024180b00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6363636363636363636363636363636363636464656769676d7073777b7f84898f949d9fa7aeb3bcc2cad7dcddd8cbc3bab2a8a19691847a6d665b50443e32291e140800000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000008131e29323a46525e68707d88939fa7b1bac4ccc4baaea29891857b6e685d554b41382d261d150c030000000000000000000000000000000000060f19242f3a434d575f6a707d879298a2a9b2bac0bbaea69f98928b827b736d68615e56534e4847433e3b3a363132312f2f2e2d2d2d2e2e2f2f303031332e34383a3b3e414547494d5355575f61676d71787d838a91969fa3abb0bbb3aca49f928d80746e645c52443a3025190d010000000000000000000000000000010b151f2935414b555f6a707e8a929ca4aeb7c0c9d6dbe2dcd3ccc3bcb4aea79f9d948f88837e7a76726f6d666967676666676768656c6e7174787c81858b91979ea1a9afbabec5ced5d2cac1b8aea49f92877d70675d51453c31261a0f0100000000000a15202b37434e58606d7a849199a4afb9c3cbd5cfc6bdb4aea59d959087817b746f6c6563605d555958575757575859565d6164686d727a808791979fa7b1b9c2cbd5d2c7beb3a99f948b7f72695e52463c31261a0e040000000000000000000615222f3c4855626f7c8897a2adbac6d3dfdccfc3b6a99c90837669585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41362b20140800000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909292929292929292929292929286796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565758585a555d606366686e72777c828990959fa2aab0b8c0cbd1d8ddd5ccc4bab2a8a0968f82786c605a50443b3025190d04000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929292929292929292929292929084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000020b1925303a44505a616e7a85929aa4afb9c2ccc4baafa59f92867c6f695e564c43392f261b140b030000000000000000000000000000000000020b18212935414c565e696f7c869299a3aab3bbbdb5afa49d9490857e756e69605d56524c47433c3a37312e2d2a252624222221212020212122222323252623282c2d2f2f35393a3d4246484d53555c60656c70767e848d92999fa6afb6b6afa49d928d80746e64564c41362a1e1105000000000000000000000000000007121d27313945515d676e7c86929fa4aeb6c0c9d2dbe7dbd2cac1bab1aaa29f959089827c76716d686662605c545b5a59595a5b535b606264656c6f74797f848c92979ea5aeb3bcc3cbd4d3cac0bbaea3999184796d60584e43372b1d130700000000020f1a26313a47535f6a74818e96a1abb5c0cbd4d0c7bdb4aba39f938e837c756e6963605b5353514b4c4c4b4a4a4a4b4c4c5254565e61686d747d8590959fa7b1b9c3cdd7d0c5bbb0a69f92867b6e61574d42372b20150a0000000000000000000613202d394653606c7985929fabb8c5d0dcded1c5b8ab9e9285786a5f534e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4841392f251a0f0300000000000000000000000000000000000000000000000000000003101d2a3643505d697682858585858585858585858585858586796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564949494949494949494949494949494a4a4b4c4d4b515356565e61666b6f767d838b92989fa6aebbbfc6cfd8ded6ccc4bab2a89e948d80736c61564c41362a1f160c010000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885858585858585858585858585858583766a5d5043372a1d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000a141d2a36414c56616c76828f97a1acb6c0cbc7beb2a89e938b7e716a5f574d443a30271d140a020000000000000000000000000000000000000a141d2a333b45525d686e7b859198a2abb4bcbcb4aba49f928d837b716c615f57524c46413b37322e2b26272828292827252423201f1c181515161617181a181c1f202224292c2d31373a3b42464b51535b60636c7179808790949fa4acb3bbaea49d928d8074685e5246392d20130700000000000000000000000000000c18232f39434f59606d79849198a2aeb6bfc8d2dbe4dbd2c9c0b8b0a8a098928c837c756f6a65605d565653514b4e4d4d4c4d4e49505355535b6063676d72797f858e939fa2aab1b9c2cbd4d7cbbfb5aba1968d80736a5f53473a2f24180d0100000006121f2b37434e58626f7c87939fa8b2bdc7d2d2c7bdb5aba399928b81796f6a615f57535049474540403f3e3d3d3e3e404146474c52565e616b707a8390959fa7b1bbc5d0d7cdc2baaea2988e8174695f53473c32261b0f01000000000000000005121f2b3744505b6575828e9baab4bfcbd6dfd2c6b9ada197887b6f6255484242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424241403c362f261d130900000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797979797979797979797979797974695d5144382b1e1205000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3d3e3e3f414045474a4d52545960636b70767e858f949ca4aeb5bdc6cfd8ded6ccc3bab0a69c928a7e71685e52463e31281e13080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3744505d68737879797979797979797979797979797671665b4f4236291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000006111c262f3846525e68717e8b949fa9b3bec7ccc0b6aca1968e81756c61584e453b32281e150b0200000000000000000000000000000000000006111c262f3b45505a606d7a849197a1aab3bdbdb4aaa399938b80786e69615a534d45413a36302b2d2e30323435353635333231302d2c2923201d19130e09070c10131315181d2021262b2d31363940454950535a61676d737b828c939aa1a9b1b6aea49f92857a6d6154473a2e2114070000000000000000000000000004101c2934404b55606b74818e96a0aab4bec8d1dae4dbd2c9c0b7afa69e9591867f786f6a62605854524c494645404140404040413f444648495053555c60676d727a818a9298a0a7b1b9c2cad4d1c6bdb2a89f92877c6e62554b4035291d11040000000814212e3a47535f6a75818e9aa4afbac4d0d7ccc0b5aba39992877e746d675f58534d46443f3a39352f3231303031313035393a41464c525960686e7a839095a0a9b3bec7d2d6cabfb4aa9f92877b6e62584e43372b1e13080000000000000000030f1b27333f495364717e8a98a3aebac7d3e0d5c9beb3a9998d807366584e433735353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353533302b251d140b0100000000000000000000000000000000000000000000000000000000010d1a26323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1003000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303131322f35393a3d4146474f545960636c717b828d929fa3abb4bdc6cfd9ded5ccc1b8aea49f92857a6e615a50433a2f24190d0200000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000b17222d38424f59616d7a85929ea6b0bbc5d0c7bbafa49a91847a6d605a50463c332920160c03000000000000000000000000000000000000000b17222d38424d57616c75818e96a0a9b3bcbdb5aba39892877f736d665f575047423c352f2e3036393b3d3f4141424241403f3e3c3a38342f2c29241e1a140c070c141a1e20262b2e2f32362e34383a393f444650555d60696e78808892979fa7b0ab9f958b7f72685e5246392d201307000000000000000000000000030d17212c3845515c67707d89939da8b2bcc5d0dae3ddd3c9c1b7afa59d948f837b726c666058544e4745413c3a38342e343333342d3337393b3f44464b51555d60686d757e8590959fa7b0b8c2cbd4ccc4bbaea399908376675d5145392c201306000004101d2935404b55626e7c87939facb6c0c8cecdc5bbafa49992877e716c605d554e46423c37332d2c292425242424242524292d30363a41464f565e686d79839097a2acb6c0ccd8d0c6bbafa3998e81756a5f53473a2f24190d0100000000000000000b17222d3a4753606d7a86929facb8c2cdd8dacfc4b7aa9e9184776a6054473c3226282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282724201a130b020000000000000000000000000000000000000000000000000000000000000a16212d38434c545a5d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5850463b3024190c00000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232324252524292c2d3036393d44484f545a62696e77808b9299a3abb4bdc7d1dcded3cabfbaada2978e81756c61554c4135291e130800000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b454f575d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5b554d43382d22160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000030f1c28333f4a54606b75818e97a1adb8c2cdc7bdb1a79f93887d70685d52483e342a21170e0400000000000000000000000000000000000000030f1c28333f4a545f69717e8b939ea8b2bbc0b5aba39992867e726d605c544d453e373131373a3b4146474a4c4d4e4f4f4e4d4c4a494745403a39352f2b261f1812181f252a2d31373a3b3f424340454646443f43434b51575f666d737d8590959ea6a3999083786c60564c41362a1e110500000000000000000000000009141f2a36424d57606d7984919ea5afbac3ced7e2dfd5cbc1b7afa59d938e827a6e69605b544e47433c39352f2d2c28232726262722272b2d2d33373940454b51565d616c717b8390959fa6b0b9c2cdc4bab2a8a09691847a6d6053473a2d201407000006131f2c3845515d6775818e99a3abafb8bcc3c5bbb0a69f93877e716c615a514b433c37312b27221f1d18191817171718191d20252a30353d444c565d676e7b85929aa4afbbc5cfd7cbc0b5ab9e93887c6f62564c4135291d110400000000000000000613202c3945515d6775828f9ba7b1bcc8d4ded2c5b9aca096897c6f62584e43372b1f161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f09010000000000000000000000000000000000000000000000000000000000000005101c26313a43494e50525252525252525252525252525252514d463e342a1f140800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161616161616161616161617171819181d1f20252a2d32383d444850575e656c737e879299a3abb5c0cbd7dddcd6cabeb3a99e938a7d70675d51453a3025190d02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c50525252525252525252525252525252504f4a433b31271c1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006121f2b3844505b66707d89939ea9b3becaccc0b5aba0958d80736b60564c41362d22180f0500000000000000000000000000000000000000030d17212b3844505b666e7b86929fa5afbac3bbafa49992877d706c625b504a423b3334383c4347484c525457585a5b5b5c5b5a58575653514b4745413a373129241d232830363a3c4247484c4f504b5153535049504e4b494d545c606b707b838f949e9f92877c6f665b50443a3025190d010000000000000000000000020e1a26313a46535f6973808c96a0acb7c1ccd5e0e1d7cdc3b9afa59e938e81786d685f57504a423d37322c2924201f1c181a1a191a171b1f2022272b2e343940454c525a61696e7a838f949fa6b0bbc4bbb2a8a09691847a6e675d5145392c20130600000714202d3a4753606d79848d92999ea5acb1b9beb3a99f948b7f726c615a50454039312b261f1b1713100c070b0a0a0b080d1113191e2529323b434c555f69707d88939fa9b3bec9d5d1c7bdafa59a8e8174685d5245392c20150a000000000000000004111d2935404b55636f7c89959fabb8c4cedad5c9bdb2a89b8e81746a5f53473d31281d12070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0e0b0803000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e424346464646464646464646464646464644413b342c22180d0200000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090a0b0b070c101314191e20272c32383f454d535b606c717d879299a3afbbc0cbd4e0dbcfc5bbafa59e91847a6d60564c41362a1e1408000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464643423e3831291f150a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000004101d2935404b55606c7883909da5afbbc5cfc7bbafa4999083796d60594f443a30241b1006000000000000000000000000000000000000000009141f2935414b55606c78839098a2aeb7c1b9aea49f93877e716b615a51443f3830383f44464e5355565e616365676868696866656463605c5554524c46423c352f272e343b4246474d5355595c5d545c60605b5e5d5a58555350505961696e79828e93968d80736a5f544a3f32291e130800000000000000000000000005121e2a36424d57616e7b86929fa8b2bdc9d2dee6dbd0c5bbb1a79e938e81786c665d564d443f382f2b27201d191313100c070d0d060b0f1213171b1f23282f353a414650575e686d79828f949fa9b2bbb2a9a19691847b6e685e554b4035291d1104000006131f2c3845515d676d7a80868f939da0a7adb3ada2978f82766d625a50483e352f271f1a140f0b0604000000000000000105080d13192029313a434d57606b74818e97a1adb9c4cfd9cfc1b8ac9f92867a6d6054473c32271b0f0300000000000000010d18242f3a4854606b7683909da8b2bdc9d5d9cec4b9ac9f93877c6f62594f43392f241810060002020202020202020202020202020202020202020202020202020202020202020202020202020202010000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f4446474747474747474747474747474746443f382f261c11060000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000406080e11161b21272c333b4149505a626b707e87929fa4aeb9c2ced7e1d7cdc1b9ada1968c8073685e52463b3025190d000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1921292f34373839393939393939393939393939393736322d271f170d0300000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000a131f2c3845515d67717e8b95a0acb7c1cdcabfb4aa9f93877c6f665c51473d32281e12090000000000000000000000000000000000000000020e1a26313945515d67717e8b959faab4bebcb1a79d928b7f726c615950483f34363d424a5053585f6266686e707274747575747372716f6d6764605d56534d454039313940454d5254575f6265696a6b666d6c656b6a676562605b5454575e676d78818e9184796d60584e42382d20170d020000000000000000000000000714212d3a46535f6974818e99a3aebac3cedbe4e0d6cabeb3a9a0958e81786d665b544c433c332d261d1b15110d0806040000000000000305060b0f12181d242930353e454d565d676d79829097a1abb3a9a19691847b6e695e564d433a2f24180d01000004101d2935404b555d676d737b828990959ea1a9a89f92857b6e615b51483e3629241d150d09030000000000000000000000000002080e171f28313b454f59616d7a85929ea8b2bdc9d5d3c6baaea2988b7f7265584e43372b1f1306000000000000000007131d2c38444f5964717e8a96a1acb9c5d0dbd4c8bbafa49a8f82766b60554b40352922180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a5053545454545454545454545454545453504a42382d22170b0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000002050b0f161b21292f383f445059616c717e8b929da7b1bcc5d0dbdfd5c9bdb2a89f92867a6d61564c41362a1c12070000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f121b22292d30313636363636363636363636362d2c29241e160d0d040000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000006111c2935404b55606d7984919ea7b1bcc9d3c7baaea2988e81746a5f544b40352b20160c00000000000000000000000000000000000000000005121e2a36424d57606d7a85919ea7b1bcbeb3aa9f958d80746d625a50473e363b42464f545c60656a6e72767a7d7f8081828281807f7d7c7975716d68615f57514b433d424b51575e6167696e7275767879797978777674716f6c66626058555c666d7881897d70675d51463c2f261c0e0500000000000000000000000005121e2a36424d57616e7b87929fabb5bfccd5e0e2d7cec5baada2979083796d665c544a423a3128221c140b0a04010000000000000000000000000003070c12181e2429333b444c555d676e7a859199a3a9a19791847b6e695e574d443b31281d1307000000000c18242f39434c555d60696e757d838b92979fa0968b7e71695e52493f362c2318120b030000000000000000000000000000000000050d161f29333d46525d68727e8b96a1adb9c5d0d6cabfb4aa9d9184776a6054473b2e2215090000000000000000010f1b27323d4653606d7884919ea9b3becad6d8ccc0b6ac9f94897d70675d51453f342a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606060606060606060606060606060605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000040b0f171d262d333f47505a626c74808d959fa9b3becad6dfdacfc4baaea2988d8073685e5246392e23180c0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e4343434343434343434343433a39352f2820160c010000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000c17232e3845515d67727f8c96a1adb9c3cec9beb3a99f92867b6e61584e42392e23190e040000000000000000000000000000000000000000000714212d3a46535f6973808d97a1adb9c2baaea2989083786d605b51483e353c454d535960666d72777b7f83878a8b8d8e8e8f8e8d8b8a8985827e7a756e69605d554f474d545c60696e73777b7f828384858686858483817e7c79736f6a6360595c666d777d706b60554b40342a1d140a000000000000000000000000000714212d3a46535e6974818e99a3afbdc6d1dee7dbd0c5bcafa59f92857b6e675d544a42382f281f17110a0200000000000000000000000000000000000001070c13192129323a434b555e686f7c87929fa19792857c6e695f574d453b32291f160c010000000007121d27313a434c51575f616b70787e858d92999184786c60574d42372d241a11070100000000000000000000000000000000000000040d17212935414c56606d7984919ea9b3becad6d0c6b8aca095887c6f6255493c31261a0e0200000000000000000a161f2b3844505c66727f8b97a2adbac3cfd9d2c7beb0a69d9184796d605a50463c332920170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c665b5044382b1f120600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000050b141b2227353e48505a606d78839097a2adbac3cdd9e0d6cabfb4aa9f92867a6e61544a4034281c100400000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b5050505050505050505050504745413a32281e13080000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000003101c28343f4a54606d7985929ea8b2bdcbd2c6b9ada1978d8073695e52463c30271d110700000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3bebdb0a69f92857b6e665c51493f363d464e575e616b70787f84888c90939a989a9b9b9c9b99989798928e8a86827b736d6760594f575f666d737b8084888c8f90919298939291908d8b8884807c76706b615f5c656c706c61594f43392f22180b0200000000000000000000000003101c28343f4a54616e7b86929fabb5c0cfd8e3e2d6cabfb4aa9e938a7e70695f554b42382f261d160d060000000000000000000000000000000000000000000002080f172028313a434d56606a727f8b959792857c6f6a5f574d453b332920170d040000000000010b151f28313a41454d535960666d727a80868f8b7e72665b50453b30251b120800000000000000000000000000000000000000000000060f1924303a45515c66727f8b97a2adbac6d3d4c8bcb1a7998c807366574d42362a1e1205000000000000000003101c28343f4a54606d7985929fa7b1bdc7d1d9d0c2b8aca0968e81756c62584e453b332920170e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a7a7a7a7a7a7a7a7a786c605346392d20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000020a1117232c363e44515c666e7b85929fa7b1bcc8d4dedbd0c5baaea2988d8073665c5144382c1f140900000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056585d5d5d5d5d5d5d5d5d5d5d5d54524c443a2f24190d0100000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000006121f2c3844505c66727f8b97a1adbac4cfc9bdb2a89e92857a6d60574d42342a1e150b000000000000000000000000000000000000000000000714202d3946525e6874818e98a3aebbc0b5ab9f948a7e71695f544b40373d464e585f696e757d838b9196999d9fa4aca7a7a8a8a7a6a5aaa29f9b99928f868079706b61595f696e7980868d9196989c9d9e9fa29f9f9e9d9a9896918d89837d766e69625b6064615a50473d31271d10060000000000000000000000000006121f2b3844505c6673808d99a3aebdc7d1e1e9dfd3c6baaea2988f82756c61574d433930261d140b0400000000000000000000000000000000000000000000000000050e161f28303b444e58606d78839092857c6f6a5f574e453c332921170e0500000000000000030d161f282f353b42464f545c60686d737b8285796d60544a3f33291f130900000000000000000000000000000000000000000000000008131e2834404b54606d7985929fabb8c3ced9cec3b7aa9d908377695f53463a2d2114060000000000000000000b17232e3845515d67727f8c95a0abb5c0cbd7d4c8bdb2a89e938b7e716a5f574d453b322920191006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c87878787878787878787878787877b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000006111a242834404a545e69727f8b95a0acb8c1ccd7e2d6cabfb4aa9e9185796d6053463b31261a0e02000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23171717171717171717171717171717171717161615151312100c07080705020000000000000000000000000000000000000000000000000000000000000000000815212d3945505a6264696969696969696969696969605d564c4135291d110400000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000713202d3a4653606d7984919ea9b3beccd2c5b9aca0968b7f72685d52453b3022180c0300000000000000000000000000000000000000000004101c2834404b55616e7a86929faab4bfbbafa3998f82766c61574d42393d474f58606a6f7b828991959ea0a8a9acafb6b3b4b5b5b4b3b2b4aeacaba39f98928c847d706b61696e7b838d92989ea0a8a8a9abacaeacabaaa9a7a8a19e9a949089827b716c605c545550483e352b1f150b00000000000000000000000000000713202d3a4653606d7984919eabb5bfcfd9e3e1d5c9beb3a99f92867b6e615a50453b31271e140b02000000000000000000000000000000000000000000000000000000040d161e29323d44505c66707d89867c6f6a5f584e453c332a21170f05000000000000000000040d161e242931363d424a50565d60696e757b6e675d5142382d20170d01000000000000000000000102020201000000000000000000020c18232e3945515c6774818d9aa8b1bdc8d4d1c5b8aca095887b6e6155483b2d22170b00000000000000000006111c2935404b55606d78839099a3afbbc4ced9cec3baafa59f92867c6f695e574d443b322b2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c89939393939393939393939399867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000081218232e39424d57606d7883909da6b0bbc7d3dedbd0c6b9ada1978a7d7164574d42362a1e1205000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232221201f1c18181514120e0906030000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717676767676767676767676766d685d5245392c20130700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000006121f2b37434e5864717e8a96a1acbbc5cfc9beb3a99e9184796d60564c4133291f10060000000000000000000000000000000000000000000006131f2c3845515c67737f8c98a3aebcbeb3aa9f92877c6e625a50453b3b454f59606a6f7c848f949da0a7acb2b6b9bbc0c0c1c1c2c1c0bebfbab8b5aeaaa39f9691877d706b6e7b8490959fa3aaacb2b5b6b7b8bab9b8b7b6b4b2adaba69f9c948f867e746d665d554b42392e231810070000000000000000000000000005111d2a36414c5663707d8a97a1adbdc6d1e1e6dacfc6b9ada1978c7f72695e52483e332a1f150c020000000000000000000000000000000000000000000000000000000000040c172028343f4a54606b75817d6f6a60584e463c332a21180f050000000000000000000000040c13191f262a30383f444c52575f62696e695e554b402f261c0e05000000030607080a0b0c0c0d0e0f0e0e0d0c0b0807060300000007121d2934404b55626f7c8995a0acb8c5d1d4c8bcb1a7988b7f726553493f33271b0f030000000000000000000d18242f3a44505c666f7c87929fa8b2bdc9d5d5ccc1baaea39891847b6e695e564d443d3428231c140c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a09f928679675d5145392c1f130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000007121c27303b44505c666f7c89949eaab7c2cdd8e2d5c9beb3a99c8f8276695f53463a2d211408000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3030303030303030303030303030303030303030302f2f2e2d2c28232421211e1a15130f0a04010000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8383838383838383838383827a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000815212e3a47535f6a7683909da8b2bdcdd2c6b9ada1978a7e71665c51433a2f20170d00000000000000000000000000000000000000000000000713202d3a4653606d7985919eaab4bfbaaea2988d80736a5f53483e38414d57606b707c8591969ea6acb1b8bdc3c6c8ccd2cecccbcacad0cac6c5bfbbb4aea8a09992867d707a849196a0a7aeb4b8bdc2c3c4c5c6c6c5c4c3c0bdb9b8b0aba69f98928b81786d675d544b40342822190c030000000000000000000000000713202d3946525e6875828f9ba9b2becfd8e3e2d5c9beb3a99e9285796d60574d42362c21180d0300000000000000000000000000000000000000000000000000000000000000050e17232e38424f59606c796f6b60584e463c342a21180f060000000000000000000000000001080d141a1e262e343a41454d53575e615e574d43392f1d140a0507060c10121315161718191a1b1c1b1a1a1917151312100b0606040c18232f394754606a7784919daab7c4d0d9cec2b5a99c8f8276655b5044372b1f120500000000000000000007131d28343f4a545f6a73808d96a0acb9c0cad3d6cbbfb4aaa19691847b6e685e564e463e342e261e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4adadadadadadadac9f9285796c554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000b151e28343f4a54606a75828f9ca6b0bbc7d3e1dacfc4b9ac9f93877b6e6155483b2f24190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e312e2d2a25221f1b15110d0701000000000000000000000000000000000000000000000000000d1a2633404d596673808c90909090909090909090877b6e6154473b2e21140800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000004101d2935404b55626f7c88959fabbac4ceccc0b6ac9e9285796d60544b4031281e0e050000000000000000000000000000000000000000000005111e2a36414c5664717e8b97a1adbcbfb5ab9f92857a6d60584e43333f49535e69707d869297a1a9b0b8bcc3c8ced2ccc7c6c3c0bebdbdbec0c3c5c7c6bfbab2aba39892867c828f96a1a9b1babfc6c8ccc7c6c2bfbcbbbdbec1c5c5c2bcb7b0aaa29f938e82796d665c51453f342a1e150b0000000000000000000000000714212e3a4754616d7a86929facb9c4cfdfeadfd2c6b9ada1978c7f72675d51453b30241a0f0600000000000000000000000000000000000000000000000000000000000000000006111c26303d44505b656c6560594f463d342a22180f060000000000000000000000000000000003090c141c23282f353c42474d5354534d453b31271d0b0e111414171c1f202223242526272828282726262422201f1c171313100c121d2b37434e586773808d9aaab4becad6d2c5b8ab9f9285796c605346392d201306000000000000000000010b17232e38424e58606d7984919ea4aeb8c1cbd5d0c6bcb2a8a09691847a6e68605850443f383028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bababababab8ab9f9285786c5f52452f24180c0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000030c17232e38424e58636f7c89949fabb7c5cfdae0d4c8bbafa49a8c7f7265564c4135291d11040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49494848464440413e3b3a36312e2b27201d18130d080100000000000000000000000000000000000000000000000d1a2733404d5a6673808d999c9c9c9c9c9c9c9c94887b6e6155483b2e22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000006131f2c3945515d6774818d9aa7b1bcccd4c8bbafa49a8d8073665c5142392e1f160c00000000000000000000000000000000000000000000000714202d3946525e687683909ca9b3bebbaea3998d8073685d52463c3744505b656e7b859298a2a9b2bbc1c8ced0cac7c0bbb9b6b3b1b0b1b1b3b6b9babfc6c4bdb4aaa29892868f949fa9b2bbc3cbd0c7c0bbb9b5b2afaeb0b1b4b8babec5c2bcb4aea59d948f82786d605b51463c30271d120700000000000000000000030f1c28333f4a5464717e8b99a3aebbc7d3e0ebded1c5b8ab9e9285796d60554b4033291f120800000000000000000000000000000000000000000000000000000000000000000000000a141e27333f49535b605b534f473d342b2218100600000000000000000000000000000000000000020a11171e242931373b42464846423b33291f1514191e202123282c2d2f3031323334353535343332312f2d2b2823201f1c18121b27323d495663707c8998a2aebac6d3d3c6baada297887b6e6255483b2f2215070000000000000000000006111c26303c45515d67707d89929da6b0b9c3cdd6cec4bab2a8a09691837a6f6a615a504a423c342e271e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bec6c6c6c5b8ab9e9285786b5f52452f24180d0100000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000006111c26303d4854606b76828f9ca9b3becad6e2d8ccc0b6ac9c8f8376685d5245392c2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565656565656565656555453514a4e4b4846423c3b37322c29241d19130c04000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7a9a9a9a9a9a9a195887b6e6255483b2f22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000714202d3a4753606d7985929fabb8c2cdd2c6b9ac9f93877b6e61544b4030271d0d0400000000000000000000000000000000000000000000000814212e3b4754616e7a86939facb9c4b9ac9f92867b6e61564c4137434e58606c77828f97a2aab3bbc4cdd4cec6bfbab5afaca9a6a4a3a4a5a6a9acaeb4b9bdc4bcb4aaa29993999fa6b0bbc4cdccc3bdb5afaca8a5a3a2a3a5a7abadb3b8bdc3bebaafa69e948e81746d63584e43392e23180c0100000000000000000006121f2b3844505b6675818e9babb5bfcbd7e3e0d4c8bcb1a79a8d8073675d5143392f21170d000000000000000000000000000000000000000000000000000000000000000000000000020c17222d38414950535049413d342b2219100700000000000000000000000000000000000000000000060b131920262b31363a3b3a363129211a1e21252a2d2e2e34383a3b3d3e3f3f4041424141403f3e3b3a38342e2d2c28231f1c202d3a4653606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e2e23180c00000000000000000000000a141e2935404b55606b74808d949ea7b1bbc4ced6ccc4bab2a8a09591847c716c605c544e444039302a261f1a140e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd3d1c5b8ab9e9285786b554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000a141e2c38434f5964717d8a97a1adb9c6d2dfddd2c5b9ac9f92867a6d6054473a2d2114080000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f63636363636363636363636363636363636363636363636363626261605c545a5754534d4947433d39352f29241e160d090200000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b6b6b6b6aea295887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000004101d2935404b5564717e8a98a2aebac6d5c9bdb2a89c8f8276695f5342392e1e150b000000000000000000000000000000000000000000000005111d2935414c5665727e8b99a4afbbbdb2a89b8e8174695e52433a3a47535f6a727f8c949fa9b3bcc5cdd3cbc3bcb4aeaba49f9d9998979798999c9fa3abadb2bbc1bcb4aba49fa4abb0b8c2cdcbc2bab1aba49f9b99969596989a9fa2a9acb1bac0c1b8b0a69d938c7f726a5f554b4034281d12070000000000000000000613202d394653606c7985929eabb8c5d1dce7ddd1c4b8ab9f95887b6f62554b4031271d0f050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4446443f382f2b2219100700000000000000000000000000000000000000000000000001080d151a1f252a2d2e2d2a251f1f262b2e30363a3b3e3f444648494a4b4c4d4e4f4e4d4d4c4a4846443f3d3a38342e2b28232c3844515c6675828f9ca8b5c2cfdbd0c1b4a79a8e817467544b4034281c100400000000000000000000020c18242f39434f59606c78828f95a0a9b3bcc6d0d5ccc3bab1a7a09691867e746d665f58514a423c36312a251f19140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679675d5145392c20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000020c1b27323d4653606d7985929eabb8c5cfdae0d3c7bbafa3998a7d7164574a3e3024190d0100000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c70707070707070707070707070707070707070707070707070706f6f6e6d66696764615e5756544e4745413a352f281f19140d05000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1c3c3bcafa295897c6f6256493c2f23160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006131f2c3945515d6775828e9baab3becad2c5b9ada1968a7d7064574d4230271d0c0300000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0b8aca096887c6f62574d4236414c56626e7c86929fa6b0bcc5ced3c9c1b9b1aaa29f9993908d8b8a8a8b8d9092999ea1a9afb7c1bdb5afacafb5bdc2cad0c2b9b1a8a099938f8c89888a8b8e92979da0a8aebbbfc1b8afa59f92877c6f675c5145392f24180d0100000000000000000916232f3c4956626f7c8997a2adb9c6d2e3e9dcd0c3b6a99d9083766a5f5343392f1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373937332d261d19100700000000000000000000000000000000000000000000000000000003090e141a1e2121211d23282c31373a3b4246474b4a505355565758595a5b5b5b5a5959575553504a4a4645403a38342e2934404a5466737f8c99a6b2bfcfdad0c3b7aa9d908477665c5145382c1f1306000000000000000000000007121d27313d44505b666d79839097a1aab4bdc6cfd5ccc3b9b1a8a198928b80786e6a605c544e46423b36302a251f1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d3c7baaea398867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a161f2c3845515c6674808d9aa9b3becad6e2d7cbc0b5ab9b8e817468564c4135291d110500000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbeb2a5988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b79787674716e696762605854514b45413a312a251f170e080000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cec9bcafa296897c6f6356493c3023160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000714202d3a4753606d7986929facb8c5d0d1c4b8ab9e9184786d6053463b3120150b0000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c4b7aa9e9184776a6054453b3946525e6874818e98a3aeb8c2ced5cbc1b7afa79f98928d8783807e7d7e7e8083868c91969ea5afb7c1c0bbb9bbc0c7d0d2c7bdb1a79f959187827f7c7b7d7e81858a91959da4aeb5bdc1bbafa3999083796d60554b4035291d120700000000000000030f1b27333f49536673808c99a9b3becad6e2e1d4c8bdb1a8988b7f7265584e4331281d0d03000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2b27221b140b0700000000000000000000000000000000000000000000000000000000000003090e11171d24292e34383c4247484d525458545c606263646566676868686766656462605c545753514b46443f38352f3d4a5763707d8a96a8b2bdc9d5d2c5b9ac9f9286796d6053463a2d2013070000000000000000000000010b151f28333f4a545d676e7b859198a3abb4bcc5ced5ccc3bab2aaa39f928d837c736d666058534d46423b36302a251f1a140e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdad7cbbfb4aa94877b6e6154483b2e21150900000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8997a1adb9c6d2dfdcd1c4b7aa9e918477685d5246392d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918b8989898989898989898989898989898989898989898989898989898887868483817e7b78736f6a65605d55524c433e3630292019110900000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec9bcafa396897c706356493d3023160a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000b1724313e4a5764717d8a98a2aebac6d3c8bcb1a7998c7f73665c5044382b1f12030000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a3afbbbcb1a7998c807366584e4334404a54616d7a86929faab4bfcad4cec3b9afa59e959086807a76737170717273767a7f848e939ea5afb9c3c7c6c7ccd2d7ccc0b5ab9f9590837c7572706f707274797e848d929fa3abb5bfc0b5aba0958c7f72675d5145392f24180c0000000000000005121f2b3744505b6576838f9ca9b6c2cfdbe6ded1c5b8aca095877b6e6154483c3121160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f201f1b17110a0200000000000000000000000000000000000000000000000000000000000000060b141b22272f35394045464d5355565e616468666d6e7071727273747574747372716e6d666763605c5453504a4540393a4754616d7a8796a1adb9c5d2d4c7bbafa399887b6e6255483b2f221508000000000000000000000000030d17222d38424b555e696f7c869299a3aab4bcc5cdd5ccc4bcb4aea49d9590867f786f6a615f57524d46413b36312a261f19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a9b3bec9d5dcd1bcafa396897c706356493d31261a0d04000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000c18232e394653606c7985929eabb8c5d1deded2c5b9aca096877a6d6154473a2e21140700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0707070707070707070707070707070707070707070707070707070707111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc3b8ada39b98969696969696969696969696969696969696969696969696969695959992918f8d8a8784807c77726d67605d565046423b322b231b130a010000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec9bcb0a396897d7063564a3d3023170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005121e2a36424d576874818e9baab4bfcad1c5b8aca095877b6e61544a3f34281c1003000000000000000000000000000000000000000000000004101c2934404b556774808d9aabb5c0b8aca095887b6f6255483c3844515c66737f8c98a3aebcc6d1d0c6bcb1a79e938f837b736e68666564646566676d727a818e939ea7b1bcc8d2d4d7ddd4c7bbafa4999083796f6a6663626365676d7179808a9299a3aebbbfbdb1a79e9285796d60554b4035291d12070000000000000613202d394653606c7985929fabb8c5d2deeaddd0c4b7aa9d918477695e53463a2d21140400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213120f0b0600000000000000000000000000000000000000000000000000000000000000010710181d262d333a41454b5153575f6266696e717477797b7c7d7e7f8081828180807f7d7b797674706d6664605c54514b443f46525e687884919eabb7c4d1d7cbc0b5ab968a7d7063574a3d3024170a0000000000000000000000000006111c262f3a434d57606a717e879298a2aab3bbc4ccd5cec6bfbaaea79f99928c837c746e69615e57524d46423b36312a251f18130b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8797a1adb9c6d2d9ccbfb3a6998c807366574d42372b1f160b020000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b5c1d0dbe1d5c9bdb2a896897d7063564a3d3023170a00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417141414141414141414141414141414141414141414141414141414141414141e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c9a9796918d89847f7a736d68615a524d443d352d251c130a0100000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabdb0a3978a7d7064574a3d3124170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714202d3a46525e697884919eabb7c4d0d0c3b7aa9d908477695e5342382e23170b00000000000000000000000000000000000000000000000006131f2c3845515c677683909da9b6c3b7aa9d9184776a5f53473a3a4653606d7985919eaab4bfcfd6cabfb4aaa0958f81796e69615e5658575758555d60686d77818e95a0abb8c3cdd9e3dfd2c6b9ac9f93877b6e676058565557555d60676d747e87929fa3adb8c2b9ada1978c7f72675d5145392e23180c0000000000000815222e3b4855616e7b8898a2aebac6d3dfe6dacdc0b3a79a8d807467574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050605030000000000000000000000000000000000000000000000000000000000000000030b1218222a2f383f444b51555c6065696e73777b7e81838688898a8b8c8d8e8e8e8d8c8c8a888583817d7975716d66605d55504a424c566976838f9ca9b6c2cfdcd1bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000a141d28313b454e58616c717e869298a1a9b2bac3cbd5d0cbc0b9b1aba39f959087817b746e69615e56534d46423b363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687885929eabb8c5d1dcd0c3b6a99d908376695f53473c31281d140c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8b97aab4becad6e2d9cebfb2a5998c7f7266594c3f3326190800000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242121212121212121212121212121212121212121212121212121212121212121212b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafb5afacaba9a7a8a19e9a96918c85807a716c615e564f473f372e251c13090000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabdb0a4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000815212e3b4854616e7b8796a1acb9c5d2cbbfb4aa9a8d807367574d4230261c11060000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c0b4a79a8d817467584e43373d495663707d8997a1adbcc6d1d3c6baaea2989083796d675e57524c4b4a4b4b4b51565d656d7883909da7b1bcc8d4e4dbcfc2b5a89c8f8275695f554e49484a4b51555d606c717e8b919ca6b0bdbeb3a99e9185796d60554b4034281c100400000000000b1724313e4a5764717d8a97aab3becad6e2e1d5c9bdb2a8968a7d7063574a3d31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151d2329343c414950555d60676d71767b8084878b8e909298969798999a9b9b9b9a9998979892908d8a85817d78726d67605b544e4e5b6774818e9aa7b4c1cddacdc0b4a79a8d8174675a4e4134271b070000000000000000000000000000020b161f29333d46505a616c717d869297a1a8b1b9c0c9cfd6cbc2bdb4aea7a099928e86817b746e68615e57534d46413b352f27221b140b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2cfdad2c6b9ac9f93877b6e62584e433a2f261e150d05000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000b17222d3b4855616e7b8898a2aebac6d3dfdbcec2b5a89b8f8275685c4f422f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d9d1c9c3c0bebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcc0bbb9b7b6b4b2acaba8a09e97928d857e766e69605951493f372e251b110700000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb1a4978a7e7164574b3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d3c7baaea398897d7063564a3d3123140a00000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebabdb2a8978a7e7164574b3e343f4a546673808c99a9b3becfd6cbbfb4aa9f92867b6e675d554d46413e3d3e3f41454c535c666f7c8995a0acb8c7d2ddd8cbbeb2a5988b7f7265574d433d3c3d40454b515a616c727f8c949fabb5c0b9ada1978b7f72675c5145382c1f130600000000000d1a2733404d5a6673808d99a6b3c0d0dbe6dfd2c5b9ada196877a6d6154473a2e211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161f272f343f464e535b60676d72797e83888c9095979b9d9fa3aaa4a5a5a6a7a8a7a7a6a5aaa29f9d9a98928e8a847e79726c665f58515965727f8c98a5b2bfcbd8cfc2b6a99c8f8376695c50432f24180d010000000000000000000000000000040d17212b343e48505a616b707c859196a0a7aeb9bec5cdd7cfc6bfbab1aba39f99928d86807b746e69615f57524d45413a332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303f4c5966727f8c99a8b2bdc9d5d4c7bbafa4998e81746a5f554b423830271f170f070000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d9084776a564c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bdb9b7b2aca9a29f97918b827b706b625b51493f372d23190e05000000000000000000000003101d2a3643505d697683909ca9b6c3cfcbbeb1a4988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000005111d2935414c566774818d9aa7b4c0ced2c5b8ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfb9aca196877b6e6154483b3844505c6676838f9ca9b6c2cfd3c7baaea3988d8073695f554b433b363031312f353a414a54606a7783909dacb6c0ccd8d5c9bcafa296897c6f6356493c312f2f35394045505a636d76828f99a3afbbbeb3a99e9184796d6053463a2d22170b00000000030f1c2936424f5c6975828f9ca8b5c2cfdbe8ded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720283139404550585f656c717a7f848b9095999da0a7a7aaacaeb4b0b1b2b3b4b5b4b3b3b2b4aeaca9aaa29f9b96918b857f786f6a635b5764707d8a97a3b0bdcad6d1c4b7ab9e9184786b554b4035291d1104000000000000000000000000000000050f19222c363e485059606a6f7b8490959da4adb3bbc2cbd1d1cbc3bdb5afaba39f98928d86817b746e69615e56514b443f382f28231d150c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8996a1adb9c7d2d7ccc0b5ab9f92877c6f675d544a423931292118120b03000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657683909ca9b6c3cfdcdfd2c5b8ac9f928579685d5245392c201307000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a474747474747474747474747474747474747474747474747474747474747474747474747474747515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f3ebe3dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d4d2d1cfcec9c5c4bdb9b3ada9a19e948f857d726d635b51493f352b20170b020000000000000000000004111d2a3744505d6a7783909daab6c3d0cbbeb1a5988b7e7265584b3f3225180c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000713202d3946525e687784919daab7c4d0cfc2b5a99c8f8276675d5145382c1f1306000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0b7ab9e918478695e52463a3a4653606d7985929facb8c5d2d2c5b8ac9f92867a6e61574d4339312a25242424292f38424e5865727f8b9aa4afbbc8d4d4c8bbaea195887b6e6255483b2f2224292f353e48515b626f7c87929faab4bfb9ada1968a7d706353493f33271b0f0300000004111d2935414c566a7784919daab7c4d0dde8dbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a434b515a626a6f787e858c91979d9fa7aaacb1b4b6b9babfbdbebfc0c1c1c1c0bfbfbfbab8b6b4aeaba8a09e97928b837c726d605c626f7c8995a2afbcd0dbd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000007101a242c363e474f5860696e7b838d929ea1a9b0babfc6cfd4cfc7c0bbb5aeaaa39f98928d87817b746e68605d555049413c342e271e18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb5c0ccd7d2c7bbafa3999184796d665c544b433b3328231d150c060000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddadfd3c6baaea298877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645754545454545454545454545454545454545454545454545454545454545454545454545454545454545e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1cdd1d2d5dadad5d2cec9c5bebab3ada69f9792877f726d635b51473d32291d140a0000000000000000000004111e2a3744515d6a7784909daab7c3d0cbbeb2a5988b7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714212e3a4754616d7a86939facb9c6d2c9bdb2a9988c7f7265554b4035291d1004000000000000000000000000000000000000000000000000030f1b27333f49536976828f9ca9b5c1b5a89b8e827568574d42363c4956626f7c8998a2aebac6d3cec1b5a89b8e8275685e52453b31271f191718181d26303d4754616e7a87939facb9c6d2d4c7baaea194877b6e6154483b2e21181d2429364047535f6a74818d98a2aebabdb2a89a8e8174655b5044372b1f12050000000713202c3945525d687985929facb8c5d2dfe6d9ccbfb3a6998c807366594d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c555c606c717c838b91979ea1a9abb1b7b8bcc1c3c5c7cbd1cbcccdcecececdccd0cac7c5c3bebab8b2aca9a19e9590867f746d66616e7b8794aab4bfcad6d3c7baaea398867a6d6053473a2d201407000000000000000000000000000000000008121a242c353d464e575f696e79808a92979fa6aeb4bcc1c7cdd1cbc6bfbbb4aeaaa39f99928e86817b736d67605b534e454039302a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808c99a4afbbc6d0d7cbc0b5aba0968e81786d665d554d453e342e271e180f0701000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e2d6cabfb4aa95887c6f6255483c2f221509000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164616161616161616161616161616161616161616161616161616161616161616161616161616161616161616b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9babfbdc1c4c5c9ced3d6dbd9d5d0cac4beb9b0a9a199938b7f726d62594f443a2f261c110600000000000000000004111e2b3744515e6a7784919daab7c4d0cbbfb2a5988c7f7265594c3f3226190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000a1724313d4a5764707d8a9aa4afbbc8d2c5b9ada196887b6f6255483c2f24180c0000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c0b3a6998d8073665a4d40303e4a5764717d8a97aab4bfcad6cbbfb4aa988b7e7265564c4133291f150d08070b15202d3946525e687784919daab7c4d0d4c8bbaea195887b6e6255483b2f22151218242b37434e58616d7a86929facb8c4b8ab9e9185786c605346392d2013080000000714212d3a4754606d7a8798a2aebac6d3dfe4d7cabdb1a4978a7e7164574b3e31241808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28313b444c565d676d757e8690959ea1a9adb2b8bcc2c5c8ced0d2d2d1cecbd0cac6c5c4c5c6cad0caced0cac6c4bdb9b3ada79f99928c81786d676d7a8698a2aebac6d3d6cbbfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000008121a232b343c454d575e676d747d858f949fa3aaafb8bcc2c9ced1cbc6bfbab4aeaba39f99928d86807a716c655f58514b423c3429241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939faab4bfcbd6d1c7bdb2a89e938e81786d675e574f454039302a2118130c040000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdcad6e7dbd0bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb4b1b4b7b9bdc4c6cad0d6dbdbd6cfc9c2bbb3aba49f918c7f726b60564c42382d22170b04000000000000000005111e2b3844515e6b7784919eaab7c4d1ccbfb2a6998c7f7366594c403326190d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000010d1a2734404d5a6773808d9aacb6c0ccd1c4b8ab9e9184786a5f53473a2e1d1207000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9beb1a4988b7e7165584b3e323f4b5865727e8b98a5b1bed0d3c7baaea398887b6e6255483b3022170d03000005111e2a36414c566774818e9aa7b4c1cfdbc8bcafa295897c6f6256493c2f231607121b26313c46525e6875818e9ba9b3beb9ada197897c6f6256493c3025190d0100000915222f3c4855626f7b8895aab4bfcad6e2e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a434c565e686d79818b92989fa7adb3b9bec4c8cdd1d4d2cfc9c5c4c1bebbbfbab8b8b8babfbbbec1c4c5c9cec9c5beb9b1aba39f938e82796d677985929facb8c5d2dcd0bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000081119222b333c454d555c606b707a828b92989ea5abb1b9bdc4cacfd0cbc6bfbab5afaba39f98928d847e786f6a605c544e463f352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3846535e6975828f98a3aebac3ced7cfc3baafa59e938e81796e696159514b423c3329241d160d0600000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2d7cbbeb1a4988b7e7165584b3e3225180b000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a84919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abacb2b8babfc6cacfd7dfdad5cdc5bdb5afa39f92877d6f685e544a3f332821160a000000000000000005121e2b3845515e6b7884919eabb7c4d1ccbfb3a6998c807366594d4033261a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000004101c2934404b55697683909ca9b6c3d2cec1b5a89b8e827568584e43372b1f0b01000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a3aebabcafa396897c706356493d33404c5966737f8c99a6b2bfccd2c5b8ac9f928579695f53473a2e211406000000010d1925303e4b5864717e8b97a9b3becad6cabdb0a4978a7d7164574a3e312417060a15202a36414c5664707d8a97a2adbabeb3a9998d807366564c41362a1e110500000a1724303d4a5763707d8a96a3b0bdd0dbe7e2d5c9beb3a994887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424b555e686e7a828e939fa2aab1b9bec4c9cfd4d4cfc9c6c4bdb9b7b4b1afb4aeacabacaeb4afb1b4b7b9bdc4c5c9c9c2bdb4aea59d948f82786d7884919eabb7c4d1d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000071019212a333b434b515961686e777f868e939d9fa7acb2b9bec5cacfd1cbc7c0bbb5aeaaa29f97918b837c736d665f585145413a312a211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d57616e7b86929fa8b2bcc5d0d5ccc1b7afa59e938f837b706b605c544d453f352f281f181009000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad1dce7d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787879196a0acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929994979a9ea1a8acaeb4b9bec5cdd7dddfd6d0c7c0bbafa39991847a6d665b50443d32271b0f050000000000000005121f2c3845525f6b7885929eabb8c5d1ccc0b3a6998d8073665a4d4033271a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006131f2c3845515c677885919eabb8c4d1ccbfb3a6998c807366594d4031261b0f00000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995aab4bfbfb4aa94877b6e6154483b34404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b574d42372b1e1206000000000815222f3b4855626e7b8897a2adbac6d3cbbfb2a5988c7f7265594c3f2e23170b030d1925303a4653606d7985929fabb8c3b7aa9d908477685e5246392d20130700000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545d676e7a8390949ea5aeb4bcc2c9cfd5d7cec8c5beb9b8b2adaba8a4a2aaa29f9e9fa2aaa2a4a7abadb2b8b9bdc4c8c6bfbaafa69f948d80747784909daab7c3d0d7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000070f182129313940454f565e656c727b828990959ea0a8adb3babec5cad0d1cbc6bfbbb4aea9a19e95908780796f6a625b514c433c332b231a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b46535f6973808c96a0aab4bec7d2d3c9c1b7afa59e9590857d746d665f575045403a312a221b12060000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693aab4bfcbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b9894949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949ea0a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888a8e91969a9fa2aaadb3bbc2ccd2d9e2d9d2cbc0b5aba1968f82786c60594f43382c21170b0000000000000006121f2c3945525f6c7885929fabb8c5d2cdc0b3a79a8d8074675a4d4134271a0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac978a7e7164574b3e3124180a00000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcbaaea39886796d6053463a35414e5b6874818e9ba7b4c1ced0c3b6aa9d9083776a5d504431261a0e02000000000613202d394653606c7985929fabb8c5d2cdc1b4a79a8e817467544a3f34281c100308131f2c3845515c6674818e9aa7b4c1b8aca095877a6d6154473a2e21140700000c1926323f4c5965727f8c98a5b2bfcbd8e5ded1c5b8ab9e928578675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a44505c666d798390959fa6afbabfc6ced5d8d1cbc3bcb8b3adaba8a19e9b98959498929192989495979b9ea1a8abadb2b8bcc3cac1b8b0a69d928b7e7783909daab6c3d0d8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000060f171f272f343e444c535b60696e757c838a91969ea1a9adb3babec5cbd0d1cbc6bfbab2ada79f99928c837c726d605d554d453d352b231a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d79849198a2acb6c0ccd2d3c9c1b7afa7a097928880796e69625a514b433c342d2417110a02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a3aebac7d3e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0aaacb2bac4ced9e5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea2a9b0bbc0c7d0d9e1dcd1c7bdb2a99f948c80736b6054483e33281c100400000000000006131f2c3946525f6c7985929facb8c5d2cdc0b4a79a8d8174675a4e4134271b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222f3b4855626e7b889aa4afbbc8d4c8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdb8ac9f928579665c50443835424e5b6875818e9ba8b4c1cecfc2b6a99c8f8376695c504336291d09000000000005121f2b3744505b6576828f9ca9b5c2cfd0c3b6a99d908376665c5044382b1f120604101c2834404b5464717e8a97aab4bfbcb1a796897c706356493d3023160a00000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444f59606d78828f95a0a7b0b8c1cad0d8d5cfc6bfbab1aca9a19e9996918e8b8887868585858687888b8e9196999ea1a9abb1babec5c2b8aea49f92867a83909ca9b6c3cfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000050d151d2329323b414950575f616b6f767e848c92979fa2a9aeb3babfc6ced5d0cac4beb9b1aba39f9591867f756d675f574f473d352c231a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b45515d676e7c86929aa4afbbc0c7d0d3c9c1b9b1a9a19a938d837b716c605d554e463e3628221c140b020000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b676d6e7174787b80868c92979fa6afb5bdc7cfd9e3d9cfc4bbb0a69f93887c6f63594f44382c20160a00000000000005121f2b3744505b657986929facb9c5d2cdc1b4a79a8e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1724303d4a5763707d8a96acb6c0ccd2c6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdb8ab9e9285786b5f4a3f3434414e5b6774818e9aa7b4c1cdcfc3b6a99c908376695d5043362a1d060000000000030f1b27333f49536673808c99a6b3bfced2c5b8ac9f9285796d6053463a2d201307000c18232e3b4855626e7b8898a2aebabeb2a5988b7f7265584c3f3225190800000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56606b74808d949fa7b1b9c2cad6dbd3cbc3bcb4aea7a09d97928c8884817e7c7b7a7978797a7b7c7e8184888c91969d9fa7adb3bcc1c0baaea2988e81828f9ca9b5c2cfd9ccbfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000030b121820292f383f444d535960636c71797f858c92979fa2aaaeb4bcc1c9ced6cfc9c2bdb5aea7a098928b82796e6960594f473e352c23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a707e88939fa3afb6bec5ced3cbc3bbb3aca49f9590867e756d675f58504840332d261d140b0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5f6c7885929fabb8c5d2dedacdc0b4a79a8d8174675a4e4134271b0e000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebababababababababababababababababababababababababababababababababababababababababababababababac4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d555d60616467696e737a7f858f949fa4abb5bdc7d1dce1d6cdc2bbafa49a9083766b6155483d32271b0f0100000000000613202d394653606c798699a3aebbc7d3cec1b4a79b8e8174685b4e4135281b0e02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000c1825323f4b5865727e8b98a5b1bed2d1c4b7ab9e918478675d5145382c1f130600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beb7ab9e9184786b5e51452e34414d5a6774808d9aa7b3c0cdd0c3b7aa9d9084776a5d51442e23170b0000000000000b17222d3d4a5763707d8a96a8b2bdc9d3c6baaea298887b6f6255483c2f221507000713202d394653606c7985929facb8c0b4a79a8d8174675a4e413025190d01000e1a2734414d5a6774808d9aa7b3c0cddae6dcd0c3b6a99d9083766a5d5043372a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c3945525d68707d88939fa6b0b9c3cbd4dbd3c9c1b9b1aaa39f95908b85807b7875716f6e6d676b676d6e6f7174787b7f848a90959fa2a9b0bbc0beb4aa9f938784919eaab7c4d1d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000001070e171d262d333c42464f545a61666d727a7f858c92989fa3aab0b9bdc4cbd1d5cfc6bfbbb1aaa39f948f837b6f6b60594f473e352b22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434e58616c727f8b919fa4acb3bcc3ccd6cdc5beb6afa7a098928b81796f6a615a51443f382f261d140a00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000b17222d46525f6c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4134271a0e000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dad4cfcccbc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d1d2d5d9e0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514b51545557575f61686d737b828c9399a3abb5c0cbd7dcdfd8ccc0b6ac9f948a7d7063584e43372b1d130700000000000713202d3a4653606d798693a0b5bfcbd7cec1b5a89b8e8275685b4f4235281c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcfc2b5a89c8f827569554b4035291d100400000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e51443734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a3f34281c100300000000000614212e3a4754616d7a8796a1acb9c5d2cabfb4aa978b7e7164584b3e2e23180c0006121f2b3844505b667683909da9b6c3b6a99c90837669564c41362a1d1105000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d7a84919aa4afb8c2cbd5dcd3c9c1b7afa7a098928c837e79736e6968656261605d555c6061626468696e73797e838b92979ea6afb6bebbafa499939196a0acb9c5d2d9cdc0b3a69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000050b141b222731373d434850545c60676d737a80858d92989ea6acb2bbc0c7cfd6d1cbc3bcb4aea69e9591857d706b61594f473d342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46505a626d727f8b939aa2aab2bac1cad0d0c7c0bbb1aaa29f938e837c716c635b504a42382f261c1106000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0f4ece5dfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dddee1e5ebf2f8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686e787f879299a3afbbc0cad4e2ddd2c7beb0a69d9083776a6054473a2f24180d01000000000714202d3a4753606d7a8693a0adb9d1dccec2b5a89b8f8275685c4f4235291c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cecdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfb6aa9d9083776a5d504437333f4c5966727f8c99a5b2bfccd2c5b8ab9f928578665c5044382b1f120600000000000713202d3946525e687884919eabb7c4d1d0c0b4a79a8d817467544b4034281c1004030f1c28333f4a546774818e9aa7b4c1b8ab9e928578685e5246392d201307000e1b2835414e5b6874818e9ba7b4c1cedae7dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313a46535f6974808d96a1acb6c0cad3ddd4cac1b7afa59e9590867f78716d67615f5758555453514b5153545558575f61666d71777e858f949fa4acb5bdb5aba49f9ea0a8b2bdc8d4dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000020a11171f262b32383e424b51555d60686d737a80868f949ea1a8afb5bdc4ccd7d7cfc6bfbab0a7a09792867d706b61594f463c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343e47515b626d727f889298a0a8afbabec5ced2ccc3bcb4aea59e9591867e736d605b544a42382d221711080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d4e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe3dbd4cfcccbc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42464c52565e666c737e87929fa4aeb8c2d0d9e4d9d0c2b8aba095897c6f62554b4035291d1104000000000714212e3a4754616d7a8794a0adbac7d3cfc2b5a89c8f8275695c4f4236291c0f03000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000003101c28343f4a546a7784909daab7c3d0cbbeb1a4988b7e7165584b3e322518070000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e514437313e4b5764717e8a97a4b1bdd0d2c6b9ac9f9386796d6053463a2d201307000000000005111d2a36414c566875828f9ba8b5c2ced0c3b6a99d908376665c5145382c1f1306000b17222d3f4c5865727f8b98a5b2beb9ada297877a6d6154473a2e211407000f1b2835424e5b6875818e9ba8b4c1cedbe7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8b2bec7d2dcd5cbc2b8afa59e938e837c726c66605c55534d4b4948474540454748494b4d53545c60646c717b828b939aa4abb5bdb5afacaaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000000000000000000000000000000000000060b141a21272c303940454b51565d60686d737b828a91969fa3abb2bac1cbd1d8d1cbc1b9b1a9a29892867d706b60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222c353f49515b626d727d8691969ea5aeb3bcc2cbd1cec6bfbaafa8a098928b7f746c665b544a3f3328231a0e0500000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3ede3d9d1c9c4c0bfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2e31363a41464d545b606c727f8b929ca6b0bec7d2dde2d4c8bcb1a79b8e8174675d5145392c201306000000000814212e3b4754616e7a8794a1adbac7d4cfc2b6a99c8f8376695c504336291d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505c667885929fabb8c5d2c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1beb7ab9e9184786b5e51452e303d495663707c8996aab4bfcad4c8bbafa49a877a6d6154473a2e2114070000000000010d192530404c5966737f8c99a6b2bfcfd2c5b9ac9f9286796d6053463a2d20130700061724313e4a5764717d8a97a4b0bdbeb3a995887b6e6255483b2f221508000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975818e99a3aebac4d0d9d9cec3b9b0a69e938e81796f6a605b54514b46423e3c3b3a3835383a3b3c3e42464a51535a62696e757f889399a3abb5c0bbb9b7b9bdc3ccd5e0dacec1b4a79b8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454c52565d60696e757d848d9299a1a8b0bbc0c7cfd8d7ccc3bbb3aaa29892867d6f6a5f554b40342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232d373f49515b626b707c848e939fa2aab0bbc0c7cfd0cac1bab1aaa29f918c80786c665b50443f352c20170c02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebad1dce8d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d181d202122262a30353b424a5059626d73808d949facb6c0ccd8e2d9cdc3b8ac9f92867a6d6053473a2d201409000000000815212e3b4854616e7b8794a1aebac7d4cfc3b6a99c908376695d5043362a1d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000713202d3a4653606d798698a2aebac6d3ccc0b5ab95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdb8ab9e9285786b544b40342f3b4855626e7b8898a2aebac6d3ccc0b6ac96897c6f6356493c30231608000000000000081724303d4a5763707d8a96a8b2bdc9d3c7baaea399887c6f6255493c2f221608000a1623303d495663707c8996a3afbcbcafa295897c6f6256493c2f231609000e1a2734414d5a6774808d9aa7b3c0cddae6dccfc3b6a99c908376695d5043362a1d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb5bfccd6e0d4c8bcb1a79f948f81786d675f58504a45403936312f2e2d2c292c2d2e2f31363940444650575e616d727e879299a3afbbc1c6c4c5c8ced5dee7dacec1b4a79b8e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000000000000000000040a0c151d23282f353a41454c52575f616c7079808791969ea6afb5bdc6cfd8d5cdc5bcb4aaa29892857c6e675c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d373f495159616a6e7a818a92989fa6afb5bdc5cdd6ccc3bcb4aea49c928d81786c605b51473e32291e1308000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d7cabeb1a4978b7e7164584b3e3125180b000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1abacb2bac4cedae5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111070d111314151a1e24292f383f44515b606c77828f9aa4afbbc6d1dce0d3c7baaea3988a7d7064574a3d31261a0e020000000815222e3b4855616e7b8894a1aebbc7d4d0c3b6a99d9083766a5d5043372a1d1004000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212d3a4754606d7a8793aab3becad4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdb9ac9f928679665c5145382d394653606c7985929facb8c5d2d2bfb2a5988c7f7265594c3f3024190d0100000000000714212e3a4754616d7a8796a1adb9c5d2cbbfb4ab988b7e7265584b3f2f24190d010915222f3c4855626f7b8895a2aebbbcafa396897c706356493d3023160a000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbdc6d1dfd7cec6b8aca0958f82786d665c554e443f38342e2a262221201f1d1f202122262a2e34383e454d525b626c717e87929fa5afbac4ced2d4d9e0e7e7dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292f353a41454d535961676d737d848f949fa3abb4bdc6ced7d7cec6bcb4aaa2979083796d60594f443a3024190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f474f575f686d757e8590949fa3abb3bbc3ccd4cec6bfbaada49d938d80746d635a50443a3025190b020000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc4b8ada39b9895959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040607090e13191d262d333f44505b656f7c87939fabb4bfcbd7e3d6cbbfb4aa9b8e817468574d42362a1e12050000000815222f3b4855626e7b8895a1aebbc8d4d0c3b6aa9d9083776a5d5044372a1d1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000814212e3b4754616e7a8794a1adbad0d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcbaaea39886796d6053463a2d3844505b6676838f9ca9b6c2cfcec1b4a89b8e817568564c4135291d110500000000000713202d3946525e687884919eabb8c4d1d1c1b4a79b8e817468564c4135291d11040815222e3b4855616e7b8894a1aebbbdb0a3978a7d7064574a3d3124170a000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0cfd8dbd0c6bcafa59d9083796d665c544b433c332d28231d1a1615141310131415161a1c23282c333b4246515a626c717e8b939ea8b2bdc9d5dee5ebf1e6dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000070c13181e242930353b42464f555d606b6f7a828c9299a3abb4bcc5ced7d8cfc6bcb3a9a0958d80736b60564c4135291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b242d353e454e565d606c717b828c9299a1a9b1b9c2cbd4d0cabfb6aea59d928c7f726c61564c41362a1d140a0000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e1d5c9beb3a995887b6e6255483b2f221508000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918c88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f4953606a75818e99a3aebac7d3e0dcd0c5b8ab9e928578695f53463a2d2114070000000916222f3c4955626f7c8895a2afbbc8d5d0c4b7aa9d9184776a5e5144372b1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222e3b4855616e7b8894a1aebbc7d1c5b8ab9e928578665b5044382b1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a9b3bebfb4aa94887b6e6155483b2e333f4a546673808d99a6b3c0ced1c4b7aa9e918477685d5246392d201509000000000005111e2a36414c566975828f9ca8b5c2cfd0c4b7aa9d918477685d5245392c2013070815212e3b4854616e7b8794a1aebabeb1a4978b7e7164584b3e3125180b000c1926333f4c5966727f8c99a5b2bfccd8e5ded1c5b8ab9e928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adbec7d2e1d6cabfb4aa9e93897c6f675d544b42393028221c18120e0908070604060708090e12181c202930363f48505a626c75818e96a1acb9c2ccd8e3eff3e6d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191e242931363e434b515960686d757f879299a2aab4bcc5d0dbd8cec5bbb1a79f93887d70685d52463a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333c434c525a61696e7880879297a0a7b1b9c2cbd5d6c8c0b7aea49f93887d70685e52463e2f261b110600000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818e9aa7b4c1cddadfd2c6b9ada19786796d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a5988c7f7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b84919eabb7c4d1deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ada197887b6e6155483b2e2215080000000916232f3c4956626f7c8995a2afbcc8d5d1c4b7aa9e9184776b5e5144382b1e1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000915222f3c4855626f7b8895a2aebbc8d0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9bcb0a396897d7063564a3d302d3d4a5764707d8a97a8b2bdc9d2c5b9aca096877a6d6154473c31261a0e0200000000010d192530404d5a6673808d99a6b3c0ccd2c6b9ac9f93867a6d6054473a2d2114070714212e3a4754616d7a8794a0adbabeb2a5988b7f7265584c3f3225190c000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d9aa9b2bed0d9dfd3c6baaea2988e81756b60554b423930271e17110c070000000000000000000000070c10171f252a363f48505a606d7a84919ea6b0bbc7d3dfeaf5e6d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000200000000000000000000000000000001080d13191f262a313940454f565d616d727e879298a2aab4bfcad6dcd7cdc3bbafa49a91847a6d61564c41362a1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212a313a414550575e666d737d8591959fa7b1b9c3ccd6d2c9c0bbafa49a92857a6d615a5041382d22170b00000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d0ddded1c5b8ab9e928578675c5145382c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3c46535f6975828f9ca8b5c2ced9e2d5c9beb3a9978a7e7164574b3e3124180b000000091623303c4956636f7c8996a2afbcc9d5d1c4b7ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d0c3b6aa9d9083776a5d50442d22170b000000000000000000000000000000000000000000000000000000000613202c3945515d677885929eabb8beb2a5988b7f7265584c3f2d2e3b4754616e7a8796a1acb9c5d2c8bdb2a8988b7e7165574e42372b1f14080000000000081824313e4b5764717e8a97a4b1bdcad4c8bbafa49a897d7063564a3d302317090814212e3b4754616e7a8794a1adbabeb2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0bcd0dbe6e2d6cabeb3a995887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919daab7c4cfdddfd2c5b8ac9f92867b6e61594f433930271e150c06000000000000000000000000000000050d141a242d363f45525d68707d89949fabb7c3cdd8e4f0e5d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000030607090c0f0c0b09060100000000000000000000000002080d141a1f272f353d444c525b626c707d869298a2aebac0cad4dfd8ccc0b6aca1968d8074685e5246392f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f282f353e454d545c606b6f7b8390959fa7b1bac4cfd9d8ccc0b6aca1978f81756c6153493f33271b0f03000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdcd0c3b6a99d9083766a554b4034291c1004000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164626262626262626262626262626262626262626262626262626262626262626262626262626262626262626b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765727e8b98a7b1bcc8d4e0dacfc0b3a79a8d8074675a4d4134271a080000000a1623303d495663707c8996a3afbcc9d6d1c5b8ab9e9285786b5f5245382c1f0600000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d0c3b6a99d9083766a5d5043372a1d060000000000000000000000000000000000000000000000000000000004111d2935414c556a7683909da9b6c0b3a79a8d807467544a3f332d3946525e687884919eabb7c4cfcec3b6a99d9083766a5f53473b3025190e05000000000916222f3c4955626f7c8895a2afbbc8d8ccc0b6ac998c7f7366594c4031261a0e0815222e3b4855616e7b8894a1aebbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a9b3becad6e2e6dbcfbcafa396897c706356493d3023160600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded5c9bdb2a8998d8073695e52473d31281e150c0300000000000000000000000000000000000209121b242935414c56606b76828f9ca7b1bcc8d4e3eee5d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000406060b10121316191c191816120d070000000000000000000000000003090d151d2429323a4146515a616b707d86929fa4aeb8c2cfd9ddd2c7beb2a99f92867a6d61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960696e7a839095a0a8b2bdc7d1dcd2c7beb3a99e938a7d71655b5044372b1f150a000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3e0dacec1b4a79b8e8174685b4e412f23180c00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645755555555555555555555555555555555555555555555555555555555555555555555555555555555555e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b1a26313b4854616e7b8795a0acb8c5d1dedbcfc2b5a89c8f8275695c4f422f24190d0100000a1723303d4a5663707d8996a3b0bcc9d6d2c5b8ab9f9285786c5f52452e23170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000010d19242f424e5b6875818e9ba8b4c1b5a99c8f8276665b5044382b36414c566875818e9ba9b3bec9d1c4b7ab9f95887b6e62564d41362a20170d04000000091623303c4956636f7c8996a2afbcc9ddd2c2b5a89c8f827569574d42362a1e120915222f3c4855626f7b8895a2aebbbdb1a4978a7e7164574b3e3124180b000714212d3a4754606d7a8797a2adbac6d3dfe4d8cbbeb1a5988b7e7265584b3f2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b1bdc8d4ded2c5b9aca196887c6f62574d42352b1f160c030000000000000000000000000000000000000000091219242f3a444f5963707d89959fabb8c7d2dde8e4d7cabdb1a4978a7e7164574b3e3124180b00000000000000000000010407070c101314171c1f202226292525221e1811090100000000000000000000000000030b1218202830353f485059606b717e8a929ca6b0bdc7d1dcd9d0c4baaea2988c8073675d5145392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f575f686d7a839096a1abb5c0cbd7d9d0c5bbafa59d9083786c6053463c31261b0f030000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000004101c2934404b5565727e8b98aab4bfcbd7e3d7cbbfb5ab988b7f7265584c3f3225190700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a484848484848484848484848484848484848484848484848484848484848484848484848484848515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000914212d3a46535e697783909daab7c3d0ddddd0c3b7aa9d9084776a554c4135291d110400000a1724313d4a5764707d8a97a3b0bdcad6d2c5b8ac9f9285796c5f4a3f34281c1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000008192633404c5966737f8c99a6b2bfb8ab9f9285796c605346392d303d4a5764707d8a97a1adb9c7d2c7bcb1a7998d8073685e52463d32291f160d0806080e1724313e4a5764717d8a97a4b0bdcad7d1c5b8ab9e928578695f53463a2d21140916232f3c4956626f7c8995a2afbcbdb0a3968a7d7063574a3d3024170a000613202c3945515d677885929fabb8c5d2dee7dacdc0b4a79a8d817467544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfced9ded1c4b7ab9e9184786a5f54453b3023190d040000000000000000000000000000000000000000000008131e28323d4854606b7783909dabb5c0ccd7e3e3d6c9bcb0a396897d7063564a3d3023170a000000000000000102080d111314181d1f2023282b2d2f323532312e29231b1309000000000000000000000000000001070e161e2429363e474f59616c73808d949fabb5c0cbd7e2d6cabfb4aa9e9285796d6053473a2f24180c0000000000000000000000000000000000000000000001040607080806020000000000000000000000000000000001080f171e262e343d454d565d686e7a849199a3afbbc4ced9d6cdc1b8aca0958a7d7064584e43372b1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2d1dce0d3c7bbaea399897c6f6256493c2f23160900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cddadfd2c5b8ac9f928579675d5145392c20130600000b1724313e4a5764717d8a97a4b0bdcad7d2c6b9ac9f938679665c5044382b1f1206000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdbaada297887b6f6255483c2e2d3a4653606d7985919eacb6c0cccdc2b8ab9f92857b6e61594f443a31281f1914131419202a36424d5766737f8c99a6b2bfccd9d2c6b9ada197887b6e6155483b2e2215071724313d4a5764707d8a97a3b0bdbcafa396897c706356493d3023160a0004111d2935414b556a7784909daab7c3d0dde9dcd0c3b6a99d908376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd7ccc0b5ab9a8d807467584e4333291f10070000000000000000000000000000000000000000000000010c16202c38444f5964717e8a99a4afbbc7d4e0e3d7cbc0b5ab95887b6f6255483c2f221509000000000000060d1213191d202124292c2d2e34383a3c3f423f3e3a342d251b1107000000000000000000000000000000040c1319242c353d47505a606d78828f99a3afbbc6d0dbdbd0c6b9ada2978b7f7265554b4035291d1004000000000000000000000000000000010507070a080d1113141514120f090300000000000000000000000000000000050c141c2328333b444c565e686f7d87929fa8b2bdc9d5dfd4c8bcb1a79d9083776a5f53473a2e2115090000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000020e1a2531404d596673808c99a6b3bfccd9dfd3c6baaea298877a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7d4c7bbafa49986796d6053463a2d201307000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8beb3a9988b7e7265544a3f342c3844505c6673808d9aa4afbbc8d3c6baaea2988e81756b60564c433a312a252120212429323b46525e697683909da9b6c3d0dcd5c9beb3a9978a7e7164574b3e2f23180c1925323f4c5865727f8b98a5b2bebeb3a995887b6f6255483c2f22150900010d18242f424e5b6875818e9ba8b4c1d2dde8dfd2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0ddd4c7bbafa499897c6f6356493c3223170d00000000000000000000000000000000000000000000000000040d1c27333d4754606d7a86939facb9c6d2dfe0d3c7bbafa399877a6d6154473a2e21140700000000010911181e1e24292c2d2f35383a3d3f4446494c4f4c4a463f372d23180d010000000000000000000000000000000208121a232c353e44505c666e7b87929faab4bfcad6e2d6cabeb3a99c908376675d5145392c1f1306000000000000000000020507080a080d1113141618191d202122211f1a150e0600000000000000000000000000000000020a11172129323a444c56606b737f8c96a0acb9c4cfdad9cec3b8aca095887c6f6255483c31261a0e0200000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8998a2aebac6d3e0ddd0c3b6aa9d908377675c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242222222222222222222222222222222222222222222222222222222222222222222b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091825323f4b5865727e8b98a5b1becbd8e2d6cabfb4aa94877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1becad7d7ccc0b5a093867a6d6053473a2d201407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c1b4a89b8e8175665c5044382c343f4a54616e7b87939facb9c3d0cabeb3aa9e93897d70685e554c433d36302d2d2d2f353c444e58616e7b87939facb9c6d2dfdacfc0b3a79a8d807467554b4034291c101a2734404d5a6773808d9aa6b3c0b9ada197867a6d6053473a2d2014070000071926323f4c5965727f8c98acb6c0ccd8e4e0d3c7baaea298887c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000b16202c3945525d687783909daab6c3d0dddfd2c5b9ac9f9286796c605346392d2013060000000009131b23292e3035393a3d404547494a505355595c585651493f34291e1206000000000000000000000000000000000008111a2328343f4a545f6974818e98a2aebac7d3e0dbcfc5b9ac9f92867a6d6053473a2d2014070000000000000003090e1214151719191e2021232524292c2d2f2e2b2620180f060000000000000000000000000000000000060f172028323b444f59606d7984919ea8b2bdc9d5dfd4c8bcb1a7998c807366574d42362a1e120500000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a13202c3945525d6874818e9baab4bfcad6e2d6cabeb3aa9a8d807467554b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417151515151515151515151515151515151515151515151515151515151515151e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e7dbd0bbaea194887b6e6155483b2e22150800000b1825323e4b5865717e8b98a4b1becbd7ddd2baada093877a6d6054473a2d211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d0c3b6aa9d9083776a5d5044372a1d06000000000000000000000000000000000000000000000000000000000005111e2a36414c566774818e9aa7b4c1b8ab9e9285796d6053463a2e2e3846535f6976828f9ca7b1bec7d0c5bcafa59e91847a6d675d554e46413c3a393a3b41454e565f6a74818d99a4afbbc7d4e0dcd0c3b6a99d908376675c5145382c1f131d2935414c566875828e9ba8b5c1b8ab9e928578675d5145392c20130600000a1623303d495663707c899aa4afbbc8d4e0e2d6cabfb4aa998c7f7266554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2ddd1c4b7aa9e918477675c5145382c1f1306000000000000000000000000000000000000000000000000000004111d2935414c566773808d9aa6b3c0cdd9ded1c4b8ab9e918578655b5044372b1f120500000006111b252d343a3a4145474a4b515356545c6062656865625b51463a2e221609000000000000000000000000000000000000081117232e38424d57616e7b86929facb8c5d1dce0d3c7baaea399897d7063564a3d30231706000000000000050d141a1e20212325252a2d2e30322f35393a3b3a37312a21180e030000000000000000000000000000000000060d162029323d45515c67717e8a96a1adb9c5d2dfd9cdc3b7aa9d908377695f53463a2d21140700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d0dbdfd3c6baaea298897d7063564a3d2e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0808080808080808080808080808080808080808080808080808080808111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1925323f4c5865727f8b98a5b2becbd8d3c7baada094877a6d6154473a2e211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d1c4b7aa9e9184776b5e51442d22170b0000000000000000000000000000000000000000000000000000000000010d1925303e4b5864717e8b97a7b1bcb9ada197897d7063554b40342a36424d5764717e8a95a0acb6c0cccec1b9aca0969083796d676058524c48474647484c52585f686f7c87929fabb5c0ccd7e3dfd2c5b9ac9f9286796d6053473a2d2014202c3945525d687784919eaab7c3b6aa9d9083776a554b4035291d110400000714212d3a4754606d7a86939facb9c6d2dfe7dbd0c2b6a99c8f8376675d5145392c20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000713202d3a4653606d798698a3aebac7d3dccfc2b6a99c8f837669554b4034281c10040000000000000000000000000000000000000000000000000000010d1924303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c9083766953493f33271b0f030000010d18232d373f464a4c525457555d606366666d6f7275726d62564a3e3125180b0000000000000000000000000000000000000006111c26303c46525e6975818e9babb5c0cbd7e3d7cbbfb4ab998d8073665a4d402d22170b0000000000080f171f252a2d2e30323036393a3d3f414145474847433c332a201509000000000000000000000000000000000000040e17202834404b55606c7884919eabb7c4d0dbded1c5b8aca095887b6e6155483b2e22150800000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000b17222d3744505b65727e8b98a2aebac7d3e2ded2c5b8ab9f9285796d6053463a2d2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1926323f4c5965727f8c98a5b2bfcbd8d4c7baaea194877b6e6154483b2e211508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d1c4b8ab9e9185786b5e4a3f33281c0f0300000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959fabb8beb3a99b8e8174675c5145382c313b4653606d7983909aa4afbbc5cfc8bdb2a8a0959082796f6a615e565554535455565d606a6f7a849199a3aebdc7d2dce2e0d3c7bbaea399897c6f6256493c2f2316212d3a4754606d7a86939facb9c1b5a89b8e8275685b4f422f24180d0100000613202c3945515d677784919eaab7c4d1dce8dfd2c5b9ac9f92867a6d6053473b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070f0706040000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcbd6dbcec1b5a89b8e8275685b4f422e23180c00000000000000000000000000000000000000000000000000000000081623303d495663707c8996a3afbcc9d6dacdc0b4a79a8d8174675a4e412d22170b00000006121e29343f495156565d606366676d707376797c7f827f7265584c3f3225190600000000000000000000000000000000000000000a141e2a36424d5764717e8a99a3afbbc7d3e0dcd1c3b6a99d9083766a544a3f33281c0f0300000008121a212930363a3b3d3f41414647494b4d4c525455534e463c31261a0f01000000000000000000000000000000000000050e18232e3944505b6673808d99a9b3becad6e0d4c8bcb1a7978a7d7164574a3e3124170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000060f1c28333f4a54606c7883909daab4bfcad6e2d6cabfb4aa9b8e8275665c5144382c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000c1926333f4c5966727f8c99a5b2bfccd8d4c7bbaea194887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c5b8ac9f928579665b5044382b1f120600000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909dabb5c0b8ab9f9285796d6053463d322c3844515c666f7c88939fa9b3bec9cec3bab1a79f9490847c736d6864626060606264686d737c849196a1abb5bfc7cbd1d8e1d7cbbfb5ab988c7f7265594c3f30251a23303d495663707c899aa4afbbc0b5ab998c7f7266594c3f3326190700000004111d2935414c556874818e9babb5c0cbd7e3e0d3c7bbaea3998a7e7164564d41362a1c120700000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b1413100c07010000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dcdacec1b4a79b8e8174685b4e4135281b07000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d8cbbeb2a5988b7f7265584c3f322519060000000916222e3a46515b6265686d7073767a7c7f8285888c8e8174685b4e412d22170b0000000000000000000000000000000000000000020c1a25303b4754606d7a86929facb9c5d2dfded1c5b8ab9e928578665b5044382b1f1206000005101a242c333b4246484a4c4e4c525456585a565d60625f584e43372b1d13070000000000000000000000000000000000000007121d28333f4a54626f7b8897a2adbac6d3dfd9cebfb3a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000060f1a232b3844505b66717e8a95a0acbcc6d0dbe0d3c7baaea2988a7e7164544a4034281c10040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb3a994877a6e6154473b2e21140800000d192633404c5966737f8c99a6b2bfccd9d4c8bbaea195887b6e6255483b2f221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815212e3b4854616e7b8794a1aebac7d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c99a4afbbbaada2978a7d7164594f44382c34404a54606b74818e97a1adb9c1cbccc3b9b0a69f969187807a75716f6d6c6d6e71747a7f869196a0a8b2bab9babfc6cfd6dcd1c1b5a89b8e827568574d42362a1e2935414c5666727f8c99acb6c0bbafa399897c706356493d3023160a000000010d19242f3e4a5764717e8a99a3afbbc7d4e0e3d7cbbfb5ab9c8f8275685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202128201f1d18120b0300000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000003101c28343f4a546774818e9aa7b4c1cddad6cabeb3a996897c706356493d3023160a0000000b1824313e4a56626d72777a7d808386898c8f9298988f83766953493f33271b0f0300000000000000000000000000000000000000000914202c3945525d687783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d20130600000c17222c363e454d525456585b565e6163656769686d6e6a5f53473a2f24180d01000000000000000000000000000000000000000b17222d394653606c7985929fabb8c5d2dedbcec2b5a89b8f8275685c4f4235291c0700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000040d18212935414c56606c7883919da7b1bcced8e2dfd2c5b8ac9f92867a6d6054473a2e23180c000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9dfd3c6baada297867a6d6053473a2d20140700000d1a2633404d596673808c99a6b3bfccd9d5c8bbafa295887c6f6255493c2f221609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000d192633404c5966737f81818181818181818181818181817c6e6255483b2f221508000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212e3a4754616d7a8794a0adbacfd4c8bbafa49a877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000020e1a25313b4754616e7b87939facb9beb3a99d9083766b6054483c312e39424f59606d7a85929ea5afb9c3cccbc2b8b0a8a099928d86827d7c7a797a7b7e81858c9298a0a8b2b4aeacaeb4bdc4ccd6d1c4b7ab9e918478695e52463a2d202d3946525e687683909ca9b6c3b9ac9f92867a6d6053473a2d201407000000000814212d3a4754606d7a86929facb9c5d2dfe7dcd1c5b9ac9f92867b6e61544a4034281c1106000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292d2e352d2c29241d150d04000000000000000000000000000713202d3a4653606d798699a3afbbc7d4dbcec1b4a89b8e8175685b4e4235281b0700000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0ddd2c6b9ada197877a6e6154473b2e2114080000000c1925323f4c5865727f83868a8d909299999c9fa29e918477655b5044372b1f1205000000000000000000000000000000000000000004111d2935414c566975828f9ca8b5c2cfdbe0d4c7bbafa499877a6d6154473a2e2114070005111c28333e4850575e6163656769686d70727476787a7c6e62554b4135291d11040000000000000000000000000000000000000006121f2b3744505b6576828f9ca9b5c2cfdcddd1c4b7aa9e9184776b5e51442f24180c00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000030d161f2a333c46525e68717e8b95a0acb9c3cee0e0d4c8bcb1a79a8e8174685d5245392c1c1207000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818d9aa7b4c0cddaded2c5b8ab9f928578675d5145392c20130600010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bcafa295897c6f6256493c2f231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e211408000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714202d3a4753606d7a8693a9b3bec9d5ccc0b6a194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000914202d3a46525e6976838f9ca9b3beb8ab9f95897c6f63584e43372b303d45525d68717e8a939ea7b1bac3cccac2bab2aba39f99928f8a88878687888b8e92989fa2aab2b4aba39fa3abb2bac4cfd2c5b9ada196877b6e6154473b2e212e3a4754616d7a86929facb9c3b7aa9d908377675d5145392c201306000000000713202c3945525d687683909ca9b6c2cdd8e4e0d4c7bbafa3998c7f72665c5144382d22170b0200000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a423a39352f271f160d0400000000000000000000000006131f2c3845515c677986929facb9c5d2dbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ded1c5b8ab9e928578685e5246392d2014070000020e1b2835414e5b6874818e939a999d9fa3aba9acac9f9286796c605346392d2013080000000000000000000000000000000000000000010d19242f414e5b6774818e9aa7b4c1cddae3d7ccc0b5ab95887b6e6255483b2f221508000814212d3945505a61696e70727476787a7c7e808285878478675d5145392c20130600000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddaded2c5b8ab9f9285786c554b4035291d1004000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000040d151f28313c454f59616d7a85929ea7b1bccbd5dfddd1c4b8ab9f95887c6f62564c4135291d0b00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000714202d3a46525e697783909daab7c3d0ddddd0c3b6aa9d9083776a554b4035291d100400010e1a2734414d5a6774808d9aa7b3c0cddad5c9bcafa296897c6f6356493c30231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000613202d394653606c798697a1adb9c6d2d2bbaea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000005111e2a36424d5665717e8b97a1adb9bcb1a79b8f82756a5f53473e312935414c56616c75818f95a0a8b2bac3cbccc3bdb5afaba39f9b979599939995979b9fa2aaaeb4baaea3999299a1a8b2bdc9d5c9bdb2a8978a7d7164574a3e2e2a36424d5764717e8a99a3afbbbeb3a99a8d807467554b4035291d11040000000004111d2935414c5666727f8c99a7b1bcc8d4e2e3d7cbc0b5ab9e9184796d60544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474e4745403931281f160e05000000000000000000000004101c2834404b556c7885929fabb8c5d2dccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a2aebac7d3dbcec2b5a89b8f827568564c41362a1e11050000000d1a2733404d5a6673808d99a4aca9acaeb4b5b8aea399887c6f6255493c3025190d000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9e8ddd2bcafa296897c6f6356493c30231609000a1723303c4955616c717b7d7f81838587898b8d8f9196877a6d6054473a2d21140700000000000000000000000000000000000000000b17222d404d596673808c99a6b3bfccd9dfd2c5b9ac9f928679675d5145392c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000060d161f27313a434d57616b75818e97a1adb9c3cedddfd5c9bdb2a89d9083776a6054443a2f24190d00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b14212e3b4854616e7b8795a0acb8c4d1dedbcec1b5a89b8e8275685b4f422f24180d0100010e1b2734414e5a6774818d9aa7b4c0cddad6c9bcafa396897c706356493d3023160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006121e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f02000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505b667885929eabb8c5d1c9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7985929eaab4bfb9ac9f93877c6f625a5043392f303a44505a606d79839096a0a8b1b9c0c9cfc7c0bbb5aeaca8a4aba49fa4aba4a7abaeb3babfb4aa9f92869196a1adb9c5d1cbc0b3a69a8d807367544a40342d3a46535e6975828f9cabb5c0baada297897d7063564a3d2f24180d0100000000010d1924303b4855626e7b88959fabb8c6d0dbe7dcd1c7b9ada1968b7e71665b50443a3024190e040000000000000000000000000000000000000000000000000000000000000000020b1924303a444c52545b53514b433a312820170e0500000000000000000000000c18232e44515e6b7784919eaab7c4d1ddd1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b98aab4bfcad6d6cabeb3a9988c7f7265594c3f3025190d010000000c1925323f4c5865727f8b98a5b6b6b9babfc2bfb4ab998c7f7366564c41362a1d120700000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddae3d6c9bcb0a396897d7063564a3d3023170a000b1724313e4a5764717e87898b8e90929796989a9c9e95887c6f6255493c2e23180c0000000000000000000000000000000000000000061925323f4c5865727f8b98a5b2becbd8e0d4c7bbafa399867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000002090f181f283139434c555f69707d8a939ea9b3becbd5dfd9cec5b9aca0968b7e7165584e4332281e130800000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765717e8b98a7b1bcc8d4e0d8ccc0b6ac998c807366594d4033261a070000010e1b2834414e5b6774818e9aa7b4c1cddad6c9bdb0a3968a7d7063574a3d3024170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000020d19232e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000030f1c28333f4a546a7683909da9b6c3d0cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000000000000000000000009141f2c3945515d6773808c98a2aebabbafa49a8f82766c61554b403529323e45515d676e7b849196a0a7afb9bec5cbcbc6bfbbb9b5b0b5afacafb5b1b4b8babec1baaea3988d8084919eabb7c4c1bfbbb6a99c908376665c51443835404b55616e7b87939facb9c5b8ab9f9285796d6053463a2d2013070000000000000814212e3a47535f6a7683909daab4bfcad6e2e3d5c9bdb2a89d9184786c60564c41352920160c02000000000000000000000000000000000000000000000000000000000000000a141d2935414c565d6168605d554c433a322920170f0600000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcd2c6b9ac9f9386796d6053463a2d201308000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca9b6c3d0dbd3c6baada297887c6f6255493c2f221608000000000a1724303d4a5763707d8a96a9b3bec5c7cbd1c3b6a99d908376685e5246392e23180c01000000000000000000000000000000000000030f1c28333f4a546875828e9ba8b5c1cedbe2d5c9bcafa296897c6f6356493c3023160900091623303c4956636f7c8996989a9c9ea1a9a5a7a9a4978a7e7164544a4034281c1004000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e3d7cbc0b5a194877a6e6154473b2e211408000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000001070c141a222a313a434b555d676e7b85929fa5afbbc5cfdde0d4c8bcb1a79e9184796d6053463c3220160c0100000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3846535e6975828f9ba8b5c2cdd9e0d4c8bbafa49a8a7d7063574a3d3024170a0000020e1b2835414e5b6874818e9ba7b4c1cedad6cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000007121c252e353b3e4042424242424242424242424242423b3a37312a21180e0300000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b17222d424f5b6875828e9ba8b5c1ceccc0b3a6998d8073665a4d402e23180c0000000000000000000000000000000000000000000000000000000000000004101d2935404b55616d7a86929fabb5bfb6ac9f948a7d70675d51453d322935404b555e696e7b8490959da5adb3bbbfc6cacbc7c5c2bdc0bbb9bbc0bec1c5c6bfbbafa59f92867b828e9ba8b5b7b4b5aeaca99f9286796d6053463a3845515d6773808c99a4afbbbeb2a99b8e8174665c5144382c1f120600000000000006121f2b37434e5865717e8b98a2aebac6d3dfe5dacfc4b8aca0968b7e71685d52453d32281e130800000000000000000000000000000000000000000000000000000000000006111b262f3846525d686d756d675d554c443b322921180f070000000000000000010e1b2834414e5b6774818e9aa7b4c1cddad4c7bbafa499897c6f6256493c3025190e020000000000000000000000000000000000000000000000020b14212e3b4854616e7b87939facb9c6d2ded2c5b8ab9f9285796c605346392d201306000000000814212e3b4754616e7b8797a1adb9c6d2d7d2c6b9ac9f93877a6e61554b4034281d120700000000000000000000000000000000000006121f2b3844505b667683909ca9b6c3cfdce3d7cbbfb4ab95887b6f6255483c2f221509000815212e3b4854616e7b8799a3a7a9abadb3b1b3b4a79a8e8174665c5144382c1f1509000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8dcd1baaea194877b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000003070d12181f252a343c434c555d676d79839197a2adb7c1cdd6e1d7cec5b8aca0958a7e71665c5145382c1f13040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ac9f93867a6d6054473a2d2114070000020f1c2835424f5b6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000000a131c232a2f323335353535353535353535353535352f2e2b2620180f060000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000061a2733404d5a6673808d99a6b3c0cccec2b5a89b8f827568544a4034281c1004000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6874808d99a3aebbbeb0a69e9184796d60594f443a2f2f39434d575e696e7a838e939ea1a9aeb5b9bec4c5c9cfd2ccc7c6c7ccc8c7c0bbb5aea59e938b7f727f8c99abacaaa8aba39f9d9a98897c6f6256493c414b55606d7985919eabb5c0b9ada1978a7d7064544a4034281c1004000000000000020f1a26313c4754606d7a85929facb8c1ccd7e3e0d4c8bdb2a89e92857a6d60594f443a302519130900000000000000000000000000000000000000000000000000000000060f17222d38414d57616d7a81796d675e564d443b332a2118100700000000000000000c1926333f4c5966727f8c99a5b2bfced9d7ccc0b5ab998c807366564c41362a1e110500000000000000000000000000000000000000000000000a141d2b37434e5865727f8c9aa4afbbc8d4d7cbc0b5ab9c8f8275665b5044382b1f1206000000000714202d3a46525e697885929eabb8c5d1ded4c8bbafa49a8b7f72675c5145392f24180f0600000000000000000000000000000000000613202d394653606c7985929eabb8c5d1dee0d3c7baaea399877b6e6154483b2e211508000713202d3a4653606d7986929facb6b8b9bebec0b8ab9e9285796d6053463c31261a0e05000000000000000000000000000000000007121e2b37424d576875828e9ba8b5c1cedbe0d4c8bbafa49a877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000105060b0f13181d232930363e464e555d676d79828f95a0a9b3bec9d3dfdbd0c5bcb0a69d9083786c60544b4034281c10040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f49535f6a74818e98a3aebac7d3e0ddd0c3b7aa9d908477685d5245392c2013070000020f1c2935424f5c6875828f9ba8b5c2cedbd7cabeb1a4978b7e7164584b3e3125180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000020b141b22272b2d323232323232323232323232323232302f2c27211911070000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b1825323e4b5865717e8b98a4b1bed1d0c4b7aa9d918477665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b86929fa9b2bdb9aca1968d80736b60564c41382d313b454d575e686e79818a92979fa3abadb3b8b9bdbebfc0c1c0c0bfbdb8b6afaba39f938e8175707c8999a4a09e9b989992908d8a887f7265584b3f45515d67727f8c97a1adbdbfb4aa9e9184796d6053463a2e23180c00000000000000000a15202c3945515d6774818e9ba6b0bbc6d2e2e5d9cec3b9ada1978d80746b60564c413529251b12060000000000000000000000000000000000000000000000000000060f182127333f49535f6974808d82796d685e564d453c332a22191008000000000000000a1724303d4a5763707d8a96a8b2bdc8d4ddd2c3b6aa9d908377685e5246392d20150b0000000000000000000000000000000000000000000006111c262f3847535f6a7783909dacb6c0ccd8d3c7bbafa3998b7e7265544a3f33281c0f030000000005111e2a36424d576975828f9ca8b5c2ced9d8ccc0b6ac9e9184796d60554b40352921180e0600000000000000000000000000000208101c28343f4a54626f7c8997a1adb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d2013070006121f2c3844515c667683909da9b6c3c6cacfc6b9ada2978a7d7063574e42372b20170d04000000000000000000000000000000050e19222e3a47535f697784909daab7c3d0dddfd2c6b9ac9f9386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060000040607070809080d1113171b1f24292f343b424650585f676d79828f949fa8b1bcc5d0dbded6cabeb3aa9f948a7d70665b5042392e23180c000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040707090e13191d262d333d44505b656f7c87939faab4bfcbd7e1d5c9bdb2a8998c807366564c4135291d11040000030f1c2936424f5c6975828f9ca8b5c2cfdbd7cbbeb1a4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000000a141d262d3337393e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1623303d495663707c8996abb5c0cbd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6973808d96a1adb9bdb2a89f93877d70685e53493f3327333b454d565e676d747e858d92999ea1a9abadb2b2b3b3b4b4b3b2b2acaca49f99928c81786d6d7a86939696918e8b898683807e7b726d62564a424e58606d7a85929ea9b3bebaaea3988c7f73665c5144382c1c1207000000000000000004111d2935414b55626f7c88939eaab6c1d0d9e3e0d5c9beb3a99f93877d6f685e524640372d2417110a030000000000000000000000000000000000000000000000071018212a333c44505b656e7b879290837a6e695e574e453c342b221911080000000000000714212e3a4754616d7a8796a0acb8c5d1dfd2c6b9ac9f93877a6e6154473e30271c12070000000000000000000000000000000000000000040e17222d38424f59626f7c88959fabbec7d2ddd2c5b9ac9f92867a6d6154473a2d22170b0000000000020e1a25303f4c5865727f8b98a7b1bcc8d4ddd2c7b9ada1968b7f72675d51453e332a20181008020000000000000000000001040c1319262b3844505c6673808d99a9b3bec9d5e2ddd0c4b7aa9d918477665c5044382b1f12060004101c2834404a546774808d9aabb5bfcbd6d6cabeb3a99b8e81756a5f53473d32291f160c0500000000000000000000000000060e17202834404b54626e7b8895a0acb8c5d1deded1c4b8ab9e918578665c5044382b1f1206000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316121212121212070c10121314151618191d2022272b2f353940454d525a616a6e79828f949fa6b0bac3ced7e0d6ccc4baaea2988f82766b61544a3f30271d1207000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111080d111314151a1e24292f383f44505a606c77828f99a4afbcc6d1dcded2c5b9aca096887c6f6255493c2f24190d01000003101c2936434f5c6976828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006111b262f383f44464b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b00000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222e3b4855616e7b8899a3afbbc7d3c7bbafa399887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7984919ea6b0bcbbafa49991857a6d655b50443f362d333b444c555d606c717a80868d92979a9ea1a9a5a6a7a7a7a6a5a8a09e9a938f877f786d666777838c8a8784817f7c797674716e69625b51464a545f6a73808c97a1adbbbfb5ab9f92867a6d61544a4034281c0b000000000000000000010d18242f3a47545f6a75828f9ba6b0bdc7d2dde6dacfc5bbafa49991847a6d615c52493f3628231c150c060000000000000000000000000000000000000000030b1218222a333c454f59606c77828f999590837b6e695f574e463d342b23190e0500000000000713202d3946525e687784919daab7c4d0dcd4c8bbafa49a8b7e71645a5042392e23180e05000000000000000000000000000000000000030c162028333f4a54606b76828f9ca7b1bcd0d9d6cbbfb4aa9c8f8275685e5246392d1c11060000000000000915212e3b4854616e7b8795a0acb8c6d0dcd5c9bdb2a89e9184796d605a50453c322a2219140d070501000000000306070d11161e252935414c56606d7884919eaab7c4cfdae6dbcec1b5a89b8e827568544a3f34281c100300000c18232e3e4b5764717e8a99a3aebbc7d3dbcfc5b9ac9f92877b6e62594f443b31281e170e0903000000000000000000040a11172029323a45515c6673808d99a7b1bcc8d4e0dccfc2b5a99c8f827669544a3f34281c1003000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f181c1f202121232424292d2d33373a41454b51575e616c717c848f949fa6b0b8c2ccd5e0d7cec4bab0a69f92857b6e61594f42382d1e150b00000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d191d202122262b30353a424a5059626c73808c949fabb5c0cfd8e2d6cabfb4aa9e9184776a5f53473b2e1e130800000003101d293643505c6976838f9ca9b6c2cfdcd8cbbfb2a5988c7f7265594c3f3226190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000b17222d384149505358585858585858585858585858585856544f473d32271c1004000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000020e1a26313b45515d67717e8a949faab4bfb5aba1978f82776c605b51483e3627323b434b515a61686d737b80858a8e91969698999a9b9a99989696918d87827c726d665c65727f807d7a7775726f6d676764615f57514944505c666f7c86929fa9b3bebbaea3998e8174685e5242392e23180c0000000000000000000007131d2b37434e58626f7c88939eabb5c0ccd7e0e1d7ccc0b5aba1968f82756e635b51483f342e261e17110a030000000000000000000000000000000003090c151d2328343c464e57606b737f8c949f9f9591847b6e6a5f584f463d352b20170d020000000005111d2a36414c566874818e9baab4bfcbd6d8ccc0b6ac9d9083766c61544a40342820170d0400000000000000000000000000000000050c151e28323a44505b66707d89949fabb9c3cde0d3c7baaea3988b7e7164564c41362a1d0a000000000000000714212d3a46535e697784909daab4bfcbd6dacfc4b9ada1978d80736c61574d443c342a251f1813110d080d060c101213181d202830353f45525d68727e8b96a0acb9c5d2e1e1d5c9bdb2a8988b7f7265584c3f2e23170b0000000714212d3a4754606d7a86929facb9c5cfdad3c7bbafa3998f82756b61564c43393029201a140e09070604040607070c10141b2227323a444e58606d7984919eabb7c3ced9e2d6cabeb4aa9a8d8073675a4d402e23170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c23282c2d2d2e2f313035393a3f44464b51555c60696e757e8691969fa6b0b8c2cad4ded9d0c6bcb2a89e948b7e71695e52473e2f261c0c0300000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2f31373a41464c545b606b717e8b929ca6b0bdc7d2e1ded3c6baaea2988c7f7265584e43372b1f0c0100000003101d2a3643505d697683909ca9b6c3cfdcd8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00030f1b27333f49535b606565656565656565656565656565656360594f44382c201307000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006121f2c3844505c667884919eabb7c4d1d1bfb2a5998c7f7266594c3f31261a0f02000000000000000000000000000000000000000000000000000000000000000009141f2935404b55616c76829098a2aebabdb2a99e948d80746d635a50483f332d3139404550565d60696e73797d818487898b8c8d8e8d8d8c8a8784807c756f6a605c54626d7273706d68686562605c555755534d4546505a606d78839099a3aebbbeb3a99f92867b6e61564c4130271c120700000000000000000000010f1b26323c47545f6a75828f99a4afbbc4cfdae6ddd2c7bdb2a89e948d80736d625a51443f383027221b140f0b06000000000000000000000002050a0f151a1e272e343e464e585f69707d87939fa6a7a09691847c6f6a60594f473d32291e140800000000010d1925303e4b5764717e8a98a3aebac7d3ddd2c7b8ab9f958a7e71665c51443c32291f160e060000000000000000000000000001070e161e27303a444e58606c7883909da6b0bbcbd4d7ccc0b5ab9f92867a6d6054473a3025190d0000000000000005121e2a36424d5765727f8c98a3aebac7d1dcd5c9beb2a99f93887d70695f564e463d36302924201e191a1a1b171c1f2024292c323a4146525c606d7a85929ea8b2bdc8d4e1dfd2c5b9ada196887b6f6255483c2f2215060000000713202c3945525d6876828f9ca9b3bec9d5d7cbc0b5ab9e94897d70685e554b423b322a251f1a1514131110121314181c1f262d333b444c565f6a73808c96a1adb9c5d5dfdfd3c6baaea298897d7063564a3d3023170600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c393939393939393939392e34383a3a3b3c3e40414647495053555d60676d727b818a9298a0a8b0b8c2cad4dcddd2c7beb4aaa1968f82756c62574d42352c1d140a0000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42474c52565e666c737d87929fa4aeb8c2d0d9e1d6cabfb4aa9f92867a6d6054473c32261b0f0000000004111d2a3744505d6a7783909daab6c3d0ddd9ccbfb2a6998c7f7366594c403326190d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0005121f2b3744505b656c717171717171717171717171717171706b6054483b2f221609000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000003101c28343f4a546976828f9ca9b5c2d1cec1b4a89b8e817568584e43372b1f12060000000000000000000000000000000000000000000000000000000000000000030d18242f3a43505a626e7c86929fa5afbabbb0a69d928c7f726c625a51443f382f2f353e434c52575e61676d7074787a7d7f80808181807f7d7b77736f6a625f5850515b62656663615e56585653514b4b484642454e58616c737f8c95a0abb4bfb9ada2978d8074695f53443a301e150b0000000000000000000000000a15202b37434e58626f7c87939fa9b2bdc9d5dee3d9d0c4bab0a69c928b7f726c635b504a423b332d261f1c17110f0a0807060406070708090e12151b1f262b303940454f585f6a6e7b859299a4afb1a8a09691857c6f6b60594f443b3025190d01000000000814202d3a4753606d7a86929facb8c4cfdad4c8bcb1a79e9184796d60574e443b31282017110d0703000000000000000000060c121820283039424c565f6a717e8b95a0acb8c2ccddd4c7bbafa4998e8174675d514539281e130800000000000000020e1a25313b4754616d7a86929fabb5c0cbd7dacfc4bbafa49a92857b6e685f584f46413b352f2d2a2527272723282c2d2f35393e444c525b636e74818e97a1adbac3ced9e5ded1c4b7ab9e9184786a5f53473a2e21150800000004111d2935414c5664717e8b97a1adb9c5d0dbd1c7bdb0a69e91847a6e675d544c443d36312b262220201d1c1f202123292c2f383f444d565e686f7c87929fa8b2bdc9d5e7ded2c5b8ab9f9285796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454044464748494b4c4c5254535b6063676d72797f868e939fa2aab2bac2cad4dcddd8ccc0b6aca29891847a6e615a50453b30231a0b020000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686d787f879299a3aeb6bfcad3e2d8cfc6baaea2988d8074685d5245392a20150a0000000004111e2a3744515d6a7784909daab7c3d0ddd9ccbfb3a6998c807366594d4033261a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000613202d394653606c787e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000c17232e404d596673808c99abb5c0cbd1c4b8ab9e9184786a5f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000007131d28313e47535f6a717e8b939ea8b2bcb8aea49f93887e716c635b5049413a3229313a41454d52555d606367686e7072737474747372706e6966625f58534e4449515759595754524c4c494645403e3b3c454d575f6a707e88939fa7b1bdbcb1a79e92857a6d60574d4232291e0c03000000000000000000000000040f1b26323c47535f6a74808d96a1adb9c1ccd6e1e2d6ccc1b8aea49f93887e726d605c544d443f382f2b28221c1b171514131012131415161a1e21272b31373c434b5159616a6f7c859197a1abb5bab2a8a19792857d706b60564c41362a1e1105000000000613202c3945515d6775828f9ba8b2bdc9d5d8cdc2b9aca0968b7f726a5f564c433a3228231c18120f0b0608070707080a0f11171d2329323a424a545e686f7c86929fa7b1bccad4d8cfc6b9ac9f93877b6e62554c4135291d110400000000000000000914202d3946525d6874818e99a3afbbc5d0dbd8ccc0b6aca29790837a6f6a6059524d45403a3936303433342e34383a3c41454750565e616d73808c939da9b3beccd5e0e0d3c7bbb0a6998d807366584e43372b1f1206000000010d19242f3a4753606d7985929eaab3becad6d9cfc1b9aca1969083796d665e564f46423b37312e2d2c29282c2d2e2f34383d414950575e686d7a839199a3afbac4cfdae0d4c8bcb1a79b8e8175665c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256525252525252525252525252524a51535454565759565d6163656c6f747a7f858c92989ea5aeb4bcc3ccd4dcd9d2ccbfbbafa49a92867c6f685e52483f33291f1108000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514c52545558575f61686d737a828c9299a3abb5bfc8d1dcdcd1c6bdb2a89f92867b6e61564c4135291d11040000000004111e2b3744515e6a7784919daab7c4d0ddd9cdc0b3a69a8d8073675a4d4034271a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d78868b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000061723303d4a5663707d8999a3afbbc7d2c5b9ada196887b6e6255483b2e23180c000000000000000000000000000000000000000000000000000000000000000000010c161f2b37424e57626c75818e96a0aab3bcbbafa49a92877e726d605b534c443d352f2f353b42464b515357565e61636566676867666563615e5755534e47433c3f464a4c4d4a4746413f3c3a3834343e464e575f696f7c86929aa4afb9beb3aa9f958b7f72685d52453c3120170c00000000000000000000000000000a15202b37434e58606d7a84919ea6b0bac4cfd8e2ded3cac0bbafa49a93887f746d665f575049413d38332d2b26232120201d1f20212223252a2d32373c42474e555c606b707c859197a1a9b3bdc4bab2a9a19792867d70685e5246392d2014070000000004111d2935404b5564717e8a96a1adb9c5d0dbd4c8bdb2a89f92857c6e685e554c443d342e29241f1b17151413131415161a1c23282f343c444c545c666d7a849198a2aeb9c3cedcd1c6bdb0a69b8f8275695f53433a2f24190d01000000000000000005111d2935414c56626e7b87929faab4bfcad6ddd2c7beb3a9a09590847c706b615e56514b47464142414041423f4446494b51545a61686d757f8c929ca5afbbc5cfdee2d7cec5b7aa9f94887b6e6255483c31261a0f030000000008131f2c3845515c67737f8c98a2aebac3cfd9d5c9bdb2a89f958f82786e686059534d47423d3b3a393534383a3b3d4045474e535b60696e7a839095a0abb5c0ccd6e0d7cec5b8ab9f95897c6f62544b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5c60606162646668686d7073787c80858c91979fa2aaafbabfc5ced5ded7d0c7c0bbada39f93887e706a5f564c41362d21170d00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d565d60626468696e737a7f858f949fa3abb5bdc6d1daddd7cbbfb4aba1968c7f73695e52443a2f24190d010000000005111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d8074675a4d4134271a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d7986939898989898989898989898988e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714202d3a4753606d7a86929facb9c5d2c9bdb2a9988b7f7265544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000040d1a26313c45505a606d79849198a2aab4bdb6aca399928b7f746c655e564f454039312b3036394045474a4c52545658595a5b5a5a595754524d4847433c3732353a3e3f403d3a3936302f2d3039404550585f696e7b849198a2acb6c0baaea2989083786d60564c41332a1f0e050000000000000000000000000000040f1b26323c45515d67717e8a939ea8b2bcc6d1dce7dcd8ccc0b6aca49a938c80786e69605b534f46443f383732302e2d2c292c2d2e2f3031363a3c43474d53585f676d747d859297a1a9b2bbc5ccc4bbb3a9a29892867a6e6154473b2e21140800000000010d18242f3a4653606d7984919eaab3becad6d9cec3baada29791847a6e675e564f443f38352f2b272222212020212223262b2e343940454e565e666d78828f96a0aab4becbd5d7cbbfb4ab9e94897c6f62574d4231281e1308000000000000000000010d1924303a47535f6974818d98a2aebac2ccd6d9d0c5bcb1a7a09691867d746e68605d5554524c4f4d4d4e4f4a505355555d60656c707a818c919ba4aeb7c0cdd6e1dbd0c5bcb0a69c8f8276695f53473a2a20150a000000000004101c2934404b55616d7a85929fa8b2bdc7d1dacec4bab1a79e948f827a6f6b615e57534d4a4847454040444647494b51535860656c727b839095a0a7b1bdc7d1dedbd0c5bcb0a69d9083766a605442392e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f717374777a7d8084898d92979ea1a9aeb4bcc1cad0d7ddd5cdc5beb6afa39b918c7f726c61584e443b30241b0f0500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b686d6e7174787b80858c92979fa6afb5bdc6cfd8dfd4cbc3baaea3999184796d60564d4232281e1308000000000005121e2b3845515e6b7884919eabb7c4d1dedacdc0b4a79a8d8174675a4e4134271b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a4a4a4a4a4a4a4a4a4a49b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000613202c3945515d677683909da9b6c3d2cfc2b5a89c8f8275665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000000000000915202a333f45515d676f7c869298a3abb5beb5aba39f918c80776d686059514b433e37322c2f35383a3d4146474a4c4d4d4e4e4d4c4a4846423c3a37312b26292e313233302e2d2a2a30363d434b515a616a6f7b849196a1aab4beb8afa59f92857b6e665c50443a3021180e000000000000000000000000000000000a15202935414c55616c75828f96a1aab4bfcbd7dbe8ddd2c7beb6aca49f928d837b716c65605953504a47433f3d3b3a3935383a3a3b3d3f4246484e54575f616a6f79808a9297a1a9b2bbc4cdd6cdc5baaea2988e8175685e5246392d201407000000000007131f2c3844515c66727f8c98a2aebac3ced9d6cabeb3a9a1969083796d686059504a45403937332d2f2e2d2c2d2f303137383f444b51585f686d78818e949fa8b2bcc5d0d9d0c7baaea3998f82766a6054453c311f160c010000000000000000000008131e2b37424d57616e7a86929fa6b0bac4cdd7d7cec3b9b1a8a1989287817b736d6765615e565b5a5a5a5b545c606265676d72777d858e939ba3adb6bfc9d2dfddd6cabfb4aa9e94897c6f62574d42372b180e030000000000000c18232f3946525e68727f8c96a0abb5c0cbd7d6ccc3b9b0a69e948f847d746e69625f57575553514b4a51535456555c60646a6f787f869195a0a7b1b9c3cfd9dbd6cabfb4aa9e94897d7063584e4330271d12070000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c787878787878787878787878787878787879797a7b7c7e7f8184868a8d91969a9fa2a9adb3babec5ced6dbd9d4cbc3bbb3aca49f918c7f736d635a50463c32291e12090000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea1a9b0bbc0c7cfd8ded6cdc3b9afa59f92877c6f675d51443b3020160c01000000000005121f2c3845525f6b7885929eabb8c5d1dedacec1b4a79b8e8174685b4e4135281b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb1b1b1b1b1b1b1b1a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000004111d2935404b556773808d9aacb6c0ccd2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000000000000000000000000000000000000000000000030e18212935404b555f6a707d869299a4afb5bdb5afa39c928d827a706b605d555047433c38332c2c2d3036393b3d3f40414141403f3d3b3a36302e2b26201b1e2225262624262b30363b41464f555c606c717c859196a1a8b2bcb9b0a69e938a7e71695f544a3f32281e0f0600000000000000000000000000000000040d19242f3a43505a616d7a849198a3aebac0c9d3dce4d9d0c7beb6afa49d9590867e78706b63605b54534e4c4a4847454044464748494c4d5354586062696e757c838d929fa2a9b3bbc4cdd6d0c5bcb2a89f92867b6e61564c41362a1e1105000000000004101c2834404a54606d7a85929fa8b2bdc8d4dbcfc5bbb2a8a0958f827a706b605c54514b46443f3d3c3b3a393a3b3d3e43474a50555c606a6f7a828e939da6b0bac4ced7d2c7beb2a99f92867b6e62584e43332a1f0d040000000000000000000000020e1a26313c46525e68727e8b949fa8b2bbc5ced7d5cbc3bab2aaa299928e86807a75716d6869686766676869666d6f72757a7e838a91979ea5adb5bfc8d1dbded5cbc3baaea2988f82756a6054453c31261a060000000000000007121d2a36414c56606d78849199a3afbbc1cad3d4cbc1b8b0a69f969187817b746e69676461605d55545c60616366676d71777c838b9298a0a8b1b9c3cbd5dbd3c9c1baaea2988f82756b6055463d321e150b000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858586868787898a8c8e90939a9a9ea1a8abadb3b9bec4cad0d7dcd6cec8c0b9b1a9a29a938b7f736d635b51483e342a20170d000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888b8e91969a9fa2aaadb3bbc2cbd1d9ddd5ccc4bbb1a79d938b7e716a60554b4032291f0d0400000000000006121f2c3945525f6c7885929fabb8c5d2dedbcec1b4a89b8e8175685b4e4235281b0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bebebebebebeb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000010d18242f3d4a5764707d8a9aa4afbbc8d3c6baaea298897c6f6356493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606b707e87939fa4abb4bcbbada49d948f857d736d67615a534e48443d39352f2c2a2d2e3032333435343332302e2d2a25211f1b171b1f2022262b2e32373b42464c525960676d747e869197a1a8b2babab1a79f948e81746c61574d42382e20160c00000000000000000000000000000000000008131e28313e46525e686f7c86929fa5afb7c1c9d3dce2d9d0c7c0bbaea79f98928b837d76706c66625f5859565453514b505354555659575e61666a6f747b818790959da4adb3bbc5cdd6d2c7beb4aaa0968c7f73695e53443b3025190d010000000000000c18232e3945515d67727f8c96a0acb8c1cbd5d7cdc4bab1a79f948f847d736d66605d5553504949484746454748494b4e53545c60676d727c848f949da5afb8c2ccd6d8ccc0b6aca1968d8073695f53463d3221180e0000000000000000000000000009151f2a36414c56626d76828f96a1a9b3bcc5ced8d5ccc4bcb3aba39f98928c86827e7a777675747374757677797c7f81858b90959ea1a9afb7bfc7d1daded5ccc3b9b0a69f92867b6e61584e43332a1f150900000000000000010d1925303a44515c666f7c87929fa5afb8c1c9d3d3cac1b8b0a9a199928d86817b7774706e6d676b6b666d6e707376797e838990949fa2aab1bac3cbd5dbd3c9c1b7afa59f92867b6e61594f44342b200c03000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea298929292929292929292929292929292929292929993949597999b9d9fa4acabacb2b8babec5c9cfd6dbd7d0cbc3bdb9afa7a09792887f726d635b51493f362c22180e05000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929995979b9ea1a8acaeb4b9bec5cdd7dcdbd6cbc3bab2a99f958e81746d62584e43392f20170d0000000000000006131f2c3946525f6c7985929facb8c5d2dfdbcec1b5a89b8e8275685b4f4235281c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6cbcbcbcbc1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714212e3a4754616d7a86939facb9c6d2cabfb4aa998c807366574d42362a1c1106000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464f59616c717f8b9399a3aab3bbb6aea69f9791878079716c625f58544f4745413a38342f2d2c29242728272726242121222223232522272b2d2f31373a3c43474d52565e616b6f79808a9298a1a9b2babab2a8a0958f82796d605a50453b30261c0e04000000000000000000000000000000000000010c161f2a36414c56606a717e8b939da5afb7c1cad7dde2d9d2ccc0b9b1aaa29f959089827d78736f6a68656361605d555c606162636668696e72777c81878e939aa0a7aebabec5cdd6d8ccc0b6aca2989184796d60574d4232291e14080000000000000007121c2935414c55606d7984919ea5afb9c3ced7d6ccc3b9b0a69f9691878078726d6762605b53565554535254555657585f62666d71797f8691969fa6afb7c1cad4d6ccc4bbafa49a9184796d60574d42342b210f0600000000000000000000000000030e1925303b44515b616e7b849197a1aab4bcc6cfd6d6cec5bdb5afaaa29f98928f8b8684838280808182828385888b8e92989da0a7adb3bbc1c9d1d9ddd4ccc4bab1a79e938b7f72695e53463d3221180e03000000000000000008131e2834404a54606b727f8c939ea5afb7c1c9d6d3cac2bbb2aba39f99928e8884817d7b7a79787778797a7d7f82858b90959c9fa6aeb4bcc3ccd5dbd6c9c1b7afa59d938b7e71695f53473d3322190f00000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a0a1a2a4a6a7aaacafb6b7b9bdc4c6cacfd5dad6d1cbc6bfbab2aca59d9590857d726d625b514940372e241a100600000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abadb2b8babfc5cacfd7dfd8d0cac1b9b1a8a1979083796d605a50463d31271d0e050000000000000005121f2b3744505b657986929facb9c5d2dfdbcec2b5a89b8f8275685c4f4235291c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d7d7cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000713202d3946525e687784919daab7c4cfd0c3b6a99d908376695e5346382e23170b0000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d47505a626d727f879298a2a9b2bab8b0a9a199938d847e766f6a63605954514b4745403d3a39352f32302f2f2e2e2d2e2e2f2f30322d3337393c3e4347484e53565e61686e747c838d929fa2aab3bbb9b1a8a09690837a6d675c51483e33291e150a0000000000000000000000000000000000000000040d1925303a444e58626d74818e939ea5afb8c1ccd2d9e2ddd8cbc2bcb4aea79f9d948f8a847f7c787472706e6d676c666d6d6e707275787b7f84888e92999fa4acb1b9c0cacfd7d7c8c0bbafa49a92867c6f675c51453b3120170d0200000000000000000d19242f3a45515c66707d8a939da7b1bcc5ced8d5cbc2b8b0a8a199938c847f79736f6c6565636261605d60626364676a6f72797e848c9298a1a8b0b8c1c9d2d6cdc4bab0a69f93887d70675d51453c3122190f00000000000000000000000000000008141e29323f46525e696e7c859298a2aab4bdc4ccd6d7cfc7c0bbb4aeaaa29f9b999391908e8d8d8d8e8f909298989b9fa2aaacb1b9bec4cdd3dbdad5cbc3bab2a8a0958f82776c60574d42342b200f06000000000000000000020c18232e39424f59606c77818f939ea5afb7c1cacfd4cdc4bdb5afaba39f9a96918d8a8886858484858687898c8f92989d9fa7abb0babec5ced5d7cfcac1b7afa59e938e81746c61574d42352c21100700000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababacaeb5aeafb1b2b4b7b9bbc0c4c5c9ced3d6d9d4d0cac7c0bbb4aea8a09e938e837b706c625b514940372e251c11080000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb5b1b4b7b9bdc4c6cad0d6dad8d3cec6bfbaafa7a09691857b6e675c51483f342b1f150b00000000000000000613202d394653606c798699a3afbbc7d3e0dccfc2b5a99c8f8276695c4f4336291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005111d2a36414c566774818d9aa9b3becad2c6b9ac9f93877b6e61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000040d18222b353e48505a626d727e869297a1a8afbabbb3aba49f96918a827c76706b64605d5553514b49474540403f3d3c3c3b3a3a3b3b3c3c3d3e403f4446484b4e5355585f62696e737a818790959da4aeb4bcbbb0a79f9691847b6e685d554b40362c21170c0300000000000000000000000000000000000000000008131e28323d46505a606d78818e939ea6afbbc0c7d0d7e0ddd4cec5bebab1aba69f9c96918c8884817f7d7b7a797878797a7b7c7f8284878c91959a9fa3abafb6bec3cbd6d9d2ccbfb6aea59f93887e706a5f554b4033291f0e0500000000000000000008131e2834404b54616b74818e95a0aab4bcc6cfd8d4cac2bab2aba49f96918b85807b797572706f6e6d686d6e707174787b7f848b91969fa2aab2bac2cad2d6cdc4bbb2a89f948c80736b60554b40332a1f1007000000000000000000000000000000020d17202a36424d565f6a6f7c869298a3abb2bac1cad0d7d1cbc6bfbab4aeacaba49f9e9c9b9a999a9b9c9d9fa2aaa8abaeb4b8bcc3c9cfd6ddd7cfc9c0b9b1a8a0969083796d655b50453b3122190f000000000000000000000007121c27303d44505b656d78818f939ea5afb9bec5cdd5cfc7c0bbb4aeaca8a09e9a97949892919192989496999c9fa2aaabb1b7bcc2cad0d7d6cdc5beb9afa59e938e81786d605a50453b31231a0f0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbbfbabcbdbfc1c3c6c8ccd2d2d5dad5d2cec8c6bfbab5afaaa39f96918981796e69615951493f372e251c130a000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9bbbfbec1c4c5c9cfd3d6dbd7d4cdc7c1bcb4aea59e9591847b6e695e554b40362d22190d0300000000000000000713202d3a4653606d798693a0b5c0cbd7e3dccfc2b6a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000010d1925303d4a5663707d8997a2adb9c6d2c8bbafa49a8c8073665c5044382b1f1409000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f48515b626c717d8591969ea5aeb4bcb5afa8a19e948f88827d77716d6764605c555653514b4d4b4a4948484747474848494a4b4d4950535558585f62666a6f747b80858e939aa0a7aebabdb5afa69e9590847b6e695e564c43392e241b0f0600000000000000000000000000000000000000000000020c16202b343f44505c666d78818f949da5afb5bdc5ced6dbe0d7d0cac3bcb8b0aaa8a09e9996918e8c898786868585868788898c8f9196999da0a8acafb5bbc0c7d0d5d8d0c7c0bbada49d938c7f736c61584e43392f21170d00000000000000000000010c18232e39424f59606d79839098a2aab4bdc6ced6d4ccc4bdb5afa8a19e97928d8885827f7c7b7a79797a7b7c7e8184888c91969ea1a8aeb4bcc4ccd4d4ccc4bbb2a9a1968f82786d60594f433a2f21180e0000000000000000000000000000000000050e1925303b444e58606a707d869299a1a8afbabfc6ced4d7d0cac6bfbab8b5afacaaa9a8a7a6a7a8a9aaacaeb4b4b8babec5c8ced5dad7d2ccc5beb9afa79f9691847b6e675d53493f33291f10070000000000000000000000000b151e27333f49535c666d78818e939ea5adb3bbc1c9cfd1cbc6bfbab9b2acaaa7a3aaa29f9e9e9fa2aaa3a6a9acaeb4b8bcc3c7cdd6d5d0cac1bbb3ada59e938e81786d665c50483e332a1f11080000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8caccced0d2d4d8d5d2d1cfc9c5c3bdb9b4aeaba39f98928c847d746d675f574f473f372d251c130a01000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1ced1d2d5dad7d4d1cbc7c2bcb7afaaa29f938e837b6e695f574d43392f241b10070000000000000000000714212d3a4754606d7a8793a0adbad1dce8dccfc3b6a99c908376695d5043362a1d10000b1824313e4b5764717e8a97a4b1bdcad7e3dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000813202d3a4653606d7985929eabb8c4cfccc0b6ac9e9184796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000007111a242d363f49515a616b707c848e939fa2aab1b9bbb2ada69f9c948f89837e7a75716d676663605d555a585756555554545455555656585a535b606265686a6f73777c81868d92989fa4acb1b9bab2aba39f948f837a6e695f564d433a30271d1209000000000000000000000000000000000000000000000000050e192228343f4a545c666d78828e939fa4abb4bcc2cad0d7e0dbd6cdc8c2bbb7b2acaaa9a19e9b9896949992929298949596999b9ea1a8aaacb1b9bbc0c7ccd2d9d2ccc3bdb5afa39c928d81776c605a50463c31271d0f05000000000000000000000007121d27303e45515d676e7c869298a3abb4bcc4cdd6d6d0c7c0bbb2aca9a29f9997928f8b89888786868788898a8d9196989ea0a8adb2babfc6ced6d5cbc2bab2a9a19691847a6e665c50473d31281d0f0600000000000000000000000000000000000009141f29323c464e58606b707d8791969ea5aeb4bcc2c8ced4d6d0cac7c5c0bbb9b7b6b5b3b3b4b5b5b6b8babfc1c5c6cad0d4d9d5d1cbc7c0bbb3ada59d9590847b6e695e554b41382d21170d00000000000000000000000000030c17222d38414b545c666d78818e939ea2a9afb9bec5c9cfd1cbc7c4bdb9b7b4b0b4aeacabaaabaeb3afb2b6b8babfc6c8cdd3d4cfc9c5bebab0a9a29e938e81786d665c544a3f362d21180e000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d7dcd5dad5d2d1cfcecfc9c6c5c2bdb9b7b2acaaa29f99928e867f79706b605c554d453e352d241b130a0100000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d6d6d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d3d2d1d1cbc7c5c0bbb9b0aba59e98928b81796e695f574d453b31271d1209000000000000000000000714212e3a4754616d7a8794a0adbac7d3d6d6d0c3b6aa9d9083776a5d5044372a1d11000b1824313e4b5764717e8a97a4b1bdcad6d6d6cdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d6d6cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd6d6d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006121f2c3844505c6674818e9ba9b3bec9d2c7b9ada1968a7d7063574d42362a1c11060000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f485059606a6f7a818b92989fa7adb3bbb9b0aba69f9c95908b86827d797673706d676867656362626161606161626263656668656c6f7174777c8084888e92999fa2aaafb6beb7afa8a099928c82796d685f574d443b31281e150b0000000000000000000000000000000000000000000000000000071017232e38424a545c666d78818c9399a2aab0babfc6ced3d8ded8d4ccc7c4bdb9b7b2adaba7a5a3aba39f9f9fa2aaa1a3a5a8abadb2b7b8bdc3c7cbd1d8d5d0c7c0bbb2aba49f918c80786c655b50483e342a1f150b000000000000000000000000000b151e2935404b555f6a707d869299a2aab2bbc2cbd0d8d2ccc4bdb9b3adaba9a19e9b989695949992999596979a9ea1a8aaacb2b9bdc4cad0d7cfc9c0b8b0a8a19791847b6e685e544a3f352b1f160c00000000000000000000000000000000000000020d17202a333c464f59616b707d848e939fa2aab1b8bcc3c8ccd2d4d3d2ccc7c6c4c3c1c0c0c0c1c2c3c5c7cad0d2d3d6d6d2cfc9c7c0bbb5afa9a19e938e837b6e695e574d433a2f261b0f05000000000000000000000000000006111b262f39424b545c666d78818a92979ea5adb3b9bdc4c7cdd2cec9c5c4c0bdbfbab8b7b7b8babebcbfc2c5c6cad0d4d2cdc8c4beb9b3ada69e97928a81786d665c544a42382e241b0f06000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8c8cfc9c6c4c3c1bfbeb9b8b5b2adaba8a09e98928d87817b736d676159514b433b332c231b1209010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c9c9c9c9c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bbb9b5afaca69f9c938e867e756d675e574d453c33291f150b00000000000000000000000814212e3b4754616e7a8794a1adbac7c9c9c9c9c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfc9c9c9c9c3b6a99d9083766a5d5043372a1d10000000000000000000000000000003101c28343f4a5463707d8a97a1adb9c7d2c9bdb2a99c8f8275695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e474f585f686d757e8690959ea1a9aeb5bbb7b0aaa79f9d98928e8a8583807c7a77757372706f6f6e6d6d6e6e6f6f7071737576797b7e8184888c91959b9fa3abaeb3bbb9b0aba59d9691877f786d675e564d453b32291f160c0300000000000000000000000000000000000000000000000000000006111c263038424b545c666d747f8792989fa6aeb4bcc2c7cdd3d8dfd8d3cec9c5c4bdb9b8b4b2b0b5afacababaeb4aeafb2b5b8b9bdc4c5c8ced3d7d4cec9c4beb6afa8a099938b7f746c665b53493f362c22180d0300000000000000000000000000030c18242f39434e57606b707d879298a1a9b0babfc6ced3d7cec9c5bebab8b3adaba8a5a3a2aba39fa3aba3a4a7abacb2b7b8bdc3c9cfd6d2ccc4bdb9afa69f9691857c6e695f564d42382e231a0d040000000000000000000000000000000000000000050e18212b343d474f59616b707a818b92989fa7acb1b9bbc0c7c8ced1d2d4d2d1cfcecdcccdcecfd0d2d3d6d4d2d1cfcac6c5beb9b5afaba49f97928a81796e695e574d453b31281d140a000000000000000000000000000000000a141d273039424a545c666d757e858f939ea1a9adb2b7bbc2c5c9cfd1d1cdd0cac7c5c4c4c5c6cad0cccfd2d2d1cec9c5c3bcb8b2ada9a29f948f857e756d665c544a423830261c120900000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcbbbbbeb9b8b6b4b2b3adaba8a8a19e9a96918c86807b756e69605c554f4540393129211a110900000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7bdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcc0bbb9b7b5b5afacaba39f9c949089817b726d605d554d453c332a21170d0300000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb7aa9d9184776a5e5144372b1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdb3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bdbdbdbdbdbdb6a99d9083766a5d5043372a1d100000000000000000000000000000000c17232e3a4653606d7985919eabb5c0cccfc4b9ac9f92867b6e61544a3f33281d1207000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353d464e565d606c717b838b92979fa3abafb5bab7b1abaaa39f9b98928f8c89868482807e7d7c7b7b7a7a7a7b7b7c7d7e80818385888b8e9196999da0a7acaeb4bab8b2aca69f9c938e847c736d665d554c443b332920170d0400000000000000000000000000000000000000000000000000000000000a141e263039424b545c606d727d8690949fa2aab0b7bbc2c7cdd2d5dad9d5d2cfc9c5c4c1bfbcc0bbb9b8b8babebbbcbfc2c4c5c9cfd1d4d6d3cec8c4bdb9b2aca49f9691877f736d605b544a41382d241a100600000000000000000000000000000007121d27313c454f59616b707e8691969fa6aeb4bcc1c7cdd3d5cfcac6c5beb9b8b5b2afaeb5aeacaeb5afb1b4b7b9bdc4c5c8ced5d2ccc7c0bbb2ada59d9490847c6f6a5f574d443b30261c110800000000000000000000000000000000000000000000060f19222b353e474f5960686d757e8690959da0a7acafb6b8bcc1c4c5c9cecccdcececfcfcececdccd2ccc8c6c4c1beb9b8b3adaba39f99938e857e746d675e574d453b33291f160b0200000000000000000000000000000000020b151e273039424a545c606c717a828a92979ea1a8abb0b8b9bdc2c4c5c9cecccdcececfcfcececdcccec9c5c4c1bdb9b7b1aba9a19e97928b827b716c605c544a423830261e140a0000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafaeaeb2adaba9a7a6a9a19e9b9896918d8884807a746e69615f57514b433d342f271f180f080000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afb5afacaaa8aba39f9c99928f89837d756e69625b514b433b332a21180f050000000000000000000000000815222e3b4855616e7b8894a1aeb0b0b0b0b0b0b0b0aa9e9184776b5e5144382b1e11000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b0b0b0b0b0b0b0b0a99d9083766a5d5043372a1d1000000000000000000000000000000006121f2c3844505c6673808d99a4afbbc7d4c7bbafa3998c7f73665b5044392e23180c01000000000000000000000000000000000000000000000000000000000000000000000000000109121a232b343c444c525a62696e787e858d92999fa3abaeb3b8b8b4aeacaaa29f9c999992918f8d8b8a898888878787888889898b8d8e909297989b9ea0a8aaacb1b9bab9b1aba8a09e94908981796f6a605c544b433a322921170e05000000000000000000000000000000000000000000000000000000000000020c151e273039424b515b636b707b828b92989ea6abb0b7bbc2c6c9cfd2d5dadad5d2d1cecbd1cbc7c5c5c5c6cad0c9ccced1d2d5d6d3d0cac6c3bcb8b2aca8a09a938d847d726d635b504a42382f261b110800000000000000000000000000000000010b151f2a333d474f59616c707c8490949fa3aab0b7bcc2c7cbd1d3d3cfcac6c5c2bebcbbbfbbb9bbbfbcbdc0c4c5c9ced2d3d0cac7c0bbb5afa8a19e938e827a6f6a5f574e453b32291e140a000000000000000000000000000000000000000000000000071019232c353e474f565d606c717b838a90959c9fa4acacb1b4b7b9bdbdbfc0c1c1c2c2c2c1c1c0bec0bbb9b7b5b3adaba9a19e99928e87817a716c605c554d453b332921170d04000000000000000000000000000000000000030c151e273038424a505a61686e757e858c91969c9fa6abadb2b5b7b9bdbdbfc0c1c1c2c2c2c1c1bfbebdb9b7b4b2acaba7a09d97918c857e756e68615a504a423830261e140c020000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a1a9a19e9c9b999797928f8b8884807c77736d68615f57534d4540393129231d150d06000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919ea3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c999992908b86827c76706b615e575145403a312920180f06000000000000000000000000000915222f3c4855626f7c8895a2a3a3a3a3a3a3a3a3a3a39e9185786b5e5245382b1f12000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a3a3a3a3a3a3a3a3a3a39d9083766a5d5043372a1d1000000000000000000000000000000003101c28343f4a54616e7b87939facb9c3cecbc0b5ab9e9184786c60544b4034281d1307000000000000000000000000000000000000000000000000000000000000000000000000000000081119222a323a414550575f666c717a80868e92999fa2aaacb1b7b8b8b4aeaca9aba39f9d9b9a98969595949493949495959698999b9d9fa2a9a7aaacb2b7b8b9b5afaca7a09d96918a837c746d676058504a4239312820170f060000000000000000000000000000000000000000000000000000000000000000030c151e2730394045515961696e777f868f949c9fa6abb0b8b9bec4c5c9ced0d2d3d7dcd8dcd7d4d2d2d2d3d6dbdcd6d3d2d0d0cac6c5bfbab8b1aca8a09e96918880796f6b625b51443f382f261d140a000000000000000000000000000000000000030d18212b353e47505a616a6f7b828c92989ea6abb0b9babfc5c7cbd1d2d2d1cecbc9d1cbc7c5c7cbd1cacdd1d2d2d1cbc7c5bfbab5afaba49f96918a81786d685f584e453c332a20170c020000000000000000000000000000000000000000000000000007111a232c353d444c525a62696e767d838a8f939a9da0a7a8aaacb2b1b2b4b4b5b5b5b5b4b4b3b2b6afacaaa8a9a19e9b97928d87817c746d68615a514b433b332921170f050000000000000000000000000000000000000000030c151e2630383f4450565e616c717a7f848a8f949a9ea1a9a8abacb2b1b2b3b4b5b5b5b5b4b4b3b1b2acaba7a8a19e9b95908a847f7a716c615e5650443f3830261e140c02000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696959594949791908e8c8a8885827f7c78736f6a66615e56534d46423b342f271f18120b0300000000000000000000000000000000000000000000000a1724313d4a5764707e8a969696969696969696969696968a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919696969696969696969696969285786c5f5245392c1f12000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969695959992918f8d8986837f7a756f6b636059524d453f352f281f170e0600000000000000000000000000000916222f3c4955626f7c88959696969696969696969696969285786b5f5245382c1f12000b1824313e4b5764717e8a969696969696969696969696968d8074675a4d4134271a0e000713202d3a4653606d7986939696969696969696969696968e8175685b4e4235281b0f000c1926333f4c5966727f8c9696969696969696969696969083766a5d5043372a1d10000000000000000000000000000000000c17232e3846535f6976828f9ca7b1bcc8d1c7b9aca1968b7e71665c51453a2f24180d0200000000000000000000000000000000000000000000000000000000000000000000000000000007101820282f353f454d545b60686d737b81868d92989da0a7aaacb2b5b8b8b6b5aeacaaa8a6a5a3a2a2a1a0a0a1a1a2a2a3a4a6a8a9abadb3b4b7b9b7b4aeacaba39f9b95908b847e766f6a605d554e443f3830271f160e0600000000000000000000000000000000000000000000000000000000000000000000030c151e272e343f474f575f656c727b82898f949c9fa6abadb3b7b9bdc1c4c5c7cbd1cccdcdcecfcececdcccbd0cbc7c5c3c1bebab8b4aeaca7a09d96918b847d746d676059514840332d261d140b0200000000000000000000000000000000000000060f19232c353e47505860696e787f868f949c9fa6acaeb4b9bbbfc3c5c6cad0cccdcececfcfcececdccd0cbc7c5c3bfbbb9b4aeaba49f99938d847d746d665e564e463c332a21180e0500000000000000000000000000000000000000000000000000000008111a232b323a414550575f616c70787d82878d9095989b9ea0a8a4a5a7a7a8a9a8a8a8a7a6a5aca49f9e9b9997928e8a85807b756e6a605d5650454039302920170f0500000000000000000000000000000000000000000000030c151e262e343e444c525a61686d73797d82888d9196989b9ea1a8a4a5a7a7a8a8a9a8a8a7a6a4a8a19e9b9796918e89837e79736d68625a524d443e342e261e140c0200000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8989888887868583817f7e7b7875726f6c6562605854524c46423b363129231d150d07010000000000000000000000000000000000000000000000000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89898887868482807d7a76726d68636059544f46423b3329241d160d050000000000000000000000000000000916232f3c4956626f7c898a8a8a8a8a8a8a8a8a8a8a8a8a8a86786c5f5245392c1f12000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8074675a4d4134271a0e000713202d3a4653606d78868a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f000c1926333f4c5966727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a83766a5d5043372a1d100000000000000000000000000000000006111c2a36424d5763707d8a95a0acb8c4cec9bdb2a89e9184796d60554b4035291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333c424a50565d60696e757b80858c9195999ea0a8a9abaeb4b4b6b8b7b5b3b1b0afaeaeadadadaeaeafb0b1b3b4b6b8b7b5b3b2acaaaba39f9c99928e89837e79716c626058514b433d342e261e150d05000000000000000000000000000000000000000000000000000000000000000000000000030c151d2328353e454d535b60696e767c82899094999ea1a9abacb2b5b7b9bbbfbfbfc0c1c1c2c2c1c0bfbfbebfbab8b6b4b3adabaaa29f9b95918b847e796f6b605d554f473f3628221c140b0200000000000000000000000000000000000000000007111a232c353e464e575e666c727b828990949b9fa3aaacaeb5b6b8babfbebfc0c1c1c2c2c1c1c0c0bebfbab8b6b5aeacaaa29f99938e87807a706c605c544c443c342a21180f060000000000000000000000000000000000000000000000000000000000081119202830353f454d535a61666c70767b8084888b8e91969697999a9b9b9c9c9b9b9a9998979a93918e8c8985817d79746e69625f58524c443e342e271e170e05000000000000000000000000000000000000000000000000030c151c2328323b414650565e61666d71767c8184888c8f91969697999a9b9b9c9c9b9b9a99989696918e8b8784817c77716d66615e565046413b3228231c140c020000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b7a7a78767473716e69686562605b53544e4746413a36312a261f18120b0300000000000000000000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7b79777573706d6765615e56544f48443d3630292118130c04000000000000000000000000000000000714212d3a4754606d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6255483b2f221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6356493c3023160900000000000000000000000000000000000e1a26313b4653606c7883909da8b2bdc9cec4b9aca1968b7f72675d51453a3025190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212a2f383f444c52575f62696e737a7f84888c9196999c9fa2aaa8aaabaeb3b1b2b3b3b4b4b5b5b5b4b4b3b3b2b1b5afacaba9a6a8a09e9b99928f8b86817c77716d66615a544e45413a3128231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000030b1218232c333c414950575f616b6f767d83888d91979a9ea1a8a8aaacaeb5b2b3b3b4b5b5b5b4b3b3b2b1b4aeacaaa7a9a29f9b98928e8a847e78726d676059514b433d352d2417110a02000000000000000000000000000000000000000000000008111a232c343c454d545b60696e757c83898e92989c9fa3aba9acaeb4b1b3b4b4b5b5b5b5b4b4b3b1b4aeaca9aba39f9c98928e87817c746d67615a514b423a322a22180f0600000000000000000000000000000000000000000000000000000000000000070e161e2429333c424750545b6064696e73777b7f818487898a8c8d8e8e8f8f8f8e8e8d8b8a898684827f7c7975706d66625f57534e45413a3228231d150c050000000000000000000000000000000000000000000000000000030a1117202930363e444c52545c60646a6f74787b7f828487898a8c8d8e8e8f8f8f8e8e8c8b898784817e7b78746f6b64605c54524c443e3630292017110a02000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d6d6769686664625f57585553504947433c3936302a261f1a140c07010000000000000000000000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000916222f3b4854606b707070707070707070707070707070706b6055483c2f231609000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d66696663605d5554524c48443d38332a251f170f070100000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070706b6155483c2f231609000714202d3a46525e696e7070707070707070707070707070706e6a5f53473a2e2114080005121f2b3744505b656c7070707070707070707070707070706f6a5f53473b2e211508000714212d3a46535f696e70707070707070707070707070706f6b6054483b2f221509000000000000000000000000000000000009141f2b3744505b65717e8a96a0acb9c3cec9bdb2a89e9285796d60564c41362a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f181d262d333a41454d53575e61676d72777b8084888c8f9298989b9d9fa2aaa4a5a6a7a7a8a8a9a8a8a7a7a6a5a4aba39f9e9c999696918e8a86827e7a756f6b64605c545047433d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a212a2f383f444d535960636b70767b80858a8e9196989b9d9fa3aba5a6a7a7a8a9a8a7a7a6a5a4aaa39f9d9a9897928e8a85827d78716d66605c554f454039312b231b1206000000000000000000000000000000000000000000000000000008111a222b333b424a50575f626b6f767c81868b8f92999a9c9fa2aaa4a6a7a7a8a8a8a8a7a7a6a4aaa39f9c9999928f8a86817b756f6a605d5550454039302920181006000000000000000000000000000000000000000000000000000000000000000000040c1319212a31373e424a5053575f6166696e7275777a7c7e7f8181828282828181807f7d7c7a7775726f6c6664605c54534d47433c3530282018120b030000000000000000000000000000000000000000000000000000000000060e171e252a323a41464a5053585f62676a6f7275787a7c7e7f8081828282828181807e7d7b7874716e696863605953514b46413a322a251f170e0600000000000000000000000000000005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636362626161605c555b595755534d4c4946443f3837322d2a251e1a140e0903000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e110500000000000000000000000000000000000000000000000000000000000713202c38444f59606363636363636363636363636363636360594f44382c2014070005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545a5654514b4746413a38322c27211a140d050000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636361594f44382c2014070005111e2a36424d575e61636363636363636363636363636363625f584e43372b1f120600030f1b27333f49535b60636363636363636363636363636363625f584e43372b1f13060005121e2a36424d575f6163636363636363636363636363636360594f43382c1f13070000000000000000000000000000000000030f1b27333f4953606d7984919ea8b1bdc8cec4b9ada1978c7f73685e52463c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c22282f353c42474d52555d60656a6f73777c7f8285888b8e909298959799999a9a9b9c9c9b9b9a9a999997969992918f8c8a8784817e7a75716e6863605953514b423e373229241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d333b42464f545960636a6e73797d8184888b8e9192999698999a9a9b9c9b9b9a999898979892908e8b8985817d7975706c66605c54514b433d352f271f1910090000000000000000000000000000000000000000000000000000000008101920292f383f444d535960636b6f757a7f82868a8d9092989698999a9b9b9c9c9b9b9a9998969892908d8a86827e7a746e69625f58514c433e342e271e170e06000000000000000000000000000000000000000000000000000000000000000000000002080f181f262b2f383f44464d5355575f616568686d6f717274747576757575747372706f6d67686662605b5453514a47423c373129241e160e070000000000000000000000000000000000000000000000000000000000000000050d141920283035383f44464e5355585f626568686d6f717274747575767575747371706e696864615e5756544f464540393630282019140d0500000000000000000000000000000000010d1925303b444c52545757575757575757575757575757575757575757575757575757575757575757575757565655555453514b4e4c4b4847423f3c3937332d2b27201e19130e090300000000000000000000000000000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e02000000000000000000000000000000000000000000000000000000000004101c27323d474f5456575757575757575757575757575756554f473d33271c100400010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575656555453504a4d4a4745413a3936302c27211c160e09030000000000000000000000000000000000000000010d1924303a444c525457575757575757575757575757575757554f473e33281c100400020e1a25303b454d525457575757575757575757575757575755534e463c31261a0f0200000b17222d384149505357575757575757575757575757575755534e463c32261b0f0300020e1a26313b454d5355575757575757575757575757575756544f473d32271b0f030000000000000000000000000000000000000b17222d3844505c66727e8b95a0acb8c2d0c9beb3a99f92857a6d61584e42392e23180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931373b42464c5154585f62666a6f7376797c7f81838587898a8c8c8d8e8e8f8f8f8e8e8d8d8c8a8987868482807d7a7775716d6765615e56544f46454039302b272018130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141b222731363d43484f54575f62666d7074787b7e828486888a8c8c8d8e8e8f8f8e8d8c8c8b8a888683817f7c7975706d6764605b54504a4540393029241d150d07000000000000000000000000000000000000000000000000000000000000070e171d262d333c42474f54596063686d72767a7d80838588898b8c8d8e8e8f8f8e8e8d8d8b89878683807d7a75716d67625f57534e45413a3128231d150c050000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1d262d33383c4246484d535558565e61636466676868696968686766656462605d55595653504a4644403937312b262019130c040000000000000000000000000000000000000000000000000000000000000000000002080e161e25292e34383c4347484e535559565d616364666768686969686867666563615e575854534d4948443d38342e2a251e160e080200000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494948484747454041403e3b3a37312f2d2b27221b1b15110d08020000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f1409000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484846443f403d3a39352f2d2a251e1b16100b05000000000000000000000000000000000000000000000008131e28323a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009141f2a333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d342b21160a0000000000000000000000000000000000000006111b28343f4a54606d7884919da6b0bdc7cfc5baaea2988d80746a5f544a4034281f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b131920262b30363a4145474e5355585f6266666d6f727577787a7c7e7f80808181828282818180807f7e7c7b79787673706d686864605d5554524c48433d38342e271e1b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484e53545c606367696e727577797b7d7f8080818282828180807f7e7d7b797774726f6d6664605d5553504a443f38342e271e18120b030000000000000000000000000000000000000000000000000000000000000000050b141c222831373d44484f54565e6165676d717376797b7d7e808181828282828181807e7c7b797673706d6864605d55534d47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141c22282b31373a3b4246484c4c52545657595a5b5b5c5c5c5b5b5a58575654514c4c4946443f3a38342e2b261f1a150d080200000000000000000000000000000000000000000000000000000000000000000000000000040c13191c23282c31373a3c4347484c4c52545657595a5b5b5c5c5c5b5b59585654524d4b4846423c3b38322c28231d19130c050000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a3a38342f33312f2e2b2622201f1b17110f0a0501000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000050f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e302d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e03000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e04000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f0400000000000000000000000000000000000000000c17232e3844505c66707d8a949fabb5c0cccabeb4aa9f92867c6f665c51443d31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a1f252a2f35393c4347484e5355545c606265686a686d6f7172737474757576757574747372716f6e6d66696663615e565754514c4746413b38322c28231d150c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21272c33383c42474a505357575f616568666d6e70727374747576757474737271716e6d66676563605c5453514b46443f38342e28231d150c070100000000000000000000000000000000000000000000000000000000000000000000020a111720262b32383d44484c5254555d606467666d6e70717374747575757574747371706e6d666663605d5653514b47423c373129241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f262b2d31363a3b3f414647494b4c4e4e4f4f4f4f4e4e4d4c4a494745413f3c3938332d2c28231c1a150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262b2e31373a3c3f414647494b4c4d4e4f4f4f4f4e4e4d4b4a4846423e3b3a36312f2c271f1c18120d080200000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2e2d2c2923262422211e1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000007111921272c2f303030303030303030303030303030302f2c27211a11080000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c28232321201d1813110d080200000000000000000000000000000000000000000000000000000000040e161e24292c2d303030303030303030303030303030302f2c28211a11080000000000050e171f252a2d2e3030303030303030303030303030302f2e2b2620180f060000000000020b141b22272b2d3030303030303030303030303030302f2e2b26201810070000000000060f181f262a2d2e3030303030303030303030303030302f2c272119100700000000000000000000000000000000000000000006111c28343f4a54616c76829099a4afbbc4cfc5baaea3999083786d60584e43392f24180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e24292c31373a3c4347494a505355585b565e61626466666767686969686867676666646361605c54595754524c4a4745413b3936302c271f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3137383f44464a4d535558545c6061636566676768696868676665656462605c54585653514a4745403938332d28231c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000060b151a21272c32383a4146474c515457545c6062636566676868696968686766656361605c545754524c4745403a37312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e21262a2d2e3036393a3c3e3f4141424342424241403f3d3c3a39352f2f2d2b28221f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151b1f21262b2e2f3035393a3c3e3f4141424243424241403e3d3b3a36302e2d2a25221f1b16100c070000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242323222221201f1c1819181514120e090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242421201e19140d050000000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242323201c160f0800000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242423232221201f1c17171413110d07050100000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242423201c16100800000000000000050d141a1e202124242424242424242424242424242422211f1a150e0600000000000000020a11171b1f2024242424242424242424242424242422211f1b150e0700000000000000060e141a1e2122242424242424242424242424242423221f1b160f0700000000000000000000000000000000000000000000000c17232e38424f59626f7c87939fa8b2bdc9cbbfb4aba0958c80736a60554b40352921180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20262b2e32373b3c3f4446494c4e4c5254565759595a5b5b5c5c5c5b5b5a5a5957565453504a4d4a4746413e3a39352f2d2a251e1b16100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c20262b2e34383a3d4246484b4a5053555759595a5b5b5c5c5b5a595958575553504a4c494644403a38352f2b28221c17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3036393a4145474a4a5053555658595a5b5b5c5c5b5b5a5a58565453504a4a4745413a39352f2b261f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e2122252a2d2e30313334353536363535343332312f2d2c292423201f1c1712100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151b1f212224292d2e30313334353536363535343332302e2d2a2521211e1a15130f0a04000000000000000000000000000000000000000000000000000000000002080d111414171717171717171717171717171717171717171717171717171717171717171717171716161515141413100c070b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171414110e090200000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171614100b0500000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171615151312100c0607060401000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b0500000000000000000002090e1114141717171717171717171717171717171514120f0a0300000000000000000000060b0f12131717171717171717171717171717171615130f0a0400000000000000000003090e12141517171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000006111c26303e4754606a74808d96a1adb9c1ccc6bdb1a79f92877c6f675d51453d332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11151b1f21262b2e2e34383a3c3f42414647494b4c4d4d4e4e4f4f4f4e4e4d4d4c4b494846443f403d3a3936302d2c2924201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282c2d31373a3b3f3f4446484a4c4d4d4e4f4f4f4e4d4d4c4b4a4846443f3f3c3a38342e2c29241f1c17110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e252a2d2f35393a3e3f4446484a4b4d4e4e4f4f4f4f4e4e4d4b494846443f3d3a39352f2c29241d1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415191d202123242627282829292928282725242321201d191613120f0b060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515191d2021232426272828292929282826252321201e1a1514120e090703000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0808060200000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000000000000000000a151e2b37434e58606d7984919ea5afbac4cfc3bbafa3999184796d60594f453c32281e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f12151b1f2123282b2d2f323035393a3c3e3f40414142424342424141403f3e3c3b3a38342e302e2d2a2521201d1914110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e11171c1f20262b2d2e2e34383a3b3d3f4041414243424141403f3e3e3b3a38342e302d2c28231f1d18120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2024292c2d2e34383a3b3d3e404141424242424141403e3d3b3a38342e2d2c2924201d18130e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d1113141618191b1b1c1c1c1c1b1b1a1917161413110d08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608080d1113141618191a1b1c1c1c1c1b1b1a18171514120e09070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1b27323c45515d67707d8a939ea8b2bdc7cbc0b5aba0968d80746b60574d443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1315171c1f20222525292d2e2f313333343435363635353434333331302e2d2b28232421201d191413110d080502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131a1e212223282c2d2e30323334343536353534333232312f2d2b282323201f1c1813100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113191d202123282b2d2f30323334353536363535343332302e2d2b282321201d1913110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f100f0f0f0e0d0c0a0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f0f100f0f0e0d0b0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313131312070604000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000002070b0d0d131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000003070b0d0e13131313131313131313131313131312110f0b07010000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935404b55616b75818e96a0abb5c0cbc7bdb2a89f93887d70695f564c42392e2318120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b1012131619191d2021232426262728282929292828272726242321201f1c17171413110d0806040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171c1f2022242626272828292928272626252422201f1c17161312100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d111314171c1f2022232526272828292928282727252321201f1c171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b2020202020202020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202020202020202020202020201e1413100c0701000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013100c07000000000000000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201b1a18140f080100000000000000000000000000000001080e1317191a2020202020202020202020202020201e1e1b17120c050000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f3a434f59606d7a849199a3afbbc1ccc3bbafa49a92857b6e685d544b403428241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709080d1113141618191a1a1b1b1c1c1c1b1b1a1a191816151312100b0607070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507060c1012131517191a1a1b1c1c1c1b1a1a191817151312100b0607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b1012131517181a1b1b1c1c1c1c1b1b1a1816151312100b0606040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708090b0c0d0e0e0e0d0d0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b201f1d18120b03000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d170f06000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313e45515d676f7c87929fa6b0bac3ccc0b6aca19791847a6d665c514540362c241b120a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0e0e0f0f100f0f0e0e0d0c0b09080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0c0d0e0e0f100f0e0e0d0c0b0b080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0d0e0e0f0f0f0f0e0e0d0b0a0807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080e1114141618191a1a1b1b1a1918161414110e080806020000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414202020202020202020202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151d252c313435393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393939393939393939393939382d2c29241d150d03000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c28231d150c03000000000000000000000000000000000000000000000000000000000a141c242a2f32333939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000a141c242a2f3334393939393939393939393939393939393433302b251d140b010000000000000000000000010b141d242b3033343939393939393939393939393939393837342f2821180f0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c55606a727f8c949ea8b1bbc5c7beb3a9a0969082786d605b51483e362d241b13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191e2021232526272728272726252321201e191514120f0905010000000106090b0c13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646463f3e3a352d251b1107000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c4646464646464646464646464646464646453a38352f271f150b0100000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464638342e271e150b00000000000000000000000000000000000000000000000000000008121c262e353b3f4046464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000008121c262e363b3f404646464646464646464646464646464641403c362f261d1308000000000000000000000008121d262e363c3f414646464646464646464646464646464543403a332a2110060000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606c78828f95a0a9b3bdc7c5bbb2a89f948e81746d635a50483f362d2517110a020000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0b0b0c0c0b0a0a0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0a0b0b0c0b0b0a0a09090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0a0b0b0c0b0b0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0b0c0b0a0a0908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f2023252a2d2e30313333343434333332302e2d2a2522211f1a15110d0802060d121518182020202020202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353535353535353535353535353514745403931271d12070000000b17222c353e44494a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403930271d120700000000000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534e4c4841382f251a0f03000000000000000000030e19242e3840474c4d53535353535353535353535353535351504b453c3322180e03000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505b666d7a839197a2abb5c0cbc3bab0a69e938c7f736c615a51483f3727221b140b0200000000000000000000000000000000000000000000000000000000000000000003050609070c10131315161718181818181716161414110e090807050200000000000000000000000000000000000000000000000000000000000000010406070d110707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d1113141616171718191818171616151513120f0b06090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131415171718181918181717151413100d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608060b0f12131416171718181918171615151413100d070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151b1b22272b2d2f3036393b3c3e3f4041414140403f3d3b3936302f2e2b26201e19130e11181d2224252d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b6060606060606060606060606060595751493f35291e120600000000000000000000000000000000000000000000000000000000030f1a26313c464e535560606060606060606060606060606060605e53514b43392f24180c000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b43392e23180c0000000000000000000000000000000000000000000000000007131f2a35404a52585a6060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000000007131f2a36404a52585a606060606060606060606060606060605a58534a41362b1f140200000000000000000007131f2b36404a52585a6060606060606060606060606060605e5c564e45342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859299a3afbbbfc8c2b8afa59c918a7e716c625b514940332d261d140a00000000000000000000000000000000000000000000000000000000000104060b0f12131518181c1f20222324242525252524232221201e19181514120e090603000000000000000000000000000000000000000000000000000001070d1113141a1d1413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406080d111314171a191d202122232424252525242423232221201f1c1718161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e11141417181d1f20222324242525252524232220201d18181514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000010407060b0f12131518171c1f2021232324242525252423222120201d18151312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f161c20262b2d3337393c3f414647494b4c4d4d4e4e4d4c4b494746413f3b3a37312d2a251e1a1b23292e31323939393939393939393939392e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246535353535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b605d554b4035291d1004000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5c554b4034281c10040000000000000000000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301f14090000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b686056463c31261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f69707d87929fa3adb6c0c8c1b7ada49f92877e726d625b52443f382f261b1106000000000000000000000000000000000000000000000000000001080d1113171b1f20222523282c2d2e3031313132323131302f2e2d2a252521211e1a15130f0a040000000000000000000000000000000000000000000000060b13181d2020262a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070d101314191d20212427252a2d2e2f3030313232323131302f2f2e2d2b28222523201f1d1815120f0a070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f13151a1e20212424292c2d2f3031313232323131302f2d2c29242522211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000002080d111314171b1f20222522282b2d2e2f30313132323231302f2e2d2c292422201f1c17110f0a04000000000000000000000000000000000000000000000000000000000000000000000000000002080d161b21282c3237383f4446494c4d52545658595a5a5b5a5a59585654524c4c4847433c3936302b26252d343a3d3f4646464646464646464646463b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d525f606060606060606060606060606060585651483f34291d11050000000000000000000000000000000000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979726d62574a3e3125180b000000000000000000000000000000000000000000000000000000020b1a232e3a47535f6a6f7979797979797979797979797979797979786d675d5145382c1f1306000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000c1926323f4b58636e73797979797979797979797979797979766c5f5346392d2013000000000000000000000000000000000000000000000d1926333f4b58646e7379797979797979797979797979797979746e64584c3b3025190e0200000000000000000d1926333f4c58646e74797979797979797979797979797979787268584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57606b717e8b919ba4aeb6c0c8bfbbafa39992877f726d635c504941382d22170b000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f312e34383a3b3c3d3e3e3f3f3e3d3d3c3b3a3630322e2d2a25221f1b15100c0701000000000000000000000000000000000000020a11171d24292c2d33372e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013181d202024292d2e30333036393a3c3d3d3e3e3f3e3e3d3d3c3c3b3938332d31302d2c2924211f1b15130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11161b1f22252a2d2e312f35393a3c3d3d3e3e3f3e3e3e3d3b3a39352f312f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000040c13191d202122272b2d2f312d3338393b3c3d3d3e3e3f3e3d3d3c3b3a39352f2f2d2b28231c1b15100c070000000000000000000000000000000000000000000000000000000000000000000000050c131921272c33383c43474950535659565e616364666667676766666563615e565855534e4746413a373129373f464a4b5353535353535353535353534846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b68758186868686868686868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a141d2c38434e58626f7c878686868686868686868686868686868684796d6053473a2d201407000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a667380868686868686868686868686868686796c605346392d201300000000000000000000000000000000000000000005121e2a36424d5767738086868686868686868686868686868686807467564d42362a1e11050000000000000004111d2935414c5667748086868686868686868686868686868684786a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626c727f8c929ca4aeb6c0cbc0b5aba399938b7f736e605b53493f33271b0f03000000000000000000000000000000000000000000050b10161b1e24292c2d3337393c3e4140454648494a4b4b4b4b4b4a4949474642413e3b3a36312e2b271f1c18120d0801000000000000000000000000000003090c141c23282f35393a40443a3935302820160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d3035393a3d404241464749494a4a4b4c4b4b4a4949484846443f403e3c3a38352f2e2b26221f1b16100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20272b2e30363a3b3e41404547484a4a4b4b4c4b4b4a4a48474540413e3b3a37312d2c28231d1a140f0a04000000000000000000000000000000000000000000000000000001090e161e24292c2d2d3337393b3e413f444647494a4a4b4b4c4b4a4948484745403f3c3a38342e2b271f1c18120b030000000000000000000000000000000000000000000000000000000000000000060e171e252a32383e44484e54535b60626669686e6f717273747474737372706e686965625f5854524c47423c353f4951565860606060606060606060606055534d453b31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976797979797979797979797979797979726d62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9393939393939393939393938c7f7265594c3f3226190c000000000000000000000000000000000000000000000000000006111b262f384854606a75828f9993939393939393939393939393948a7e71675d5145382c1f1306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d9393939393939393939393939386796c605346392d20130000000000000000000000000000000000000000000714202d3a46525e697784909393939393939393939393939393918477695e52463a2d201407000000000000000713202c3945525d687783909393939393939393939393939396887b6f6255483c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47505a626d73808d929da4aeb6bfc7bdb5aba49f918c80746c655b5044372b1f120500000000000000000000000000000000000000040b10171c21272c2f35393a3f4446484b4d4b5153555657575858585857565554524d4d4b4846423c3b37322c29231d19130b06000000000000000000000000060c141a1e262e343a4045474d504746413a32281f150c0200000000000000000000000000000000000000000000000000000000000000000000000000000003090f141a1d23282c2f35393a3e4146474a4d4f4c52545556575758585857575656555453504a4d4b494745403c3a37312f2c271f1c18120d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e252a2d32373b3c4246474a4e4b5153555657575858585857565553514b4d4b4847423d3a38342e2b261f1b150e090300000000000000000000000000000000000000000000000009131b20283035393a3d3f4446484b4e4a505354565657575858585756555453514b4b4846443f3837322c28231d150c070100000000000000000000000000000000000000000000000000000000020a1117202930363d44484f55585f62656c6f7275787a7c7e7f80808181807f7e7c7a7876726e6a66615e56534e454146515b62656c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000b17222d38414f59626f7c89939e9f9f9f9f9f9f9f9f9f9f9fa4999083766c61554b4035291d1004000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d999f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000000000000000000000815212e3b4854616e7b8795a09f9f9f9f9f9f9f9f9f9f9f9fa096877b6e6154473b2e211409000000000000000714212d3a4754606d7a86939f9f9f9f9f9f9f9f9f9f9f9fa8988c7f7265554b4035291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f48515b636e74808d929ca4adbbc0c7bdb5afa39b928c80776c605346392d201306000000000000000000000000000000000001080d161b22282d32383a41454749505355585a545c606163646464656564646362615e565a5854534d4947433d38342f29241e17110a020000000000000000030a11171f252a30383f444b5153595d54524c443a31271e140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1f252a2e34383a4045474a4c5254575a5b565e6162636364656565646463626261605b545a585653514b4847433c3b38322c29231d19130b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181f252a3036393d4347494d5254575a555d606263646465656564646362605d555a5855534d4a4645403937312b27201a150b060000000000000000000000000000000000000000000006111b252d323a4145474a49505355585a545b60616263646465656564636261605d55585553504a47433c38342e271e18120b030000000000000000000000000000000000000000000000000000020b141b2227323a41464f545961636a6f73787c7f828587898b8c8d8d8e8d8d8c8b898785827f7b77726d68625f57514c4a56626d7279797979797979797979797976695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8acacacacacacacaca5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000030f1b27333f4953616b7682909ca5afacacacacacacacacb4aa9f93877c6f625a5043392f24180c00000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6acacacacacacacacac9f9386796c605346392d2013000000000000000000000000000000000000000003101c28343f4a5465717e8b98a7b1acacacacacacacacacacb2a8978a7e7164574b3e30251a0e020000000000000a1724303d4a5763707d8a99a4afacacacacacacacacacaca99c8f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232d363f49525c606c77808d929ca4afb5bdb9b1aaa39f948f857b6e6255483b2f22150800000000000000000000000000000000040c131921272c33393d43484c5154535b6062646769666d6e6f70717172727170706f6e69696765615e5756544e47454039352f27221b140b07000000000001070c151c232831363e424a50555d60666a615e564c433930261c11060000000000000000000000000000000000000000000000000000000000000000000000060c141a20262b3036394045464b515357565d616366686a686d6f7070717172717170706f6f6e6c6668666463605d5555534e4948433d38342f29241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000001070d161d242930363b4146474e5456575e61646769676d6f7070717172717171706e6d676a6764625f575653514b46423c37322b261f17110a0200000000000000000000000000000000000000010d18232d373f444c525456535b6062646769666c6e6f70707171727170706f6e6d67686562605c54544e464540393029231d150d06000000000000000000000000000000000000000000000000020b141d262d333d444c525960636b70767c8084898c8f9297969799999a9a9a9999989697928f8b88847f7a756e6a605d554f5865727f8686868686868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9b2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000000010b151f2b3744505b65707d8a949fabb8b9b9b9b9b9b9b9baaea2988e81746a5f54483e31271d120700000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000000000000000000000000006121f2b3844505c6675828e9ba8b5b9b9b9b9b9b9b9b9b9b9b4a79a8e817467574d42362a1e1205000000000004111d2935414c566773808d9aabb5c0b9b9b9b9b9b9b9b9b9ac9f92867a6d6053473a2d20140900000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b242d374044505b656c74808c929fa4abb4aea7a098928b827a6e695f53473a2e211408000000000000000000000000000000070d161e242932383e44494f54555d6064656c6f71747678797b7c7d7e7e7e7e7e7d7c7c7a787674716e696662605853514b45413a332d261d181008020000040c13181e262e343b42464f545c60676d73776d685e554b42382e231712090000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373b42464b5153555d606467686d70737577787a7c7c7d7d7e7f7e7e7d7c7c7b7b79777573716f6d6765625f5856544f47454039353027221b140b06000000000000000000000000000000000000000000000000000000000000000000000000040c12181f282f353b42464c525458606267696e717476787a7b7d7d7e7e7f7e7e7d7d7b7a787674716e696763605c54534d47433c373128231c140c0600000000000000000000000000000000000006121e29343f4951565d606366656c6e71747678797a7c7d7d7e7e7f7e7d7c7b7b7a7774726f6d6662605853514b423d342f271f18100600000000000000000000000000000000000000000000020c141d262f383f444f565e616b6f777d83888d9196999c9fa2a9a4a5a6a7a7a7a6a6a5a9a29f9c9896918c86817b736d6760595865727e8b93939393939393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1c6c6c6c6bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000007121d2834404a54606c7883909da6b0bbcac6c6c6c6c9bdb2a89f92857a6e61584e43362c1f150b0100000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0c6c6c6c6c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5c6cec9c5c4c5c9cec4b7aa9e918477695e52463a2d20140700000000000613202c3945525d687783909daab6c3d2cec9c5c4c5c9c7bbaea3998a7d7064574a3d31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b2527333f49535b606e737f8c9399a2aaa49d9590867f756d685f574d42372b1e120600000000000000000000000000000910191f282f353d44485055596063676d7174787b7e8083858688898a8a8b8b8b8b8a8988878583807e7b77736f6a65605c55514c443f382f2a2219130c04070d161d242930383f444d535961666d717980837a6d675d544a3f3428241b1108000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474d52555c6064676d7174777a7d808283858788898a8a8b8b8b8a8a89898887868482807e7c7976726f6a6863605953514b46413a332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000050d161d2429313a41454d52565e61666a6f74787b7e8183858688898a8a8b8b8b8b8a8988868583807e7b7874706d66615f57544e47423c342e261e180f0800000000000000000000000000000000000915222e3a46515b62686d707376797b7e818384868789898a8a8b8b8b8a8988878684817e7c79746f6a64605c544f454039312a221810060000000000000000000000000000000000000000000a141e262f384149505960686d747d838a90949a9ea1a8a8abadb3b1b2b3b3b4b4b3b2b1b3adaba9a8a09e99928e86807a706b635b65727e8b989f9f9f9f9f9f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adb9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced2d2cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000c18242f3844515c66717e8a95a0acb8c2cdd2d2d9d0c7b9aca0968c7f72685e52463c32241a0d030000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd2d2d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000091623303c4956636f7c8997a2adbac6ccc4bdb9b7b9bdc4c5b9aca096877b6e6154483b2e21150900000000000714212d3a4754606d7a86929facb9c5ccc4bdb9b7b9bdc4bfb5ab9a8d817467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000091317222d384149505c636d737f879298a19e928d837c726d615e564d453c31261a0e02000000000000000000000000010a121a222b313a41454f545a61646b6f747a7d8185888b8d9091939a9697979798989797969597928f8d8b8783807c77716d67605d555049413c3429251e160e13181f282f353d424a50575e616b70787e858c9083796d665c504440362d231a1007000000000000000000000000000000000000000000000000000000020a11171e262e343b42464e53575e61676d70757a7e8184868a8d8e9092989596969798989897979695959892908f8d8b8986827f7c78746f6b64605c55524c443f382f28231c140c0400000000000000000000000000000000000000000000000000000000000000070f171f282f353e434b51575e61686e73777c8084878a8d90919795969797989898979796959792908d8b8884817d79736e69626058534d443f38302a211a1109000000000000000000000000000000000b1824313e4a56626d727a7d7f8285888b8d90919299959697979898989796959496918e8b8885817c76716d666059514b433c342a22180f050000000000000000000000000000000000000006111c263038424a535b606b707a818990959c9fa6abadb2b5b8babebebfc0c0c1c0c0bfbebebab8b5b2acaba39f99928d857d726d6065727e8b98a5acacacacacaca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000004101d2935404b55606d7984919ea7b1bccad4deddd2c7bdb0a69e9184796d60564c41342a201208000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfe3dbd5d0cdccc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000005111d2a36414c566673808c99a9b3becac4bab2acaaacb2bac4bdb2a8978b7e7164584b3e31261a0e02000000000a1724303d4a5763707d8a99a3afbbc7c4bab2acaaacb2bac4b7ab9e9184786a5f53473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44525b636d727e869297928a80796f6a625b524c443c332a201509000000000000000000000000010a131c242c343d434c515960636c70777c81868a8e9197979a9c9e9fa4aca3a4a4a5a5a4a3a3a9a29e9c9a9895908c89837e79736d67605b534e463f35302820181d2429313a41454f545c60696e757d838b9197958f81786d605b51483f352c22190f0600000000000000000000000000000000000000000000000000040b141b222730383f444d52585f62696e74797d81868a8d91939a999b9d9fa2aaa3a3a4a4a5a4a4a3a3a2aaa39f9d9b999798928f8c8885817c77716d67615d565049413c342e261e160d0500000000000000000000000000000000000000000000000000000000000710192129313940454f555d60696e747a8084898d9196979a9c9ea1a9a3a3a4a4a5a4a4a4a3a9a19e9d9a9796918d8985807b766f6a625f57504a423c332b231b130a0100000000000000000000000000000c1925323f4c5865727f88898c8f9297979a9c9e9fa3aba3a3a4a4a5a4a3a3a2a8a09d9b9898928e88837e79706b605c554e463c342a21170e040000000000000000000000000000000000081117232e38424a545b656c727d858e939da0a7abb0b7b9bdc2c5c6cacfcccccdcdcbcac9cfcac6c5c2bdb9b4aeaba39f9792877f746c65727e8b98a5b1b9b9b9b9aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000020d17202c3945515d67727e8b96a0acb9c3cddce3d7ccc0b5ab9f948a7d70675c51443b3022190e00000000000a1724313d4a5764707d8a97a3b0bdcad6e3ecececede3dad1cac4c0bfbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000713202d3946525e687683909da9b6c3c9bdb2a8a09ea0a8b2bdc1b4a79b8e817468574d42362a1e120500000004111d2935414b556773808d9aabb5c0c9bdb2a8a09ea0a8b2bdb9aca196887b6e6255483b2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d334049525b626c707c858e857d746d675f585146413a322a21180e0300000000000000000000000009131c252d363e464e555d606b70777d83898e92989b9ea1a9a7a9abacafb6b0b1b1b1b1b1b0afb3adaba9a7a7a09d9995908b85807a716c655f585146413a322a21282f353d434b515960666d727b828a91959ea19e938e80746d635a50473e342b21180e050000000000000000000000000000000000000000000000060d161d262d333d424a50575e616a6e747b80858a8e92989a9d9fa4aca8aaabaeb3afb0b0b1b2b1b1b0afafb4aeacaaa8a6aaa39f9c9897918e89837e79736d68605b534e443f3830281f170f07000000000000000000000000000000000000000000000000000000071119222b333b434b515961676d747b80868c91969a9ea1a8a7a9abadb2b0b0b1b1b2b1b1b0b0b3adaba9a7a8a19e9a97928d87827c756e69605c544d453d352d251c130a00000000000000000000000000000d1a2733404d5a6673808d9a999c9fa2a9a7a9abacafb5b0b0b1b1b2b1b0afaeb2acaaa7aaa29f9b95908a847d746d675f584e463c332920160c02000000000000000000000000000000050e1a2328343f4a545c666c777f8792979ea5acb1b7bbc2c5c9cfd2d2cec8c5c4c1c0bfbdbdbdbfc0c2c5c6c6bfbab5aea9a199938c81776c727e8b98a5b1bec6c6bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000009141f2935414c56606d7985919ea8b2bdcbd5dfded4c7bbafa4998f82766c61554b4032291e100700000000000a1724313d4a5764707d8a97a3b0bdcad6e8f3fdf1e6dbd1c8bfb8b4b2afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6c5b9aca0969196a0acb9c4b7ab9e918478695f53463a2d2114070000000613202c3945515d677683909da9b6c3c5b9aca0969196a0acb9bdb2a8988c7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227374049515a616a6f7b817b706b605c554e463f36302920180f0600000000000000000000000009121b252d373f48505860676d747d838a90959b9fa2aaabadb3b3b6b8b9bbc0bdbdbebebebebdbcbeb9b8b6b3b1acaaa7a09d97928c857e786f6a625b524c443c3328313a40454f555d606b6f787f868f939da0a7ada69d928c7f736c62594f463c332a20170c0200000000000000000000000000000000000000000007101820282f383f444f545c60696e757b81868d92979b9fa2aaaaacafb6b5b6b8babebcbdbdbebebebdbdbcbcbfbab9b7b5b3b4aeaca9a9a19e9b95908b85807a716c655f58504a423a31292119100700000000000000000000000000000000000000000000000000071019232b343d454d555d606b707980868d92989ea0a8abacb2b4b6b8b9bebcbdbdbebebebebdbcbeb9b8b6b3b2acaba9a19e9a938f87817b726d665f574f473f372e251c1309000000000000000000000000010e1b2734414e5a6774818d9aaca9abadb3b4b6b7b9bbc0bcbdbdbebebebdbcbbbdb8b7b4b4aeaba79f9d96918880796f6a5f584e453b32281e13080000000000000000000000000000020c16202c353e44505c666d78818c9299a1a9afb8bcc3c7cdd2d2ccc8c6c3bdb9b7b4b3b2b1b0b1b2b3b5b8babfc5c6bfbbb3aba49f938d8073727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000020e1a25303946525d68727f8c97a1adbac4cedde0d6cabeb3a99f93877c6f625a5043392e20170d0000000000000a1724313d4a5764707d8a97a3b0bdccd6e1ebf5ece0d5cabfb6ada8a6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000030f1b27333f495364717e8a99a4afbbc7c4b7aa9e9184919eaab7c4b9aca196887b6e6155483b2e2215090000000714212d3a4754606d7a86929facb9c5c4b7aa9e9184919eaab7c2b5a99c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117252e373f48505860696e746e686159514b433c342a251e170e0600000000000000000000000006101b242d373f49515a616a6f7a818790959da0a7acaeb4b8b9bec0c3c4c6c8ccd2cacacbcbcacacfcac6c5c2c0bcb8b7b1aca9a19e97918b837c726d615e564d453d343d434b515960676d747d838c92989ea6acb1b9afa59c918b7e716b61584e453b32291e13080000000000000000000000000000000000000000071019222a323a4149505960666d727b81878e92999fa2a9acaeb4b7b9bbc0c1c3c5c6cad0c9cacbcbcbcacac9d1cbc7c5c3c2c0bfbab8b5b2adaba7a09d97928d857e776f6a605c544b433b332b221910070000000000000000000000000000000000000000000000061019222b353d464f575e676d757d848d92999fa3aaacb2b7b9bdc0c3c4c6c9cfcacacbcbcbcacacfcac6c5c3c0bdb9b7b3adaca49f9a938e867f786e69605951493f372e251b12080000000000000000000000020f1c2835424f5b6875828e9ba8b5b8babec0c3c4c5c7cbd1cacacbcbcbcac9cec8c5c4c1bebab8b1aba8a19a938d837c6f6a5f574d443a3024190b020000000000000000000000000008131e28323e47515b606d78818e939fa3abb3bbc1c8cdd3d5d0c7c0bbb9b6b2acaaa8a6a5a4a3a4a5a6a8acaeb4b8babfc5bdb5afa59c928b7f727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000005111e2a36424d57616d7a85929fa9b3beccd5e0d9cec6baada2978d81746a5f53483e30271d0e050000000000000a1724313d4a5764707d8a97a5afbac4cfd9e3eee9dcd0c4b8ada39c999696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000005121f2b3744505b6574818e9babb5c0ccc0b3a69a8d808d9aa6b3c0bdb2a8988b7e7165584b3e31261a0e0200000a1723303d4a5663707d8999a3afbbc7c0b3a69a8d808d9aa6b3c0b9ac9f92867a6d6053473a2d201409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131c252d363e464e575f6167615e564f454039312a2219130d05000000000000000000000000040d18222d363f49515b636c717c848d939a9fa7acb1b8babfc4c6c9cfcfd1cbc7c5c4c3c3c2c1c1c1c2c4c6c8cccec8c5c3bcb8b3ada9a19e9590867f756d685f574e4640444f555d606b7079818890959fa2aab0b8bcc0b7ada39f92877d706a60574d443a3025190d01000000000000000000000000000000000000071019222b343c444c535b606b6f787f868e939a9fa3abadb3b8babfc4c6c8ccd2d0d2d3d3d2d0d0cfcecfcfd0d0d2d3d3d2d0ced0cbc7c5c2beb9b8b1aca9a19e97928b837c736d665d554d453d342b22190f05000000000000000000000000000000000000000000050e18222b343d474f5960696e79818a91969fa3abaeb4b9bdc4c5c9cecfd1d2cfcdcccbcac9cacbccced1d2d1d0cec9c5c4beb9b6afaca49f98928c837b706b625b51493f372d241a0f060000000000000000000003101c2936434f5c6976828f9ca9b5c2c6cacfcfd1d2d3d7dcd4d4d4d5d7d6d6d9d4d1d0d0cac6c2bcb8b2aca49f9591857c6f695e564c4135291d140a000000000000000000000000020c1925303a444f59626d74818e939da5afb5bdc5cdd4d5cec9c2beb6afaca9a8a09e9b9a98979697989a9c9fa2aaacaeb4babfc0bbaea49f92877c7f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000040f19222d3a46525e6973808d97a2adbbc4cfdee1d4c8bdb2a89f92857a6d61584e43362c1e150b00000000000000091623303c4956636f7c89939ea8b2bdc7d1dce8e6dacdc0b4a89c918c8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898986796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000613202d394653606c7885919eabb8c4d2bfb2a5998c7f8c99a5b2bfc1b4a89b8e817568574d42372b1e12060004101d2935404b556673808d99abb5c0cbc0b5ab998c7f8c99a5b2bfbaaea3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b242c343d454d53555b54524d443e342f271f18100802000000000000000000000000010c161f2a343e48515b636d727e8691969fa4acb1b8bcc3c6cad0d0cac6c5c2c0bbb9b8b7b6b5b4b4b5b5b7b9bbc0c4c5c8cec8c5beb9b3ada79f99928b827a6e6960584f4a515960676d747d848e939aa0a7aeb4bcc1c8c9bfbbafa39992867c6f695f564c41362a1d11050000000000000000000000000000000000071119222b343c464e565d656c727d838c92989fa4acaeb5babec5c6cad0d2d4d3d2cfd0cac6c5c4c3c2c2c2c2c3c4c5c6cacfcdd0d1d4d3d2cfc9c6c3bcb8b3ada9a19e94908780786d675e574e463d342b21170d0400000000000000000000000000000000000000020b17202a343d464f59606b6f7b838e939ea1a8aeb4babfc6c9ced2d2d1cbc7c5c2c1bfbebdbdbebfc0c1c4c6c9cfd0d3d2cfcac7c0bbb6afaaa39f9590857d726d635b51493f362c21180d0300000000000000000004111d2a3744505d6a7783909daab6c3d0d2d0cecccac9c8c7c7c7c8c8cacdd0d1d4d9dddbd6d3cdc8c4beb6afa7a09791847b6e685d52453d2f261b110600000000000000000000000a141e2a36414c56616b727f8c939da5afbbc0c7cfd6d3ccc4bdb9b0aca49f9c9996918e8d8c8a8a8a8c8d8f92989a9fa2aaaeb4bcc0bbafa3998f827f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000a15202b37424d57616e7b86929fa9b3becdd6e1d9cfc7b8aca0968c7f72685e52463c31241a0c03000000000000000915222f3b4854606b75818e96a1abb5c0cbd7e0e9d9ccbfb2a6998c7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c786c605346392d2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000916222f3c4955626f7c8897a1adb9c6cabfb4aa978a7e8a97a4b1bdc4b8ab9e918478695f53473a2d211408000613202c3945515d677683909da9b6c3c7bbafa3998b7e8b98a4b1bebfb4aa9a8d807467574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222b333b4246484e4746413b3229231d150d06000000000000000000000000000008131e28313c46505a626d727f8a9298a1a8afb6bec3c8cdd3cdc7c6bfbab8b5b5afacabaaa9a8a7a7a8a9aaacafb6b7b8bcc3c7cbc9c4beb9b1aba39f948f847b6f6a6059545c606b7079818991969fa4acb1babfc6ced1cbc5beb5aba29892857b6e685e5246392d20130700000000000000000000000000000000061019232b343d464e585f686d777f8790959fa2aaafb6bbbfc6cad0d3d6d3d0cbc7c5c2bfbfbab8b7b6b5b5b5b6b6b7b8babebec0c3c5c8ced2d3d5d2cdc8c5beb9b3ada69f99928d82796e6960584e463c33291f160c030000000000000000000000000000000000000a141d29323c464e58606b707d8590959ea5adb2babfc6cbd0d5cfc9c6c4bfbab9b6b4b3b1b0b0b1b2b3b5b8b9bec2c3c7ccd3d6d2ccc7c0bbb4aea79f9792877f726d635b51483e332a1f150b01000000000000000005111e2b3844515e6b7784919eaab7c4c7c5c3c2c0bebcbbbbbababbbcbec1c4c5c8ced3d7dcdfd8d4d0c7c0bbb1a9a19691837a6d60594f41382d22170b0000000000000000000006111c26303846525e68707d87939fa5afb7c0cbd1d9d2cac1bab2aca69f9a93908c888481807f7e7d7e7f8082858a8e92989fa3aab0bbc0b5ab9e948f828f9ba8b5c2cec7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000020b1b27323a47535f6974818e98a3aebcc5d0dfdcd1c7bdb0a69e9184796d60564c41342a20110800000000000000000713202c38444f59606d7a849199a3afbbc2ced7e2ded1c4b7ab9e91847a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6c655b5044372b1f12050000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000004111d2935414b5566727f8c99a9b3bec9c6baaea298897c8995a2afbcc5b9ada196887b6e6155483b2e221509000714202d3a4753606d7a86929facb9c5c5b9ac9f92867d8a96a3b0bdc4b7aa9e918477695f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019212931363a3b413b393630292018120b030000000000000000000000000000010d19242f3a434e58626c727f8b919fa3aab2bbc0c7d0d2ccc7c2bbb7b4aeaca9aba39f9e9d9c9b9a9a9b9c9e9fa4acaaacb1b9bbc0c7cfc9c2bdb4aea69e9691857c706b605f666d737d848d929ea1a8afb6bec3cad0cfc7c0bbb3ada8a19e9691847a6d6154473a2e211407000000000000000000000000000000050e18222b353d464f58606a6f7a828c9299a0a7aeb4bbc0c7cbd1d6d6d1cbc7c5bfbab8b6b2b4aeacaaa9a9a8a8a9aaaaabadb3b1b3b7b8bcc2c5c7cbd1d5d4cfc9c5beb9b0aba39f948f837b6f6a60584e453b31281e150b000000000000000000000000000000000006111b262f3a444e58606a707d869197a0a7afb9bdc4cbd1d6cfc9c4beb9b8b4aeaca9a7a6a5a4a3a4a5a6a8abadb3b5b7bbc2c7cbd1d8d2ccc6bfbab1a9a299928b7f726d625a50463c31271d1207000000000000000005121f2b3744505b657885929eabb8c0bbb9b7b5b3b1afafaeadadaeafb1b4b7b8bcc3c7cbd1d9e1e2d9d2ccc3bbb2a8a0958f82756b6053493f33271b0f030000000000000000000b17232e38424f59616d7a859299a4afb7c0c9d7dcd2c9c1b8b0a8a09e949087837f7b77757372717071727375797d81858d92989ea6afb6bdb0a69e938f939eaab6c3cfc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000a141d2b37434e58626e7b87929faab4bfced7e1d7cbc0b5ab9f948a7d70665c51443a3022180e000000000000000000030f1b27323d45515d676f7d87929fa7b1bcc5d0dbdfd2c5b9ada1968e81756c6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b53493f33271b0f030000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000613202c3945515d6776838f9ca9b6c2cfc5b8ac9f92857b8794aab4bfc9bdb2a8988b7e7165584b3e31261a0e020a1723303d4a5663707d8999a3aebbc7c5b8ab9e92857d8996a2afbcc5b9aca096887b6e6255483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f262a2d2e342e2d2a251f170e070100000000000000000000000000000004111d2935414c555f6a717e8b919ba3aeb4bcc4ccd2d0c7c0bbb9b0abaaa29f9c9999929190908f8e8e8e8f91939a999da0a7acafb5bdc1cbcfc6bfbab0a8a09792867d706b696e78808891969da4acb2bbc0c7d0cec9c2bdb5afa9a19e96918b847f786d6053463a2d2013070000000000000000000000000000030c17202a343d474f59606a6f7c848f949fa3abb1babfc5ccd2d7d6d0cac6bfbbb9b4aeaca9a6aaa29f9d9d9c9b9c9c9d9d9fa2a9a4a7aaacb1b5b9bbc0c7c9cfd6d5cfc9c2bdb5afa69e9590857c6f6a60574d433a30271c1207000000000000000000000000000000020b17222d38414c565f6a6f7c869298a1a9b1b9c1c9cfd7d0cac4beb9b3adabaaa39f9c9a999897969798999b9ea1a9a9abb0b9bbbfc6cfd6d8d1cbc2bcb3aba39f918b7f726c61584e43392f24180b02000000000000000613202d394653606c7986929facb6b5afacaaa8a6a4a3a2a1a1a1a1a2a4a7aaacb1b9bbc0c7cfd5dee4ddd8cdc4bab1a79e94897d70655b5044372b1f150a000000000000000003101c28343f4a54616c75818e97a1abb5c0c9d2dbd2c8c0b7afa69e96918a837c76726e6a6867656463646567676d70747a80868f949fa4acb4b8afa59e9b9ea5afbbc6d2c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000006111b262f384754606a75818e99a3afbcc6d0e0ded3c7bbafa3998f82766b61544a4032291e1006000000000000000000000b16212935414c55606b73808c959faab4becad6ded5c9bdb2a89e938b7e71695f54565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565653504941382d22170b000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1c4b7ab9e9184798798a3aebac7c1b4a89b8e817568574e42372b1e1206101d2935404b556673808d99abb5bfcbc4b7aa9e91847c8895acb6c0c9bdb2a8988b7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222821201e19140d0500000000000000000000000000000000040e19222c3945515d676f7c86929fa3adbabfc6ced8cdc4bdb5afaca69f9c98928f8c898685848382818182828486898c91959b9fa3abb0babfc6cecbc1bab2a9a19892867d6f717b838d939aa1a8aeb9bdc4ccd1cbc4bdb9b0aba39f97928b847f79716d665c5144382c1f120600000000000000000000000000000b151e29323c464f59606b6f7c8591969ea6afb5bdc3cad0d8d7d0cac5bebab5aeacaaa39f9c9996989291908f8f8f8f9091929796989a9da0a7a8acafb5b9bec4cad0d7d5cfc7c0bbb0a7a09791867c6f695e564c42392e23180c0300000000000000000000000000000a141d27333f49535e686f7c859298a2aab3bbc3cbd5d4cec5bebab3ada9a19e9a98928f8e8c8b8a8a8b8c8d8e9197989c9fa6acaeb5bdc1cad0d7d7cec5bdb5afa39f93887e716a5f554b4035291d140a000000000000000714212d3a4754606d7a8799a3aca9aba39f9d9b999796959494949595979a9da0a7acafb5bdc3ccd3dce8dfd6ccc3b9b0a69d9083786c6053463c31261b0f030000000000000006121f2b3844505c66707d8a939ea9b3bdc7d2dbd3cac0b6aea59e948f847d766f6a66625f575a5957575759555c6063686d747b828c939aa2aab4b7afaaa8aaafb7c1ccd7c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414f59626f7c88939eabb5c0ced8dfd6cabeb3a99f92877c6e62594f42392e20170c0000000000000000000000040d19242f3a434f59606d78839098a2aebac1ccd6dacfc4baafa59f92867b6e665c504949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494946443f382f261b1106000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d0c3b6aa9d90837986929facb9c5c4b8ab9e9185786a5f53473a2e211406131f2c3945515d677683909ca9b6c3d1c3b6a99d90837b879aa4afbbc8c2b5a99c8f8276675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1414110e080200000000000000000000000000000000000a15202b37434e58606d7a849198a3aeb5bfcbd0d2cac2bbb3aba49f9b94908a85827f7c797877767574747576777a7c8084888e92999ea6aeb4bcc3cbccc4bbb3aaa29892857c7e8590959fa4acb2bac0c9cecfc7c0bbb2aca69f99928d857f79726d66605c544a4034281c10040000000000000000000000000007121d27303b444e58606b707d869297a0a8b0bbc0c7cfd6dbd6cec5bfbab3adaba39f9b98928f8c89878584838282828383848587898b8d9095979b9fa3abadb2babec5ced6d9d1cbc1b9b1a9a19891857b6e685d544a4034281e150a0000000000000000000000000006111c262f3844505b656d7a849197a2aab4bcc4cdd5d8cbc3bcb3ada9a19e97918e8a868281807e7d7d7e7f808285888b8f949b9fa3abafbabec5ced4d7cfc7c0bbafa49a92867c6e675d51453c2f261b11060000000000000815212e3b4854616e7b8794a39f9c999992908f8d8b898888878788898b8e91959b9fa3abb2bac1cad3dde6ded5cbc1b8aba0958a7e7164584e43372b1f120600000000000004101c2834404a54606d7884919da5afbbc5d0d9d6cdc1b8aea49d938e8279706c62605855534e4d4c4b4a4b4c4b5153565e61696e777f889298a2abb5bbb6b5b6bbc1c9d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000030f1b27333f4953606b76828f9ca5afbdc7d1e0d9cec6baada2978d80746a5f53473e30271c0e0500000000000000000000000008131e28313d44505c666e7b86929fa5afbac4d0d9d6ccc1baaea2989083786d60584e433c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3937332d261d140a00000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000006121e2b37424d576774818d9aabb5bfcbcec2b5a89b8f827884919eabb7c4c6b9ada197887b6e6255483b2d22170b14202d3a4753606d7a86929facb9c5cec2b5a89b8f827986939facb9c6c5b8ac9f9286796d6053473a2d2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000030f1b27323a47535f6a74808d96a0aab4bfc7d6d2c8c0b8b0a9a199938f89837d7976736f6d666a696867676869676d6f73777c81878f949fa3aab1b9c1c9cdc5bcb4aaa29792868a92989fa7afb6bec4ccd1cbc3bdb5afa8a19e948f87807a726d67605c54514a42392e23180c00000000000000000000000000050e18232e39434c565f6a707d869298a2a9b2bac1cbd1d9d7d0cac2bcb4aea9a29f99928f8a86837f7d7b797776767575767777787a7c7e8084878b8f92999ea1a9aeb4bcc1cad0d8d7cbc3bbb3aaa19790837a6d665c51443c30261c11060000000000000000000000000b17222d38424e58606c77828f96a1a9b3bcc5ced6d2ccc1b9b1a9a29f97918b85817d7a76747372717071727375787b7e82888e92999ea5aeb4bcc2cbd4d9d1cbc0b6aca2989083796d60584e41382d22170b0000000000000916222f3c4955626f7c889598928f8c89868482807e7c7c7b7a7a7b7c7e8184898e9299a0a8b0b8c1cbd4dfe7ddd4c8bcb1a79e9184776a5f53473a2e21150800000000000006121f2c3844515c66717e8b96a0acb7c1cdd7dacfc4bbafa59d928d81786d67615a544e484742403f3e3d3e3f4045474c52575e656c737d869299a3afbbc0c2c3c6ccd3dcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000010b151f2b3744505b65707d89949fabb7c1cfd9e1d4c8bcb1a79f92857a6d61584e43352c1e150b00000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2ddd6cabeb4aa9f958c7f736a60554b41353030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b27221b140b0200000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000814212e3a47535f697884919eabb7c4d1cdc0b4a79a8d817683909da9b6c3c9beb3a9988b7e726553493f33271b0f1623303d495663707d8999a3aebac7cdc0b4a79a8d817885929eabb8c5c7baaea3988a7d7063574a3d31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa8b2bcc6d0d3c9c0b6aea69f979187827c76706d666663605c545d5c5b5b5b555d6063666a6f747b828b9298a0a7afb7c1c9cec6bcb3a9a29892989fa2aab1bbc0c7d0cfc6bfbbb1aba39f96918a827c736d68605c55514b44403930271c1207000000000000000000000000020d17202834404b555e686f7c869298a2aab3bbc4ccd7dcd6cec6bfbab0aaa29f97928c86827d797673706e6c656a696869696a6a686d6f7174777b7e82868c91979fa2aaafbabfc6ced6d5cdc4bcb3a9a0958f82786d60584e42382e23170c0300000000000000000000030f1c28333f4a54606a727f8c949fa8b2bbc5ced7d0c7c0bbafa79f97928c857e7974706d676766656463646566686a6e72767c81868e939fa2aab1b9c2cbd4dcd2c7beb4aaa0958d80746a5f53493f33271b0f0300000000000a1623303d495663707c898f8a8683807d7a77757371706f6e6e6e6e6f7174777c818791969ea6b0b9c2cdd7e1e4d9cdc3b9aca096887c6f6255483c2f24190d0100000000000713202d3a4653606d7984919ea8b2bdc9d3dfd5c9beb3a99e938d80776d665d555047433c3a3731323130312f34383a41464d535b606b707d87929fa4aebbc5cfd2d7dde5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000007121d28343f4a54606c7883909da6b0bbc9d3e1d8cfc6b8aca0958b7f72685d52463c31231a0c030000000000000000000000000000040d17232e38424d57626c75818e96a1abb5c0ccd7dbd0c5bcb1a79f92877c6f675d51453e332923232323232323232323232323232323232323232323232323232323232323232323232323232323232323201f1b17110a020000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000815222f3b4855626e7b8896a1acb9c5d2ccbfb2a5998c7f75828f9ba8b5c2cfc1b5a89b8e8275655b5044372b1f121c2934404b556673808c99abb4bfcbccbfb2a5998c7f7784909daab7c3cbbfb4aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000020507080f08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76828f99a3afbac4ced4cac1b7aea49d948f857d756f6a63605c545653514b504f4e4e4f4b515456585f62696e757f8690959ea5afb7c1cacec5bcb3aaa29fa2aaaeb3bcc3ccd2ccc3bdb5aea7a099928d847d766e6a605d56514b454039342e271e150b0000000000000000000000000008131e29323a45515c676e7a849198a2aab3bcc5cdd6dcd4ccc4bcb4aea69e98928c857f7a75706d67666361605b535c5c5c5c5d565e61636567696e71757b80848c92989ea5aeb4bcc4ccd6d6cec4bbb1a79f948d80736a60544a3f34281f1409000000000000000000010c161f2b3844505b666f7c87929fa6b0bac4cdd7d2c7beb6afa59e9590857f79726d6664605d555958575758595a585f62656a6f747b818a92989fa7b1b9c2ccd5d9d0c6bcb1a79f92877c6f655b5044372b1f160b00000000000a1724313d4a5764707d86827e7a7673706d676866646362616161626264676a6f757c848f949ea7b1bbc5cfdbe6dfd5c9bdb2a8998c7f7266554c4135291d11040000000005121e2b37424d5764717e8a96a1acbac3cedbd9cfc7b9ada1978f81756c655c544b433e37322e2b262624242423292c30363b41495059616b727f8b929da9b3bec9d5dfe8e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000c18242f3844505c66717e8a959fabb8c2ccdbdcd1c6bdb0a69d9183786d60564c41342a2011080000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc3ced7d7cec2bbafa3999184796d605a50453b2f261b161616161616161616161616161616161616161616161616161616161616161616161616161616161613120f0b0600000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000004101c2934404b5565727f8b98a8b2bdc9d5ccc0b5ab978a7e74818d9aa7b4c0d1c5b8ab9e9285796c605346392d20131f2c3845515c677683909ca9b6c3d1cabeb3a9978a7d75828e9ba8b5c1d0c4b7aa9e918477695f53463a2d2114070000000000000000000000000000000000000000000000000000000002090e1214151c1514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c88949fabb5c0ccd5cdc2b8afa59d928d827a706b62605853514a494645404342414142414547494e53575e616d727c838e939ea5afb8c2cbcec5bcb4aeacaeb4babec5ced0c7c0bbb1aba39f9590878079706c625f58524c454039342e28231c150c03000000000000000000000000030d1925303a44505a606d79839096a1aab4bcc5ced7dcd4cac2bab2aaa29f948f867f7a736d6864605c5556545350494f4f4f50504c52545658565e6164696e73797f868e939fa2aab2bac4cdd6d6cdc3b9b0a69f92877c6f665c50443b31261a0e02000000000000000008131e2935414c56606c78839099a3afb8c2ccd6d8ccc0b6aca49f938e837b726d67605c5453514b4d4b4a4a4b4c4d4e5355585f62696e757e8690959fa7b1bac3cdd6d7cec3bbafa3999083786c6053463d32271b1002000000000814212e3b4754616e7a7a75716d676663605d555a5856555554545556585860626a6f79828f959fa9b3becad6e0e5d9cec2b6a99c8f8376675d5145392c201306000000000714212d3a46535f6976828f9ca8b2bdccd5dcd1c7bdafa59e91857a6d615b534a4239312b27211e1a19181718181c1f252a2f383f444f59626d74818d97a1adb9c3ced9e5e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000004101d2935404b55606d7884919da7b1bccad4ded7cbbfb5ab9e94897d70665c50443a3022180e0000000000000000000000000000000000000a151e29333e45525d68707d87939fa7b1bcc6d0dbd7cbc0b5aba0968e81746c61574d41382d22170d090909090909090909090909090909090909090909090909090909090909090909090909090909060503000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2ced4c7bbafa499897c727f8c98abb5c0cbc6b9ada197887b6f6255483c2d2217202d3a4753606d7986929facb9c5d2c6baada297887b737f8c99abb5bfcbc5b8aca096887b6e6155483b2f23180c000000000000000000000000000000000000000000000000000000050d141a1e20212822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba6b0bdc7d1cfc5bbb0a69e938d80776d686059544e4644403c3a38342e3534342f35393a3c43474d535b626a6f79818e939ea6b0b9c2cdcec6bfbab8babfc6cad0cdc4beb6afa79f99928c837c736d67615a534e45413a342f28231d18120b03000000000000000000000000010b151f2a36414c56616c74818e959fa8b2bcc5ced7ddd4cac2b8b0a8a198928b827b736d68615e5653514b4a4846443f4342424344414647494b4d5254575e61666d727a818a9298a1a8b2bbc4ced7d5cbc2bbafa3999083786d60574d42362a1e120500000000000000010d19242f3945525d68717e8b959fabb5c0cad3d5ccc3bbafa49a938c81796e69605d55514a474540403f3e3d3e3f404347484e53575e616c717b8390959fa8b2bbc4cfdad7cbc0b5ab9f948a7d7164594f44382c1e1308000000000714202d3946525e686e6d6764605d555653514b4d4b494948474748494b4e545860676d79839097a2adb9c4cfdae6dfd2c5b9ac9f92867a6d6054473a2d211407000000000815222e3b4855616e7b87939facb9c4cedfd7cbc0b5ab9d928a7d70685e5249413830271f1b15120e090b0a070c1013191d262d333e47515b606d7a85929ea8b1bdc8d4e1e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000020d17202c3845515d67717e8b96a0acb9c3cddcddd3c7bbaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfcad6dcd1c7bdb2a89d938a7e71695e53493f33271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000714202d3a4753606d7986929facb8c5d2d2c6b9ac9f93867a707d8999a3afbbc7c9beb3a9988b7f7265544a3f33281c23303d495663707c8998a3aebac7d2c5b8ab9f928579707d8999a3aebbc7c8bdb2a8988b7f7265554b4034291c100400000000000000000000000000000000000000000000000000060f171f252a2d2e352f2e2b2620180f0700000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c2cfd5c9beb3a99f948e81776c655e564f47433d38342e2d2c282329282824292c2d32373b424651585f676d78818f949fa7b1bcc7d3d0cac6c5c6cad0d6cac2bbb3aca49f9590877f786f6a605c555047433c352f29231d18120c07000000000000000000000000000007121d27313946525e68717e8a939ea7b1bac4ced7ded4cbc2b8b0a69f9691867e766e69605d56524c4745403d3b3937332d3536363036393a3c3e4246474d52545c60686e747e869196a1a9b2bcc5d0d9d7cbc0b5aba0958c7f72695f53463a2d2114070000000000000004111d2935414c56606d7a85929ea7b1bdc7d1d7cec3b9b0a69f93887f756d675e56514b44403a39352f323130313231373a3c43474d525a61696e79839096a0a9b3bec9d5dcd1c7bdb0a69d9083776b6054483a3025190d0100000005111e2a36414c565e61605d5553514b4a474540403e3d3c3b3b3b3b3c3e43474e555d676d7a85929ea9b2bdc9d5e1e0d3c7bbafa3998a7d7063574a3d3024170a00000005121e2a36424d576673808c9aa4afbbc8d4e0d4c7bbafa3998e81746b61564c41382f261e150d0a0602000000000004080b141b2227353f45525d68727f8b95a0acb8c5d1dee1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000008141e2935414c56606d7984919ea8b2bdcbd4dfd5c9beb3a99f92867b6e62594f42382e20160c0000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac1ccd6d9cfc4baafa59f92857b6e655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000a1723303d4a5663707d8998a2aebac7d3d0c3b6aa9d9083776d7a86929facb9c5cfc2b5a89b8f8275665b5044382b1f2834404b5566737f8c99aab4bfcbcec2b5a89b8f82756d7a86929facb9c5cec2b5a89c8f8275675c5145382c1f13060000000000000000000000000000000000000000000000020a1117212930363a3b423b3a37312a2219110900000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b99a3afbbc7d4d2c6b9ada1978f82786d655b534c443d38322c2823201f1c181c1b1b181d2021262b31363f464e555c666d78828f959fabb7c4d1dbd6d3d2d3d6d3cac1b8b0a9a19a938d837c736d666058514b433e373129241e18120c07000000000000000000000000000000000c18232f3943505a616d7a85929ea5afb9c2ccd6e0d5ccc2b9b0a69f9490847c716c615e57524c46413a38342f2e2d2b2722292929252a2d2e3030363a3b42464a51565e616c717c849196a1aab3bec7d2dcd1c7bdb1a79f92867b6e6155483b2e221508000000000000000613202c3945525d6873808d97a1adb9c3cfd9d0c5bcb1a79e938c80736d605d554d454039342e2c29242524242526262b2e31373b424650575f676d7a849197a1adb9c1cfd8d9cfc2b8ab9f95897c7063564c4135291d1105000000010d1925303b444c525454514b4745403d3a39352f31302f2e2e2e2f2f32373c434b555e68727f8c96a1adb9c5d2dfe3d7cbc0b5ab988b7e7165584b3e3225180b0000000714202d3a46525e697784909dacb6c0ccd8dfd2c5b9ac9f92877b6e61594f443a30261d150c0300000000000000000000020a1117232935414c56606d7884919daab7c3ced9e4d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000020e1925303945525d68727f8c96a1adbac3cedddcd2c6b9ada1978d8073695f53473d30261c0e0400000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbac4d0d9d6ccc0baada2978f82776c60584e43392f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000005121e2a36424d576773808d9aaab4bfcad6cbbfb4aa998d8073677683909da9b6c3d2c5b8ab9e9285796c605346392d202c3845515c6776838f9ca9b6c2d1c9beb3a9988b7f72677683909ca9b6c3d0c5b8ac9f9285796d6053473a2d20140900000000000000000000000000000000000000000000050b141c2228333b4246484f4847433c342b231b1206000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6776838f9cabb5c0cbd4c8bdb2a89e92857a6d665c5349413a322b271f1c181313100c070e070d1113141b1f252a343c434b545c666d7983909da9b6c3d0dce2dfdfdfd7ccc1b8b0a69f97918880786f6a605c544e454039312b262019130c07010000000000000000000000000000000004101c2934404b55616c75818f97a1adb7c1cbd4ded7cec3bab0a69f9490827a6f6a625a534d45413a36302c292321201f1b171c1c1d191d202123252a2d30363940444c525a616a6f7b849198a2acb6c0ccd8d9cfc3baaea2988b7e7165584b3e3225180b00000000000004101c2834404b54606d7a85929fa9b3becbd4d6cabfb4aaa0958f82776c605b514b433b352f2823201d1818171718191a1f21262b30363e454d555e686e7b85919ea6b0bdc6d1dcd4c8bcb1a79c8f8275685e5246392d2013070000000008141e29323b4146474745413a39352f2d2c29242523222221212223272b3139434c56606d7984919eabb8c4d1dee8dcd1bfb2a6998c7f7366594c403326190d0000000815212e3b4854616e7b8795a0acbec7d2ddd4c8bcb1a79b8f8275695e53473e32291e140b0300000000000000000000000000061119242f3a44505c66727f8c99a7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000005111e2a36414c56606d7a85929ea8b2bdccd5e1d4c8bcb1a79e92857a6d60574d42352c1e150a00000000000000000000000000000000000000000000010c16202834404a545f69717e8b939ea8b2bec7d2ddd6cabeb3a99f948c7f726a5f554b40352920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000714202d3a46525e697784919daab7c4d0d3c7baaea398897d706773808d9aabb5c0ccc6b9ada297887c6f6255493c2e232d3a4653606d7986929facb8c5d2c6b9ada197887c6f6673808c99aab4bfcbc6baaea298897d7063564a3d31251a0e020000000000000000000000000000000000000000060e171d262d333d454d52545b55534e463d352d2417110a020000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d1d2c5b9aca0968b7f72685d544b41382f29201b16100c070604000001000104060a0b141d262d334049515a626c717e8a97a4b1bdcad7e4ecebdfd2c6bbb0a69e948f857d736d665f58514a423c342f271f1a150d08010000000000000000000000000000000000010c161f2c3845515c67717e8a939ea9b3bec9d2ddd9d0c5bcb1a89f949082796d685f585046423b352f2a251f1c181513120f0b060f080d11131416191e20252a2e343b4146505860696f7c86929aa4afbbc5cfdad6cabfb4aa988b7e7165584b3e3225180b00000000000006131f2c3845515c66727f8c98a2aebbc5cfddd3c6baaea2989183796d655b504540393129241d1813110d070b0a0b090f12151b1f252a333b434c565f69707d89939eabb5bfcbd7d8cdc3b9ac9f92867a6d6154473a2f24180d01000000020d1720293036393b3a39352f2c292420201d1818161615141415161b1f28313a45515c6774818d9aa7b4c0d0dbe6dacdc0b3a79a8d8074675a4d4134271a0e0000000b1825323e4b5865717e8b98a7b1bcd0d9ded1c5b8aca095897c7063574d42352c20170c0200000000000000000000000000000008131e28343f4a54616e7b8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000040e18222d3946525e6873808d97a2adbac4cfded8cfc6b8aca0958b7e72685d52453c31231a0c030000000000000000000000000000000000000000000000040d18232e39424d57626c75818f96a1acb6c0ccd8dbcfc5bbb0a69f92867c6f675d51453e32291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1d2c5b9ac9f9286796d63707d8a99a4afbbc7cabeb3a9988c7f7265544a3f3428303c4956636f7c8998a3aebac7d1c5b8ab9e9285796c63707c8998a3aebac7cabfb4aa9a8d807367574d42362a1e1205000000000000000000000000000000000000020a111720292f383f444f575e6168625f584f473f3627221b140b0200000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afbbc7d3cabfb4aa9e9184796d60564c42392f261d170e0a0400000000000000000000030c151d262f383f44525b626c717e87929facb9c5d2dfecede9dccfc3b6aa9e938f827a706b605c544e4440393029231d150d09030000000000000000000000000000000000000008131e2935414b55606d7984919ea5afbbc5cfdbddd2c7beb4aaa0959082796d675e564e463e363129241e1913100c070605030000030001050707090e11141a1c232830363e464e575f6a707d88939fa9b3bec9d5dbd0beb1a4988b7e7165584b3e3225180b0000000000000713202d3a4653606d7984919eaab4becdd7d5c9beb3a99f92867b6e675d53493f352f271f18120c070401000000000002060a0f141a2129313a444d57606b75828f99a3aebbc7d2ddd3c7bbafa3998b7e7165554b4035291d110400000000050e171e252a2d2e2d2c2924201d181413110d070a09080808080a0d161f2934404b5564707d8a97a9b3becad6e2dbcec1b4a89b8e8175685b4e4235281b0f000004111d2935414c566875828e9ba8b5c1cedbddd0c3b7aa9d9083776b6054453b31231a0e0500000000000000000000000000000000010b17232e3847535f697783909daab7c3d0ddd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000a15202a36424d57616e7a86929fa9b3beccd6dcd1c6bdafa59d9083786d60564c41332a2011080000000000000000000000000000000000000000000000000007121c27303c45505a616d7a84919aa4afbbc3ced8d7cdc2baaea3999183796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000003101c28343f4a5465717e8b98a7b1bcc8d4cfc2b6a99c8f827667606d7a86939facb9c6cfc2b5a89c8f8275665c5044382b34404b5466737f8c99aab4bfcbcec1b5a89b8e827565606d7986929facb8c5d0c4b7aa9d918477695e53463a2d2114070000000000000000000000000000000000040b141b2227323a424a505960696e756e6a6059504840332d261d140b03000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5c0cbd3c7baaea2988a7e71665c51443a30271d140b050000000000000000000000030c151e272f384149505b636d727f879299a3aebbc7d3e0dfe0e3dbcec2b5a89b8f82786d686059514a423c342e271e18120b030000000000000000000000000000000000000000010d19242f3945515d67727f8c96a1adb7c1cdd7e1d8ccc0b6aca2989183796d675d554c443c342a251f19130d080400000000000000000000000000000205090e12181e252a343c454e58606b74818e97a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000000000005111e2a36414c5664717e8b96a1adbcc5d0dfd2c6b9ada1978c7f73695f554b41382d241d150d0701000000000000000000000002090f181f29323b454f59626e7b86929fabb5c0ccd7d7cbc0b5ab9c8f8276675d5145392c2013060000000000050d14191e202121201d1813110d070604010000000000000000040d18232f3a4753606d7a8697a2adbac6d3dfdccfc2b6a99c8f8376695c504336291d1000000613202c3945525d687784919eaab7c4d1ddd6cabfb4aa988b7f7265594f4433291f110800000000000000000000000000000000000006111c2b37424d576773808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000030f1b26323a46535f6974818d98a2aebbc5cfdfd7cbbfb4ab9e93897d70665c50443a2f21180e0000000000000000000000000000000000000000000000000000000b151e2a333f46525d68707d88939fa7b1bcc6d0dbd7cbbfb4aba0958d80746b61564c41362a21180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000006121f2c3844505c6675828e9ba8b5c1ced6cabeb3a9998c7f72665d687783909daab6c3d2c5b8ab9f9285796d6053463a2d3845515c6676828f9ca9b6c2d0c9beb3a9988b7e72655c6776838f9ca9b6c2d0c5b8aca095877b6e6154483b2e23180c00000000000000000000000000000000040e161d262d333d444c545b606b707b827c706b625a52443f382f261d150c030000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1d2c5b8ac9f9286796d60544a4032281e150b020000000000000000000000030c151e273039424a535b606d737f8b9399a3abb5bfcbd7d4d2d4d7ddd1c5b8ab9e9285796d60564f4440393028231c150c070100000000000000000000000000000000000000000004111d2935414c56606d7a85929ea8b2bdc9d3dfdcd4c8bbafa49a92867c6e675d554b433a322a221a140d08010000000000000000000000000000000000000000070c1419222b333c464f59606d7a85929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b00000000000714202d3946525e6876828f9ca9b2bdced7d5c9bdb2a89e9285796d60574d433a2f261b120b03000000000000000000000000000000060d172029333d47535f6974808d99a4afbbc7d4dcd1c5b9ac9f92867a6d6053473a2d20140700000000000002080d1114141413110d070401000000000000000000000000000713202c3945515d677885929fabb8c5d2deddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a4754606d7a86939facb9c6d2dfd3c6baaea298887c6f6255493d3222170d00000000000000000000000000000000000000000e1a26313f4c5965727f8c98a5b2bfcbd8d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000006131f2b37434e58616e7b86929faab4bfcdd7ddd3c7baaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d95a0aab4bfcad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000713202d3a4653606d7985929fabb8c5d2d3c6baada297897c6f62566774808d9aacb6c0ccc6baada297887c6f6255493c2e3a4653606d7985929facb8c5d2c6b9ada197887b6e625566737f8c99aab4bfcac8bdb1a8988b7e7265544b4034281c10040000000000000000000000000000020c1620282f383f444f565e666c737d858e857d716c635c504941382f261e150b020000000000000000000000000000000000000000000000000003101c28343f4a546a7683909da9b6c3d0cfc2b5a89c8f8275675d5142392e20160c030000000000000000000000030c151e273039424a545b656c73808c919fa4abb5bdc6d1ccc7c6c7ccd2d2c6b9ada1978b7e71655b5044372e271e18120b0300000000000000000000000000000000000000000000000613202c3945525d68737f8c97a1adbac4cfdbded5c9beb3a99f93887e706a5f554c433a31282018100903000000000000000000000000000000000000000000000002081019212a343d45525d68727f8c98a5b2bfcbd7cbbeb1a4988b7e7165584b3e3225180b00000000000814212e3b4754616e7a86929facb9c4cfdfd2c5b9aca0968b7f72675d51453c31281d140a010000000000000000000000000000000000050e17212b37424d57616e7a87939facb9c6d2dfd3c7bbafa399897c706356493d30231607000000000000000001050708070604010000000000000000000000000000000004111d2935404b556a7784919daab7c4d0ddddd0c3b6aa9d9083776a5d5044372a1d1100000a1623303d495663707c899aa4afbbc8d4dfd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000091724313e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000020b1a232e3b47535f6a75818e99a3aebcc6d0dfd5c9beb3a99f92867b6e61594f42382e20160c0000000000000000000000000000000000000000000000000000000000060f1924303a444f59606d79839098a2aebac1cdd6d8cfc3b9aea49e91857a6d615b51453c30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000091623303c4956636f7c8997a2adbac6d3d2c5b8ab9f9285796d605764707d8a9aa4afbbc8cabeb3a9988c7f7265544a3f343c4956636f7c8998a2aebac6d1c4b8ab9e9185786a5f56636f7c8998a2aebac6cec2b5a89b8f8275665c5145382c1f1306000000000000000000000000000008131e28323a4149505960686d788087929792877e736e605b534a423830261d140a0000000000000000000000000000000000000000000000000006121f2c3844505c667885929eabb8c5d1cbbeb1a4988b7e7165554b4030271c0e040000000000000000000000030c151e273039424b545c666c77808c929ba3afb5bdc6cfc7c0bbb9bbc0c7d0c9beb3a99d9184786c6053463d32271b0c07000000000000000000000000000000000000000000000000000714212d3a4754606d7a85929fa9b3beccd6e0d8cdc6b9ada1978e81746c61574e433a31281f160e06000000000000000000000000000000000000000000000000000000070f18222935414c5664717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000005111e2a36424d5665727f8b99a3afbbc7d4d7cbc0b5ab9e9184796d60554b40332a1f160b0200000000000000000000000000000000000000060f1a26313c46525e687683909da9b6c3ced9d7cbc0b5ab998c7f7366594c402f24180c0000000000000000000000000000000000000000000000000000000000000000010d18242f43505d697683909ca9b6c3cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1925323f4c5865727f8b98acb6c0ccd8dccfc2b6a99c8f8376665c5044382c1f12060000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000a141d2c38444f59626f7c87939fabb5bfced8dbd2c6b9ada1978d8073695f53473d30261c0d0400000000000000000000000000000000000000000000000000000000000008131e28323d45515c666e7c86929fa6b0bbc4d0d9d5cbc0b9ada1978f82756d62574e42392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000005111d2a36414c566673808c99a9b3becad6cec2b5a89b8f8275665c54616d7a86939facb9c6d0c2b5a89c8f8275665c5044383f4a5466727f8c99aab4bfcacec1b4a89b8e8175685753606d7985929facb8c5d2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000010d1924303a444c535b606b6f7a828c9399a199928b80746c655b544a42382f261c11060000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2cabfb4aa95887b6e6255483b2f22150b0000000000000000000000030c151e273039424b545c666d78818d929ca4adbbc0c7ccc3bdb5afacafb5bdc7d0c5b8aca0968a7d7063584e43372b1c110600000000000000000000000000000000000000000000000007131f2c38434e5865727f8b98a2aebbc5cfdedfd3c7bbb0a69e91857a6d605a50453c31281f160d05000000000000000000000000000000000000000000000000000000000006101924303e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000714202d3a46525e697683909cabb5c0cbd7d3c7bbafa3998b7e72665c51433a2f21180d0400000000000000000000000000000000000000000009151f2a36414c5666727f8c99a8b2bdc9d5dcd1c2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010d1a2734404d5a6773808d9aa6b3c0d2ddd9ccbfb3a6998c807366544a3f34281c100300000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000006111c262f384854606b75828f9aa4afbdc6d1e0d4c8bcb1a79e91857a6d60574d42352b1e140a00000000000000000000000000000000000000000000000000000000000000020c16202834404b545f6a727e8b939ea9b2bec7d2ddd5c9beb3a99e948b7e726a5f544b40342820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000713202d3946525e687783909daab6c3d0d5c9bdb2a8988b7e726554525d687784909daab7c3d0c5b8ab9f9285796d6053463a44505c6676828f9ca9b5c2d0c9bdb2a8988b7e716558515c6676828f9ca9b5c2d0c6baaea298897d706356493d31251a0e0200000000000000000000000004111d2935414c565d656c727d848f949fa4aba39f928c80776c665c544a42382d2217130a00000000000000000000000000000000000000000000000714212d3a4754606d7a8793a9b3bec9d3c7baaea298877a6d6054473a2d21140700000000000000000000030c151e273039424a545c666d78818e939da4adb6bfcccbc3bab2aba49fa4abb5bdc7c8bdb2a89c9083766a605447382e23170b0000000000000000000000000000000000000000000000000915222e3b4854606a7783909daab4becdd7e1ddd0c4b7ab9f948a7e71685d52483e332a1f160d0400000000000000000000000000000000000000000000000000000000000000081825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000814212e3b4754616e7b87939facb9c6d1dcd2c5b9ac9f92867a6d61544a4031281d0f0600000000000000000000000000000000000000000000030d1925303c4855626f7b8896a0acb9c5d2ded1c4b8ab9e918578675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100020f1c2835424f5b6875828e9ba8b5c1cedbd6c9bdb0a3968a7d7063574a3d2e23170c0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0808080808080808080b17222d3842505a63707d89949eacb6c0cfd8d8cec6b8aca0958b7e71675d51453b3123190c020000000000000000000000000000000000000000000000000000000000000000040e18232e39424e57626d75828f97a1acb6c0ccd8dacfc4bbb0a69f92867c6e665c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000714212e3a4754616d7a87939facb9c6d2d2c5b9ada196887b6e62554c566774818d9aa7b4c0cec6baaea298897c6f6256493c4653606d7985929facb8c5d2c5b9ada196887b6e61554a5466727f8c99aab3becacabfb4aa9a8d807367574d42362a1e12050000000000000000000000000713202c3945525d686d777f8791969fa6afb5aea49c928d81786d665c544a3f3328251b1208000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbacfd2c5b8ac9f928579675d5145392c201306000000000000000000030c151e273039424a545c666d78818e939da5aeb6bfc8cbc2b9b1a8a0999399a4abb5c0ccc3b7ab9f94897c6f62544a3f34281c10030000000000000000000000000000000000000000000004111d2935404b55626f7c8995a0acbcc5d0dfdfd3c7bbb0a69c8f82766c61564c41362c21180d0400000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000b1824313e4b5764717e8a9aa4afbbc8d4d7cbbfb5ab9c8f8276685e5242392e1f160c0000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eaab7c4d1ddd2c6b9ada197867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101d2a3643505d697683909ca9b6c3cfdcd5c8bbaea295887b6f6255483c2f2215060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f32261915151515151515151515151c28333f4a54616c7683909da6b0bec7d2dcd0c6bcafa59d9083786c60554c41332a1f11070000000000000000000000000000000000000000000000000000000000000000000007121d27303c45515b616d7a85919aa4afbbc3ced8d6cdc1baaea2989083796d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000030f1b27333f495364717e8a9aa4afbbc8d4d1c4b7ab9e918478695f534a5764717d8a97a8b1bdc8cabeb4aa998c7f7266544a404956626f7c8998a2aebac6d1c4b7ab9e918478695f534956626f7c8998a2aebac6d0c3b7aa9d908477695e53463a2d2114070000000000000000000000000714212d3a4754606d7a828c9299a1a9b0bbbfbbaea49d938e81786d665b504440372d241a10060000000000000000000000000000000000000000000815212e3b4854616e7b8794abb4bfcbd1c4b7aa9e9184776b554c4135291d11040000000000000000030c151e273039424a545c666d78818f939ea5afb7c0c8cac2b9b1a7a09691869399a4afbbc7c7bbb0a69a8e8174665c5044382b1f1206000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcced7e2ddd0c4b7ab9f94897d70635a50443a2f231a0f060000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000005111e2a36424d576774818e9aacb6c0ccd8d3c7bbaea3998b7e7165564c4130271c0d0400000000000000000000000000000000000000000000000006121f2b37434e586874818e9ba7b4c1cedad5c9beb3a995887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121e2b3845515e6b7884919eabb7c4d1ded7cbbfb4ab94877b6e6154483b2e2115080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226212121212121212121212121212b3844505b66707d8a959fabb8c1d0d9d6cbbfb4aa9e93897d6f665b50433a2f21180e0000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d88939fa7b1bcc6d0dcd6cabfb4aaa0958d80736b60564c41352921170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000005121f2b3744505b6574818e9bacb6c0ccd8cec1b4a79b8e817468574d4754616d7a8795a0acb8c5d0c2b5a99c8f8276665c51444a5466727f8c99aab4bfcacec1b4a79b8e817468574d4653606d7985929fabb8c5d2c5b8aca095877b6e6154483b2e23180c0000000000000000000000000814212e3b4754616e7a8390949ea6afb7c0cbbfb6aea59d938e81786c605c52493f362c22180e0500000000000000000000000000000000000000000714212d3a4754606d7a8799a3aebac7d0c4b7aa9d9184776a544a3f33281c0f0300000000000000020b151e273039424a545c666d78818f939ea6afb7c0c9c9c1b8b0a79f9590847c87939facb9c4cdc2b8ab9e9285796d6053463a2d20130a000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb8c3cedfe1d4c8bdb2a89c8f82766b6054483e32281e1108000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000714202d3a46525e697784919eaab7c4d2ddd2c5b9ac9f92867a6d6054473a3021150b00000000000000000000000000000000000000000000000000030f1a26313f4c5966727f8c99a5b2bfccd8dacfbdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3945525f6c7885929fabb8c5d2ded3c7baaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f322518090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f322e2e2e2e2e2e2e2e2e2e2e2e2e2e34404b55606c7883919da7b1bccad3ddd3c7baaea3988e81756b60544a3f31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000030c18212a36414c56606b73808d95a0aab4bfcbd6dbd0c6bcb1a79f93877d70685d52453e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000613202d394653606c7885929eabb8c5d2d4c8bcb1a7978a7e7164574b46525e687784919daab7c4d0c5b8ac9f9285796d605346505c6675828f9ca8b5c2d0c9bdb2a8978b7e7164584b44505c6675828f9ca8b5c2cfc8bcb1a7988b7e7165544a4034281c100400000000000000000000000714202d3946525e686e7a828f949ea5aeb6c0c8c0b7afa59e938d80746e635b51483e342a20170c03000000000000000000000000000000000000000613202c3945525d687986929facb9c5d1c5b8ab9e928578665b5044382b1f1206000000000000000a141d263039424a545c666d78818f939ea6b0b8c1c9c9c0b7afa69f9590837a75828f9ca8b2bdc9c6b9ada197897c706356493d32261b0f030000000000000000000000000000000000000000030f1b27333f495364707d8a98a2aebac7d3e0ded1c5b8aca096897d7063594f44362c20160c00000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000814212e3b4754616e7b8796a0acb9c5d2dccfc2b5a99c8f8276685d5245392c20130300000000000000000000000000000000000000000000000000000a1724313e4a5764717d8a97a4b0bdcad7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121f2b3744505b657985929facb8c5d2dfd2c5b9ac9f928679675d5145392c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f30251a0e0300000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b45515c67717e8b95a0acb9c2cddcd5c9bdb2a99f92867b6e61594f42382d1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d79839098a3aebac1cdd6d8cec3bbafa49991847a6d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000916222f3c4955626f7c8897a1adb9c6d2d1c5b8aca095877a6e615447414c566774818d9aa7b4c0cec6baaea298897c6f63564953606d7985929fabb8c5d2c5b9aca096877b6e6154483f4a5465727f8c98a9b3becacec2b5a89b8f8275665c5144382c1f1206000000000000000000000005111e2a36414c565e686d79828e939da4aeb6c0c9c0b7afa59d928d80736d625a50463c32291e150b0000000000000000000000000000000000000004111d2935414c566b7885919eabb8c4d1c6b9ac9f9386796c605346392d20130700000000000006111c262f38424a545c666d78818f939ea5afb8c1cac8c0b7afa59e948f827a6e707d8a96a0acb9c6c9beb3a99a8d807467584e43372b1f1306000000000000000000000000000000000000000005121f2b3744505b6574818e9aaab4bfcad6e2d7cbc0b5ab9d9184776b6054473d32241a0d0400000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000b1824313e4b5764717e8a97a8b2bdc8d4d9ccc0b3a6998d807366564c4135291d11040000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b554b4035291d10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265574d42362a1f140900000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c48484848484848484848484848484848484b55606d7984919ea7b1bccbd4dbd2c5b9ada1968c8073695e53473d2f261c0d0400000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515c676f7c86929fa6b0bbc5cfdad7ccc0b5aba1968e81756c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000004111d2935414c5566727f8c99a9b3bec9d5d0c3b7aa9d908477685e52463e4b5764717e8a97a8b2bdc9cabfb4aa998c7f7366554b56626f7c8998a2aebac6d1c4b7aa9e918477695e53463c4955626f7c8897a2adbac6d2c5b8ab9f9285796d6053463a2d2013090000000000000000000000020e1925303b444c565d676d78818d929da4aeb7c1c9c1b7aea49c928c7f726c61584e443a30271c1207000000000000000000000000000000000000010d19242f44515d6a7783909daab7c3d0c7bbafa499887b6e6155483b2e23180c00000000000a1317222d38424a545c666d78818f939ea5afb8c1cac8c0b6aea59d938f82796d686c7884919eabb4bfcbc4b7ab9e9184786a5f53473b2e21150600000000000000000000000000000000000000000613202d394653606c7885919eabb8c4d0dbe0d4c7bbafa3998c7f7266594f44352b2112080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000010d1a2734404d5a6773808d9aa6b3c0ced9d7cbbfb4ab978a7e7164574b3e3024190d0100000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714202d3a4753606d7a869aa4afbbc8d4ddd0c4b7aa9d9184776a5e51442f24180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d8996a3b0bcc9d6e3dacdc0b3a79a8d8074695e52463b31261a0e03000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726559545454545454545454545454545454545454545d67727f8b96a1acb9c3ceddd4c8bcb1a79e9184796d60574d42352b1d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404b555f6a727f8b949ea9b3bec9d5ddd2c7bdb2a89e938b7e71695f544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000613202c3945515d677683909ca9b6c3cfd7cbc0b5ab9a8d807467564d413b4754616e7b8796a0acb9c5d0c2b6a99c8f8376675c515465727f8c98aab4becacdc1b4a79a8e817467574d42394653606c7985929fabb8c5d2c6baaea298897c706356493d30251a0e02000000000000000000000008141e29323b434c555d666d77808d929da5afb8c2c9c0b6aea49f93887e706a5f564c42392e23180e05000000000000000000000000000000000000081b2835414e5b6874818e9ba7b4c1cfccc0b5ab978b7e7164554b4034281c100400000009121c2528333f4a545c666d78818f939ea5afb8c1cac8bfb6aea49d938e81786d675d66727f8c99a3aebac7c5b9aca196887c6f6255493c2e23170c00000000000000000000000000000000000000000916232f3c4956626f7c8997a1adb9c6d2e2dfd2c5b9ac9f92867b6e6154473d3321190f000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000004111d2935404b556975828f9ca8b5c2cfdbd3c7baaea399887b6f6255483c2f2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714212d3a4754606d7a8793a0b5c0cbd7ddd0c3b7aa9d9084776a5d51442e23180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000060f1b27333f4953616c7683909da9b6c3d0dce9dfd2c5b8ac9f92867b6e61574d42362a201509000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f72656161616161616161616161616161616161616161616d7a85929ea8b2bdcbd5d8cec6b8ab9f958b7e71675d51453b3123190b020000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f97a1adb9c0cbd5d9d0c4baafa59f92867b6e665c50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000714212d3a4754606d7a86929facb9c5d2d3c7bbafa3998a7d7063574a3d3a46525e697784919eaab7c4d1c5b8ac9f9286796d60535b6675828f9ca8b5c2d0c8bdb1a8978a7e7164574b3e3844505b6675828f9ba8b5c2cfcabeb4aa998d807366574d42362a1e11050000000000000000000000020d172029313a434b545c656c74808d939ea6b0b9c3c8bfbbafa49a92867c6f685e544a40342820170d0200000000000000000000000000000000000b1825313e4b5864717e8b97a8b2bdc9d2c1b4a79b8e8174675c5145382c1f150b010008121b242e373f44505b666d78818f939ea5afb7c1cac8bfb6aea49c928d81786d665d55616d7a86929facb9c5c9bdb2a8998c807366544a3f34281c1003000000000000000000000000000000000000030f1b27333f49536673808c99a9b3bec9d5e1dccfc2b5a99c8f8276685e5246392d201407000000000000000000000000000000000000000505050505050505050505050505050505050b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000613202c3945515d677884919eabb7c4d1ded2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000713202d3a4653606d798699a3afbbc7d3ded1c4b7ab9e9184786b554b4034281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000c171f2b3744505b65707d8a959fabb8c4d1ddeae0d3c7baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808c97a1adbac4cedbd0c6bcafa59d9083786c60554b4033291f140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a85929ea4aeb9c3cfd8d6ccc1baaea2989083786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000a1724313d4a5764707d8a99a3afbbc7d3d2c5b9ac9f92867a6d6054473a36424d576774818e9aa7b4c1cec7baaea398897c706356606c7985929fabb8c5d2c5b8aca095877a6e6154473b333f4a5465727f8b98a9b3bec9d0c3b7aa9d908377695e52463a2d201406000000000000000000000000050e171f283139424a535b606c77818e949fa7b1bbc4ccc0b6aca29891847a6d665c51443d32291e130800000000000000000000000000000000000815222e3b4855616e7b8896a1adb9c5d1c5b8ab9e9285796d6053463e31271d120708111a242d363f49525c606c78818e939ea5afb7c1c9c8bfb6ada49c928d80776d665c54525e6875828f9ba8b5c2cec3b6a99d908376665c5044382c1f120600000000000000000000000000000000000005121f2b3744505b6576828f9ca9b6c2cfdae1d4c8bdb2a8988b7f7265564d41362a1e110500000000000000000000000000000105090b0b111111111111111111111111111111111111111825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000714202d3a4753606d7a86939facb9c6d2ddd0c3b7aa9d908377665c5044382c1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3844505c667986929facb9c5d2dfd2c5b8ac9f928579675c5145382c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bcc8d4e0ece3d6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c86929fa9b3beccd6d6cabfb4aa9e93897c6f655b504339322a261f170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343f46525e68707d8a929da7b1bcc6d1dcd6cabeb4aa9f948c7f736a60554b40352920170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000006121e2b37424e576774818d9aabb5c0cbd7cfc3b6a99c908376675d514539303e4b5864717e8b97a8b2bdc9cbbfb4aa998c80736655626f7c8897a2adbac6d0c4b7aa9d918477685e5246392d3c4855626f7b8897a1adb9c6d1c5b8aca095877b6e6154473b2e23170c00000000000000000000000000050d161f2730384149505b656d79829095a0a9b2bcc5c7beb4aaa1969082786d60594f443a3025190e04000000000000000000000000000000000714212d3a46535f697884919eabb7c2cdc6b9ada1978a7e71645a5043392f241810101a232c363f48515b636e74808d939ea5afb7c1c9c7bfb6ada49c928c80736c655c544b4c5665727f8b98a8b2bdc9c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deded2c5b8aca096887b6e6155483b3025190e0200000000000000000000000000060c111517181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e25313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000916232f3c4956626f7c899aa4afbbc8d4dbcec2b5a89b8f827568574d42362a1e1205000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101c28343f4a5f6c7885929fabb8c5d2ded3c6baaea29886796d6053463a2d2013070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8a95a0acb9c2cdd8e4f0e7dcd0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc1b4a89c928d8787878787878787878787878787878787878787878787889298a2aebbc5cfded3c6baaea2988e81756a60534f47433d3631292117110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000030c18222a36414c56616b74808d95a0aab4bfcbd7dbd0c5bcb0a69f92877c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000814212e3a47535f6a7884919eabb7c4d1d6cabfb4aa998c807366554b41352e3b4854616e7b8796a1acb9c5d0c3b6a99c908376675d65727f8c98a9b3becaccc0b6ac9a8d817467564d41362d394653606c7985929eabb8c5d1c8bcb1a7988b7e7165544a3f34281c100300000000000000000000000000040d151e262f383f49535c676d7a839197a1aab4bfcac6bcb2a89f948d80736b60564c41362a20160c0200000000000000000000000000000005121e2a36424d576774808d9aa6b0bbc7cabeb3a99d9083766c61554b403529221819222c353e48515b636d73808d929da5afb7c1c9c7bfb5ada39c928c80736e605b534a424855626e7b8896a1adb9c5c7baaea398887b6f6255483c2f2215060000000000000000000000000000000000000815222e3b4855616e7b8897a2adbac6d3dfddd1c4b7aa9e918477695f53463a2d1f1408000000000000000000000000000911171d2124252b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000b1825313e4b5864717e8b97acb6c0ccd8ddd1c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c17232e45525e6b7885919eabb8c4d1ded6cabfb4aa94877a6e6154473b2e2114080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d7884919ea7b1bccbd4dfe9f5ede2d7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd0c4b9aea49c999494949494949494949494949494949494949494949494959fa2aab4bfcdd7dfd2c5b8ac9f92857b6e67636059544e46423b3328231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d79839098a3aebac2cdd6d7cec2bbafa3999184796d605a50453b2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000815222f3b4855626e7b8896a1acb9c5d2d3c6baaea298897c6f6356493c2f2d3a46535e697884919eabb7c4d1c5b9ac9f9286796d606675828f9ba8b5c2d0c8bbafa49a8a7d7164574a3e302b3744505b6575828e9ba8b5c1cfcec1b5a89b8e8275665c5044382c1f12060000000000000000000000000000030c151d262d38414b555d686e7b859198a2aebac1ccc4bab0a69f93887d70685e52463e32281e1308000000000000000000000000000000020e1a26313b4855626e7b88949fabb7c3cec5b8ab9f958a7e71675d51453e342a21212b343e47505a626d727f8c929ca4aeb7c1c9c7bfb5ada39c918c80736e635c5049413847535f6a7884919eabb8c4cbbfb4aa978b7e7164584b3e2d22170b0000000000000000000000000000000000000b1724313e4a5764717e8a97a9b3becad6e2dacdc0b3a79a8d807467574d42362a1e0d0200000000000000000000000009121b22292e3132383838383838383838383838383838383838383838383e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000c1926333f4c5966727f8c99a5b2bfd2ddded2c5b9aca096877b6e6154483b2f24180d000000000000000000000000000000000000000000000000000004101c2834404b546673808c99a6b3bfccd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000061e2a3744515d6a7784909daab7c3d0dddbd0bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000010c16202c3845515c67717e8b96a0acb9c3cedde6f0f7f3e7dcd1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5cabfb6aea8a6a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2acaeb4bcc5d0dfded1c4b7ab9e91847e7974706b626058534d453e342e261e150c030000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515c676f7c86929fa6b0bbc5cfdad7cbc0b5aba0968e81746c61574d41382d22170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000004101c2934404b5565727f8b98a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d2a36424d576874818e9ba7b4c1cfc7baaea399897d70636c7985929fabb8c5d2c6b9ac9f93867a6d6154473a2e27333f495365727e8b98a9b2bdc9d2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000030b141b262f39434c565e696f7c86929fa5afbac4ccc2bbafa49a91857a6d615a50443a3025190b020000000000000000000000000000000914212e3a47535f6976828f9ca7b1bcc8c8bcb1a79e9184796d605a50463c332a2a333d474f59616c727f8b919ca4aeb6c0c9c7bfb5ada39c918c7f736d635c52443f3837424e576874818e9ba7b4c1cfc0b3a79a8d807467544a3f33281c0f0300000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d0dbe3d6cbbfb4aa978b7e7164584b3e31261a0e02000000000000000000000006111b242d343a3d3e44444444444444444444444444444444444444444444444b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00010e1a2734414d5a6774808d9aa7b3c0cddae1d4c8bdb2a8978b7e7164554b4035291c11060000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9ba8b5c2cedbd8ccc0b6ac978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100030f1c2936424f5c6975828f9ca8b5c2cfdbd6c9bcafa396897c706356493d302316090000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdcbd5dfedebeaecede3d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7dcd1c8bfb9b4b3aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb8babfc5ced7e2ded2c5b9aca196918b85817d766f6a615f5750443f3830271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202934404b555f6a727f8b949fa9b3bec9d5dcd1c7bdb2a89d938a7e71695e53493f33271f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000006131f2c3845515c6776828f9ca9b5c2cedacfc2b5a89c8f8275665c5144382c25313e4b5865717e8b98a8b2bdc9cbbfb4ab998c8073666f7c8897a2adbac6d0c3b7aa9d908377685e5246392d222d3b4855626e7b8896a1adb9c5d2c6baada297897c6f6356493c3025190e02000000000000000000000000000000020a141d27303a444d575f6a717e8b939ea8b2bec7ccc0b6aca1978f82756c61564c4135291d140a00000000000000000000000000000006121e2b37424d5764717e8a95a0acb8c1cec2b9aca1968d80746c61584e453c33323c454f59616b717e87939fa3adb6c0c8c8bfb5ada39b918c7f736d635b524a40332d313e4b5764717e8a97a8b2bdc9c3b6a99c908376665b5044382b1f120600000000000000000000000000000000030f1b27333f49536976828f9ca9b6c2cfdce0d3c7baaea398887b6f6255483c2f2215090000000000000000000000010c17222d363f454a4b5151515151515151515151515151515151515151515151515864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00020f1c2835424f5b6875828e9ba8b5c1cedbe5d9cec1b4a79b8e8174675d5145382e23170c010000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded4c8bbafa49a887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010e1b2734414e5a6774818d9aa7b4c0cddad8cbbfb2a5988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000010d19242f3945515d67727f8b96a1adbac3cedde5e1dedddfe0e3dcd1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e3dad1cac4c1c0babababababababababababababababababababababababbc5c6cad0d7e0e9e1d5c9bdb2a8a19e98928e89827c756e69615a504a423930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232f39434e58606c77828f97a1adb9c0ccd5d9cfc4baafa59e92857b6e655b50443c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000714202d3a4753606d7986929facb8c5d2d5c9beb3a9988c7f7265544a403428222e3b4855616e7b8896a1adb9c5d1c3b6a99c90837667727f8b98a9b3becaccc0b5ab9a8d807467564c41362a212e3a47535f697884919eabb8c4d1cabeb3a9998d807366564c41362a1e110500000000000000000000000000000000020b151e28323b454e58626c75818e96a1acb6c0ccc7beb3a99e948a7e71685e52463d2f261b11060000000000000000000000000000020e1a26313c4653606d7883909da5afbcc6c9bdb2a89d928a7e716a5f574d453d3b444e57606b707d879299a4afb5bfc8c8bfb6ada39b918c7f726d635b5249403727222e3b4754616e7a8796a1adb9c5c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121f2b3744505b657784919eaab7c4d1dddfd2c5b8ac9f9286796d6053463a2d201307000000000000000000000005111d29343f485056585e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e64717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0003101d2a3643505d697683909ca9b6c3cfdce9ded1c5b8ab9e9285796d60544a3f34281e13080000000000000000000000000000000000000000000000050f1b27333f495363707d8998a2aebac6d3dfd2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1926333f4c5966727f8c99a5b2bfcfdbdbcec2b5a89b8f827568574d42372b1e120500000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000004111d2935414c56606d7985929ea8b2bdccd5e0d9d5d2d1d2d4d7dcd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ece3dcd5d0cdccc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c8d2d3d6dbdddfe0e4dacec4bab2acaaa29f9b948f87817b706c605c544b43392f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929ea4aeb9c3cfd8d5ccc0b9ada2978f82776c60584e43392f23180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000a1723303d4a5663707d8998a2aebac7d3d2c6b9ada197887c6f6255483c2e23212d3a46535f697884919eabb8c4d1c5b9ac9f92867a6d75828f9ba8b5c2cfc7bbafa4998a7d7064574a3d30251e2b37424d576875818e9ba8b4c1ced0c3b6aa9d908377685e5246392d2014060000000000000000000000000000000000030c162029333c46505a616d7a84919aa4afbbc3d0c4bbb0a69e92857a6d61594f41382d22170b01000000000000000000000000000009151f2b3844505c66707d89939eaab4bfcbc4baaea49f92867c6f695f574e46434d565f6a6f7d869299a3abb5c0c7c8bfb6ada49c918c7f726d635b514940372e25202d3946525e687884919eabb7c4c6baaea298887b6e6255483b2f221508000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfdcd0c3b6a99d908376665c5044382c1f120600000000000000000000000915212e3a45505a62656b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0004111e2b3744515e6a7784919daab7c4d0ddeadfd2c6b9ada2978b7f72665c50443a2f24190f06000000000000000000000000000000000000000000030c17202b3744505b6574818d9aaab3becad6ded1c4b7ab9e918478675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000b1724313e4a5764717d8a97a9b3becad6ded1c5b8ab9e928578695f53463a2d21140900000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000030d17212c3945525d68727f8c97a1adbac4cfded5cec9c5c4c5c7cbd1d9d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ede5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9c9cacbcdd0d2d4d8ddd6ccc4bdb9b4aeaca69f9a938e857d736d665c554b42382d22170f06000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d8a929da7b1bdc6d1dcd6cabeb3a99f948c7f726a5f554b40342920170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000005121e2a36424d576774808d9aaab4bfcad6d1c5b8ab9e9285786c605346392d201e2b37424d576875818e9ba8b4c1cfc7bbaea399897c6f7885919eabb8c4d1c6b9ac9f93867a6d6054473a2d211a26313e4b5865717e8b98a8b2bdc9d2c6b9ac9f93877a6e6154473b2e23170b000000000000000000000000000000000000040e17212a343e46525d68707d88939fa7b1bdc7cdc1b9ada1978e81746b6053493f33271d1207000000000000000000000000000003101c28343f4a54606b75828f98a3aebac1cbc0baaea29891857b6e696058504b555e686e7c859298a2abb5bdc7c9c0b6aea49c918c7f726d635b514940372e251c1e2a36414d566976828f9ca9b5c2cabfb4aa968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3aebac7d3e0dacec1b4a79b8e817468544a3f34281c100300000000000000000000000b1724313d4a56626c717777777777777777777777777777777777777777777777777777777e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3945525f6c7885929fabb8c5d2deebe2d6cabeb3a99e9184796d60564c4135292118100700000000000000000000000000000000000000020b151e2834404a54606c7884919eabb8c4d0dbdbcfc2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adb9c6d2dfd2c6b9ada197887b6e6155483b31251a0e01000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000009141f2a36414c56606d7a85929fa9b3beccd6d5ccc4bdb9b7b9bbc0c7cfd9d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e5dbd3ccc6c2c1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbdbec1c4c6c8ccd2d4d7cec9c6bfbab8b0aca49f97928880786d675c544a3f332821180e03000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0abb4bfcbd7dbcfc5bbb0a69f92867c6f675c51453e32291e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000714212d3a46535e697784919daab7c4d0dbcec1b4a89b8e8175655b5044372b1f1a26313f4b5865727e8b98a9b3bec9cbbfb5ab988b7e727a8797a1adb9c6d0c3b6aa9d908377685d5245392c2015222e3b4855616e7b8896a1acb9c5d2c8bbafa49a8b7e7164544a3f34281c1003000000000000000000000000000000000000050f18222935414c56606b73808d95a0abb5c0ccc9beb3a99e93897d70655b5044392f23180c0100000000000000000000000000000b17232e38424f59616e7b86929fa5afb9c3cabfb4aaa19791847b6f6a625a545d676e7a849197a2aab4bdc6c9c0b7aea49c928c7f736d635b51493f372e251c13192530414d5a6774808d9aa7b3c0d0beb1a4988b7e7165584b3e3225180b000000000000000000000000000000000916232f3c4956626f7c8995abb4bfcbd7e3d9ccbfb3a6998c807366594d402e23170c0000000000000000000000000b1825323e4b5865717e84848484848484848484848484848484848484848484848484848485929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3844515c667986939facb9c6d2dfece6dbcfc5b9aca1968a7e71685d52453e332a221810070100000000000000000000000000000000030b141d26303844515c66707d8a96a1adb9c5d2e1d5c9beb3a9988b7f7265584c3f2f24180c000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535f697885929eabb8c5d1ded5c9beb3a9978b7e7164574d42362a1d1207000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000020e1a25303946525e6873808d97a2adbbc5cfd9cec4bab2acaaacafb5bdc7d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ddd3c9c1bab6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafb0b1b2b4b7b9bbc0c5c7cbd1d5d0cac6c2beb6afa9a29a938d82796d665b50443f332a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839199a3aebac2cdd7d7cdc2baaea3999183796d60594f443a3025190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000815212e3b4854616e7b8795a0acb8c5d1d5c9bdb2a8988b7e716553493f33271b15222f3b4855626e7b8897a1adb9c6d1c0b4a79a8d81747c8996a9b3bec9cbc0b5ab9a8d807367564c4135291d14212d3a46535f697884919eabb7c4d1ccc0b6ac9b8e8175665c5044382b1f12060000000000000000000000000000000000000007101924303a444f59606d79839099a4afbbc6cfc5bbafa59d9083786c60554b4034291d1207000000000000000000000000000006111c26303d46535e69727e8b939ea7b1bbc5c5bcb3a9a19691857c716c605d666d79839096a1a9b3bcc6cac1b7afa59d928c80736d635b51493f372e251c13081825323f4b5865727e8b98a5b1becfbfb2a6998c7f7366594c403326190d000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdd1dce7d8cbbeb1a5988b7e7265584b3f322518060000000000000000000000000c1926323f4c5965727f8c91919191919191919191919191919191919191919191919191919297a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000713202d3a4653606d79869aa4afbbc8d4e0edece1d5c9bdb2a89e91847a6d605a50463c342a2218130c040000000000000000000000000000060c151d262f38424c56606d7984919da8b2bdc9d5dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576976828f9ca9b5c2cfdadacfc2b5a89b8f8275695e5346392f24180b020000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000005121e2a36424d57616d7a86929fa9b3becdd6d5c9bdb2a8a09e9fa3abb5c0cbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe2d7ccc1b7afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a7aaacafb6b9bbc0c7cad0d6d3d0c7c0bbb3aca49f948e81786c605b51453c31261a0d03000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c86929fa6b0bbc5cfdad7cbbfb4aba0958d80746b61564c41362a21180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000003101c28343f4a5465717e8b98a7b1bcc8d4d2c5b9aca096877b6e6154483b2d221714212e3a47535f6a7885929eabb8c5cfc2b5a99c8f82767e8a97a4b1bdcfc7bbafa3998a7d7063574a3d2f2419121e2a36424d576874818e9ba7b4c1ced2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000000000000008131e28323d45515c676f7c87939faab4bfcbcdc1b8aca0958b7e71675c5145392f23180c0000000000000000000000000000000a141e2a36424d57626d75818e95a0a9b3bcc5c4bbb2a9a19791867e746d676d78828f95a0a8b2bbc5cbc2b8afa59d938d80746e635b51493f372d251c130a0a1623303d495663707c8996a9b3becac0b4a79a8d8174675a4e4134271b06000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1a9b3bec9d5d7cbbeb1a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0b6c0ccd8e4f0f1e5dacec4b9aca1968e81756c61584e463c3429241d16100b0603000000000000000003070c11171e272e38414a545e68727f8c96a0acbac4cfdaded1c4b8ab9e9185786a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000020e1a2631404d596673808c99a9b3bec9d5dfd2c6b9ac9f93877b6e61554b4035291d140a0000000000000000000000000000000000060f18222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000040e18222d3a46525e6974808d98a2aebbc5d0dcd2c5b9aca096919299a3afbbc6d1d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c6baafa59e9b9595959595959595959595959595959595959595959595969697989a9d9fa4acacafb5babec5cdd7d9d2ccc5beb6afa69e938d80746d62574d42372b1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b555f6a727f8c949fa9b3becad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000006121f2c3844505c6675828f9ba8b5c2ced9d1c4b7aa9e918477695e53463a2d1b11121e2b37424e576875828e9ba8b5c1cfc4b7aa9d9184777f8c98a5b2bfcbc5b9ac9f92867a6d6054473a2d21140e1a26313e4b5864717e8b97a8b2bdc8d3c6baada297897c6f6256493c3025190d0100000000000000000000000000000000000000020c16202834404b555f6a74818e98a3aebac5cfc8bcb1a79e9184796d60554b4034291c11060000000000000000000000000000020c1a25313b45515b606d79839097a2aab3bcc6c4bbb2a9a198928b81796f74808d949ea7b1bac4ccc2b9b0a69e938e81776c605c524940372e251c130a010714212e3a4754616d7a8797a2adb9c6c2b5a89b8f8275685c4f422d22170b000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c1926323f4c5965727f8c98a5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5cfdad7cbbeb1a4988b7e7165584b3e3225180b000714212e3a4754616d7a8794a0adbad2dde8f4f6ebe0d5c9bdb2a89e938a7e716a5f584e463d352f281f1c17120f0b0608070708060c1012181c222830394049535c666d7a85929fa8b2bdccd6e0d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000916232f3c4956626f7c8997a1adb9c6d2dfd4c7bbafa4998d8073675d51453b2f261b1106000000000000000000000000000000050e18212a36424d57626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000a15202b37424d57616e7b86929faab4bfcdd7d4c8bcb1a79e918487929fabb4bfcbd7cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6aa9e938e8888888888888888888888888888888888888888888888898a8a8b8e91939a9b9fa3abadb3bbc2cbd1d8d8d0c7c0bbafa59d928c7f72695f53473e31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c77828f97a1adb9c0ccd5d8cfc3b9aea49e91857a6d615b51453c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000713202d3a4653606d7985929fabb8c5d2d8ccc0b6ac9a8d817467574d42362a1e0a0e1a26313f4c5865727f8b98a9b3becac5b8ab9f928578808d9aa6b3c0cdc3b6a99d908376675d5145392c20130915212e3b4854616e7b8796a0acb8c5d2cabeb3a9998c807366564c41362a1d11050000000000000000000000000000000000000000040e18232e39434e58616e7b86929fa9b3becacdc3b9ada1968c7f72675c5145382e23170c00000000000000000000000000000009141f29333f45515d676e7b859298a2aab4bcc5c4bbb3aaa39f938e847c7f8b929da6b0b9c3ccc3bab1a79f948e81786d655b504a40372e251c130a01000713202d3946525e687885929eabb8bab8b4a99d9083766a53493f33271b0f030000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d4c7baaea194877b6e6154483b2e2115080000000000000000000000000c1926323f4c5965727f8c98a5b2b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec5cdd6e1d7cbbeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1edfbf1e5dacec4baafa59f92867c6f6a5f584f45403a312b28231f1b17161514141516171c1f24292d333c424b515b656d78828f97a2adbac3cedfddd1c4b8aca095887c6f6255493c31261b0f03000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000613202d394653606c7885919eabb8c4ced9d7ccc0b5ab9f9285796d60564d41382d2217110600000000000000000000000000060e17202a333c46535f6973808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000030f1b26313a46535f6974818e98a3aebcc6d0dcd1c4b8ab9f958a7d818e99a3aebac6d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdbcec1b5a89b8e817b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7e7f8184868a8e92999fa2a9b0babfc6cfd8d9d2ccc1b7aea49f92867b6e625a5043392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7b85929ea5afbac3cfd8d5cbc0b9ada1978f82756d62574d42392e23180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000091623303c4956636f7c8998a2aebac6d3d4c8bbafa49a8a7d7164574a3e31251a0e0915222f3c4855626f7b8897a1adb9c6c6baada297867a818e9ba7b4c1cbbfb4ab998d807366554b4135291d110714202d3a46525e697784919eaab7c4d1cfc3b6aa9d908377685e5246392d20130600000000000000000000000000000000000000000007121d27303c46525e6973808d97a1adb9c4cec9bdb2a89e9185796d60544a3f34281c10030000000000000000000000000000030d17212935404b555f696f7c869298a2aab3bbc3c4bcb4aea59d96918787929fa4aeb8c1cbc4bbb1a89f958f82786d665c53493f382e251c130a01000005111e2a36414c566a7784919daab4aeacaaa29e918478655b5044372b1f12050000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e2114070000000000000000000000000c1926323f4c5965727f8c98a5b2bfc4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c6c9cfd6dfe8d7cbbeb1a4988b7e7165584b3e3225180b000815222e3b4855616e7b8894a1aebbc7d4e1eef0e9e4e0d6ccc1baaea29892857c6f6a6059514b433d38342e2b272223222121222323282c2f35383f444d545c606c77818e949ea9b3beccd5e0d4c8bdb2a89d9083776a5f53473b2a20150a00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000005121f2b3744505b6574818e9aa8b2bdc9d5ddd2c7baada2978b7e72695e53493f33272317110a03000000000000000000030a10182029323c46505a616e7b86929facb9c5d2dfd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000006121f2b37434e58616e7b87929faab4bfced7d3c7bcb0a69d9083767b86929faab4bfcad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f70717274777a7d82878d92979fa6aeb4bdc6d0d9ddd8c9c0baaea3998f82766c61554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e69707e8a939da8b2bdc6d1dcd5c9beb3a99e948b7e72695f544a40342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000005111e2a36414c566673808d99aab3becad6d2c6b9ac9f93877a6d6154473a2e2114090613202d394653606c7985929eabb8c5cabeb3a994887b828f9ca8b5c2c7baaea399897d7063564a3d2f24180d05121e2a36424d576774818e9aa7b4c1ced2c6b9ac9f93877a6d6154473a2d22170b000000000000000000000000000000000000000000000b151e2a36424d57606d7a85929ea8b2bdc9cfc4b9ada1978b7e72665c5044382c1f150a000000000000000000000000000000050f18242f39434d57606a6f7d869298a1a9b1b9c1c6bfbaafa8a099939299a3afb6c0cac5bcb2a9a0959083796d665c544a41382d261c130a01000000010d19253043505d697683909ca9aaa29f9b98928f86786c605346392d2013060000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae0d3c6b9ada093867a6d6053473a2d2014070000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d5dad7d7d7d7cbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1efe6dfd8d4d1d0cabeb3aaa19792857c706b605d554f46443f3937332d302f2d2e2f302e34383a40454a50575f666d73808d939ea6b0bcc5d0ded8cec6b9aca0968b7e7165584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000030f1b27333f495363707d8996a0acb9c6d0dcd6cabeb3a99e92857b6e655b50443d3528231c15100c060604000205060b0f151b222a323b444e58626c75818e98a3aebac7d3e0d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000040f19232e3a47535f6a75818e99a3afbcc6d1dcd0c4b7ab9f94897d7074808d98a2aebac5d0d4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174676262626262626262626262626262626262626262626363646567686d70757b80858f949fa3abb4bdc7d2dddbd7cbbfb4ab9f948a7e71675d5145382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414d56616c74818e96a0abb5bfcbd7dacfc4bbb0a69f92867b6e665c51443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000713202d3946525e687783909daab6c3d0dbd0c3b6aa9d908377685e5246392d20130705121f2b3744505b6575828f9ba8b5c2d0bbafa295887c83909da9b6c3c5b9ac9f9286796d6053473a2d201407020e1a25303e4b5764717e8a97a7b1bcc8d4c8bbafa49a8a7e7164544a3f33281c0f03000000000000000000000000000000000000000000030c1a25303b45525d68727f8b96a0acb9c5cfc9beb3a99e9184796d6053463c31261b0f0100000000000000000000000000000007121d27313c454e58606b707d869297a0a7b0bbc0c7c0bab2aba49f9fa3abb5c0c8cabfb4aaa19791837a6d675d544b42382f261b130a010000000000081c2935424f5c6875828f9b9f9b98928e8a86827e776c605346392d2013060000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39986796c605346392d2013060000000000000000000000000c1926323f4c5965727f8c98a5b2bfcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1e6ddd4cdc8c4c3c4c5bcb3a9a19792857d746d67605953504a46443f3d3c3b3a3a3b3c3e3f44464b51545b60696e79808d929da5afb8c1ced7dcd0c6bcb1a79e9184786d6053463c32261b070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000b17222d394653606c7884919eaab4bfcbd6dbcfc5b9ada2978f82776c60584f473e342e261f1c171312100c0e1214171b1f262b343c444d565f6a717e8b939eaab4bfcbd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000b16212b37434e58626f7c87939fabb5c0cfd8d3c7bbb0a69c9083766b6e7a86929faab4becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a555555555555555555555555555555555555555556575758565d6163696e737b828c9299a3abb5c0ccd7dfdcd1c6bdb0a69e9184796d6053473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d79849199a3aebbc2cdd7d6cdc1baaea2989083786d60594f443a2f24190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000714212e3a4754616d7a87939facb9c6d2d7cbbfb4aa998d807366564c4135291d1105030f1b27333f495365727f8b98a9b3becabcb0a396897d84919eaab7c4c3b6a99c908376675d5145382c1f1306000914212e3b4754616e7a8795a0acb8c5d1ccc0b6ac9b8e8175665b5044382b1f12060000000000000000000000000000000000000000000009141f2935414c56606d7984919ea9b3bec9cfc4b9aca1968a7e7164584e43372b1d1207000000000000000000000000000000010b151f2a333d464f59606b707d8590959ea6afb5bdc3c4bdb5afacacafb5bdc7d1c6baaea29891857b6e685e554b423930261d140a010000000000010e1b2834414e5b6774818e98928e8a85827d7a75716c655b5044372b1f12050000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f12060000000000000000000000000c1926323f4c5965727f8c98a5b2bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1dfd4cbc2bcb8b6b8bcc2bbb3a9a19792898179706b64605c545350494a4948474748494a4a5053555d60666c727b838d929da4aeb7c1cad3ddd6cbbfb4aa9f958a7e71665c5044382a20150a0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000006121f2b3744505b65727f8c98a3aebac5d0dbd6cabeb3a99f948b7f726a605950443f38302c2823201f1c181a1e2122272b32373e464e565e696e7c86929fa5afbcc6d1dce7d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000020b1b27323b4754606a75828f99a4afbdc7d1dcd0c4b7ab9f94897d70636873808d98a2aebac5cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e48484848484848484848484848484848484848494a4b4c4c5254575e61696e777f879299a4afbbc0cdd6e1d8cfc2b9ada1978a7e7164574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c87929fa6b0bbc5cfdbd6cabfb4aaa0958d80736b60564c41352921170c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000030f1b27333f495364717e8a9aa4afbbc8d4d3c7baaea398897d7063564a3d3025190d01000b17222d3c4955626f7c8897a2adbac6bdb1a4978a7e85929fabb8c5bfb4aa998c807366554b4035291d1004000714202d3946525e687784919daab7c4d2d2c5b8ab9e9285796c605346392d20130800000000000000000000000000000000000000000000030d19242f3a45515c66717e8a97a1adb9c7d2c9bdb2a89c9083766a5f5347392f24180c00000000000000000000000000000000030d18212b343d474f59606b6f7b838f949fa3abb1bbc0c7c0bbb9b9bbc0c7cfd2c5b8ac9f92867c6f695e564c433c332d261d170e080000000000000d1a2733404d5a6673808d8a85817d7975716d6764605b53493f33271b0f030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4b4034281c10040000000000000000000000000c1926323f4c5965727f8c98a5b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a4988b7e7165584b3e3225180b000814212e3b4754616e7a8794a1adbac7d4e4d8cdc2b9b1aba9abb1b9c2bbb3a9a29f928d847d76716d6662605b535756555454555657545c6062676d72787e8690959da4aeb6c0c9d2dcd5cbc3baaea3989083786c60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953616d7a86929faab3becad6dbcfc5bbb0a69f92867c706b615a504a423d38342e2d2c2823262a2d2d33373c434750585f686e7b849198a2aeb7c1cfd8e2e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a141d2c38444f59626f7c89939eabb5c0cfd9d3c7bbb0a69c8f82766b60616d7a85929fa9b3becad6cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f4146474d53575e656c727e87939fa4aebbc4cfdae1d5c9beb2a99c8f8276695f53463a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b55606a727f8c949fa9b3becad6dbd0c6bcb1a79f93877d70685d52453e33291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000005121f2b3744505b6575818e9bacb6c0ccd8d2c5b9ac9f9286796d6053473a2d20140800000613202d394653606c7985929fabb8c5beb1a4988b7e86929facb9c5baaea298897c706356493d2f24180c000005111e2a36414c566774818d9aacb6c0ccd2c6b9ada197897c6f6256493c3025190d010000000000000000000000000000000000000000000008131e2834404b54606d7985929eacb6c0cccec4b7ab9f94887c6f62554b4035291d100400000000000000000000000000000000060f19222b343d474f5960696e79828c9299a0a7afb5bdc7c7c6c5c7cbd1d9cbbeb1a5988b7e736d67605b534e443f382f29201a110900000000000b1825323e4b5865717f817d7975706d6764605d5553504941382d22170b000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679675c5145382c1f13060000000000000000000000000c1926323f4c5965727f8c98a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0adbad1dce0d4c8bcb1a79f9d9fa7b1b9c3bbb3ada49d969189837d78726f6c6565646362606162636466666d6f73797e848b9298a0a7aeb6c0c8d2dbd5ccc3b9b0a69f92867c6e655b5042382e23170c000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3846525e6873808d98a2aebac3cfd9d7cdc2baaea39892867d706c605c544f46443f3b3a38342e31363a3b3f44464e535a616a6f7a849196a0aab4bfc9d3e1eae1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2d9d0c7b7aa9e94897c6f63595e6873808c97a2adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e41342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3030313035393b42464d535b606c727f8b929da9b3bec9d5e0dacfc4b9ac9f93877b6e6155483b3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c78828f97a2adbac1ccd5d8cec3bbafa49991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000613202d394653606c7885929eabb8c5d2ddcfc2b6a99c8f8376675d5145382c1f1306000006121f2b3844505b6675828f9ca8b5c2bfb2a5998c7f8c99a3aebbc5b8ac9f9286796d6053463a2d2013070000010d1925303d4a5764707d8a9aa4afbbc8d4cabeb3a9998c7f7366564c4135291d110500000000000000000000000000000000000000000000010c18232e3945515c6673808d9aa4afbbc8d4c7bcb0a69a8d8074675d5145382c1f13070000000000000000000000000000000000071019222b353d474f575e676d787f8790959fa4abb5c0ccd2d2d4d7dcdfd2c5b9ac9f92868079716c655f585049413b322c231b1306000000000b1724313d4a56626d7174706d6764605d5553514b46443f382f261b1106000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c8bbafa49a86796d6053463a2d2013070000000000000000000000000c1926323f4c5965727f8c9797979797979797979797979797979797979797979797979797979797979797979797979797978b7e7165584b3e3225180b000714202d3a4753606d7a8693a0b5bfcbd7ddd1c4b8ab9f9590959fa7b1bcc5bebaaea8a19e95908a847f7c797572706f6e6d6d6e6f717275797c80858b91969fa2aab1b9c0c8d2dad5ccc4bab1a79e948c7f726a5f53493f30261c1106000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000006111b2a36414c56616d7a85929fa7b1bdc7d1dcd6cbbfb4aaa29892867e726d66615953504a484644404344424648495053585f626c717c849196a0a8b2bcc6d0dbe5f3e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb8c1d0d9d2c7beafa59c8f82756b605456606d7a85929ea9b3bec9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134272222222222222222222222222222222223242424292d31363b4149505a626d74808d97a1adb9c3ced9e0d4c8bbafa49a8d807366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c44505b666e7b85929fa5afbac4cfd9d7ccc0b5aba1968e81756c61574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000916222f3c4955626f7c8897a1adb9c6d2d6cabeb3a9998c7f7266554b4035291d10040000030f1c28333f4a5465727f8c98aab4bfc1b4a79b8e818e9babb5bfc2b6a99c8f8276675c5145382c1f13060000000814212e3a4754616d7a86939facb9c6d2cfc3b6a99d908376685e5246392d201306000000000000000000000000000000000000000000000007121d2834404b54616e7b87939facb9c4cfcdc2b8ab9f9285796d6053473a2f24180c000000000000000000000000000000000000071019232b343d454d555d666c737c838d9399a4afbbc7d4dfe0e3e0dfd3c7baaea398928d847e786f6a605b534d443e352d2517110a0300000915212e3a45505a62656863605c5553514b4745403937332d261d140a00000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae4d8ccc0b6a093877a6d6054473a2d2114070000000000000000000000000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7e7165584b3e3225180b000613202d394653606c798699a3aebbc7d3dcd0c3b6a99d90839095a0aab4bdc7c0bab2aca79f9d96918c8885827f7d7c7b7a7a7b7c7d7f8285898c92979ea0a8aeb4bcc3cbd2dbd6cbc3bab2a8a0958f82786c60584e41382d1e150a00000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000d1925303a46525e68737f8c95a0abb5c0cbd7dcd0c6bcb3aaa29892877f78706b63605c545453514a50504d5355535b60636a6f767e869196a0a8b2bac3ced8e2edeee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000030f1b27333f4953616b7683909da6b0bbcad3d8ccc0b6ac9e93887c6f62594f515d67727f8c97a1adb9c4cfd5c9beb2a99e92857a6d60564c4135291e1308000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b151515151515151515151515151515161718191d20252a2f383f44515b606d7985919ea8b2bdc8d4e1d8ccc0b6ac9d918477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69717e8a939da8b2bdc7d1dcd2c7bdb2a89e938a7e71695e544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000010100000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000004111d2935414c5666737f8c99a9b3bec9d5d3c6baada297897c6f6256493c2f24180c000000000b17222d3c4956626f7c8998a2aebac2b6a99d938e939da9bdc6bfb4aa998c7f7266554b4034281c10040000000713202d3946525d687783909daab6c3d1d2c6b9ac9f93867a6d6154473a2d22170b0000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9b2bec9d3c6baada2978a7d7164554b4035291d1004000000000000000000000000000000000000071119222b333b434b545b606a6f798087939facb9c6d2dfdcd7d3d2d3cbbfb4aaa39f97918b837c726c655e564f473f3728231c150c030005111d29343f485056585b5753514b4745403a39352f2b27221b140b0200000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8ddd2baada194877a6e6154473b2e2114080000000000000000000000000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7b6e6155483b2e2215080006121f2b3844505b667986929facb9c5d2d7cabdb0a4978a7e839098a3abb5bdc5c4bdb9b1aba8a09e9997928e8b8a8988878788898a8c8f9298999ea1a9acb2babfc6ced5d8d0cac1b9b1a8a0969083796d665b50463c2f261b0c0300000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000008131e2935414c56606d79839199a3afbbc2ccd5d8cec5bcb3aaa399928c837d75706d666461605c545d5d575f6164656c70757c828b9298a0a8b2bac3ccd2d7dde5ede1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000005121f2b3744505b65707d8a959fabb8c2ccdcd4c8bbafa49a8f82756a6054464c55606d7985919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0808080808080808080808080808090a080d11141a1d262d333f45515d67727f8b96a0acb9c5d2deddd2c6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e96a0abb5c0cbd7d9d0c4baafa59f92857b6e665c50443d31281d1307000000000000000000000000000000000000000000000000000000000003080b0d0e0b070603000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000613202c3945525d687683909ca9b6c3cfdad2c5b8ab9f9285796d6053463a2d201307000000000613202d3a4653606d7985929facb8c5baafa59d9b9da5afbac6baaea298897c6f6256493c2e23180c0000000005111d2935414c566773808d9aabb5c0cbd4c7bbafa4998a7e716453493f33271b0f03000000000000000000000000000000000000000000000007121d2a36424d5764707d8a97a1adb9c6d2cabeb3a99b8e8175675d5145382c1f1306000000000000000000000000000000000000000710192129313a424a50585f676d7983909daab6c3d0d8d1cbc7c5c7cbc6bcb4aea9a19e9590877f776e696159514940342e261e150b02010c18222d363f454a4b4e4a4645403a38352f2c29241f1b17110a020000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000815212e3a47535f6a6f71717171717171717171717171717171717171717171717171717171717171717171717171717171716e695f53473a2d21140800030f1c28333f4a5f6b7885929eabb8c5d1d7cabdb1a4978a7e7c869299a3abb3bbc3c9c2bcb7b2acaaa9a19e9b989796959394959697999c9fa2aaabadb3b9bdc4cad0d8d5cec6bfbaafa7a09691847b6e675d544a3f342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000020d1925303a45515c676f7c87929fa6b0b9c3ccd6d7cec5bcb4aba39f959189827d7975716e6d666a696a6b696e7173787d81878f949fa2aab2bac3c1c3c6ccd3dbe5e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bccad4d7ccc0b5ab9f93877c6f62584e4345515d67727f8b96a1adb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000105090b141b222935404b55606d7984919eaab7c4cfdae0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79849199a3afbbc2ced7d6ccc1baaea2989082786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000001080f14181a1b181312100b0600000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000714212d3a4754606d7a86929facb9c5d2dbcec2b5a89b8f8275665c5044382b1f12060000000006121f2c3844505c6676828f9ca9b5c2c0b7afa9a7a9afb7c0c5b8ac9f9285796d6053463a2d20130700000000010d1924303d4a5763707d8a99a3afbbc7d4ccc0b5ab9b8e8174655b5044372b1f12050000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb8c3ced0c5b8ac9f9285796d6053473a2d2014090000000000000000000000000000000000000000070f171f282f38404a545f6a727f8c95a0abb8c4d1cfc6bfbab9babfc6c6bfbab2ada79f99928c827b706c625b52443f3830261d140a0006111b242d343a3d3e413d3a38342e2c2924201d18120f0b0600000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e3d6c9bcb0a396897d7063564a3d3023170a00000000000000000000000006121f2b37434e585f626464646464646464646464646464646464646464646464646464646464646464646464646464646464615f574d42372b1e120600000b17222d44515d6a7784909daab7c3d0d7cabeb1a4978b7e717d879299a2a9b1bbc0c7c7c4bdb9b7b3adaba8a5a3a2a1a0a0a1a2a4a5a8abaeb4b8b9bec5c9ced6d4cec9c2bcb4aea59e9590847b6e695e554b42382d22180b020000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000008131e2934404b55606a73808d949fa7b1bac4ccd5d7cfc6bdb5afa7a09d948f8985817d7b797877767778797b7e8084898e93999fa6aeb4bcb9b7b5b6bac1c9d3dde1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000010b151f2b3844505c66717e8a95a0acb9c2cddcd4c7bbafa4998e81756a5f53463c404b55606d7984919ea8b2bdc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000020a1118242f3a44515c66737f8c99a9b3bec9d5e2d8ccc0b6ac998c7f7366594c4033261907000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0bcc5d0dbd6cabeb3aa9f948c7f736a60554b40352920170b02000000000000000000000000000000000000000000000000020b131a2024272824201f1c17110c070d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000a1724313d4a5764707d8a99a3afbbc7d3d5c9bdb2a8988b7e7265544a3f34281c10030000000003101c28343f4a5466727f8c99aab4bfcac0bab6b4b6bac0c9c2b5a89c8f8275665c5044382c1f120600000000000814212d3a4754606d7a86929facb9c5d2d2c5b8ab9e9285786c605346392d20130800000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a8b1bdc8d3c6baaea2988a7d7064574a3d30251a0e02000000000000000000000000000000000000000007121d27303944515c666f7c86929fa7b1bcc8ccc3bdb4aeacaeb4babfc6c4beb9b1aba39f948f857d726d635c504a42382f261b11060009121b22292e313235302d2c28231f1d1813100d0703000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd2dde8d7cbbeb1a4988b7e7165584b3e32251807000000000000000000000000030f1a26313c464e5355585858585858585858585858585858585858585858585858585858585858585858585858585858585855534d453c31261a0e020000061c2936434f5c6976828f9ca9b5c2cfd8cbbeb1a5988b7e72717e879297a0a7afb5bdc2c7c9c5c4beb9b8b5b2b0afaeadadaeafb0b2b5b8babec5c6c9cfd5d3cec8c4bdb9b0aaa29f938e837a6e695f574d433a2f261c0f06000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000020c18232f39434e58606d78828f95a0a8b2bac3cbd6d8cfc7c0bbb1aca69e9c97928e8a8786858483838485888a8d91969b9fa4abb0babab2acaba8aaafb7c1ccd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000007121d2834404b54606d7884919da7b1bccbd4d7cbc0b5ab9f93877b6e62584e43343945515c67717e8b96a0acb9c3ced6cabeb3a99f92867a6d61574d42362a1f140900000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000007131d2834404a54626f7c8997a1adb9c6d2dfddd2c2b5a89b8f8275685c4f422f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b55606a737f8c949fa9b3becad6dbd0c5bcb0a69f92877c6f675d51453e32291d140a0000000000000000000000000000000000000000000000000b141d252b303334312d2b28231c18120d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000006121f2b37434e586774818e9aabb5c0cbcecec5b9ada196887b6e6255483b2e23170b0000000000000c17232e3c4956636f7c8998a2aebac7cbc6c2c1c2c6cbcabeb3a9988c7f7265544a3f34281c100300000000000613202c3945525d687683909da9b6c3d1cec6b9ada197887c6f6255493c3024190d01000000000000000000000000000000000000000000000003101c28343f4a54616e7b8795a0acb8c5d1cabfb4aa9b8e817468574d42362a1e110500000000000000000000000000000000000000000c18232e39434e58606d78839098a3aeb9c3cfc3bab2aba39fa3abaeb4bcc1c9c2bdb5aea69f9792887f736e605c544a41382d22171007000911181d2124252824201f1c1813100c070401000000000000000000000000000000000000000000000000091623303c4956636f7c8996abb5c0ccd7e3d9ccbfb3a6998c807366594d402e23180c000000000000000000000000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4847423c332a1f15090000020f1b2835424e5b6875818e9ba8b4c1ced8ccbfb2a5998c7f726c717d8590959fa3abb0b8bcc2c7cbcac6c5c1bebdbcbbbababbbcbdbfc2c5c6cad0d2d2d0cac6c3bcb8b2aca69f98928b81796e685f574d453b31281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d27313d44505c666d7a839196a0a8b1b9c1cad0d8d1cbc3bcb8b0aaa9a29f9b979a9392909090919298979a9ea1a8acafb5bdbcb2a8a19e9b9ea5afbac6d2ded4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000c18242f3845515c66717e8b96a0acb9c3cdddd3c7bbafa3998e81746a5f53463c3134404b55606d7884919ea7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000010c18232e394653606c7985929eabb8c5d1deded1c4b7ab9e9184786b554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a2adbac1ccd6d7cec2bbafa3999184796d605a50443b2f261b110600000000000000000000000000000000000000000000060f1d262f363c40413e3a38342e28231d181a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000814212e3a47535f6a7884919eabb7c1c1c1c1c1b8ab9e9184786a5f53473a2e1c11060000000000000613202d3a4653606d7986929facb8c1c1c1c1c1c1c1c1c1baada297887c6f6255493c2e23170c00000000000004111d2935414c566673808d99abb5bfc1c1c1beb3a9998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000c17232e3846535e697784919daab7c4d1d0c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000004101c2834404b55606a73808c95a0aab4bfcbc6bdb2a8a09992999fa3aaafb9bec4c6bfbbb0a9a19a938c80746d665c53493f332722190d0300060c111517181b171313100c0704000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a4afbbc7d4e0dacec1b4a79b8e817468544a4034281c1004000000000000000000000000030e18222a31373a3c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a21180e030000010d1a2734404d5a6773808d9aa6b3c0cdd9cdc0b3a69a8d8073676b707b838d92999fa6abb1b9bbc0c5c7cbd1cbcac9c8c6c7c8c9cacccfd2d1cfcfc9c6c4bfbab8b1aca8a09e948f867e756d675e564d453b33291f160b0200000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000010b151f28343f4a545d686e7b849196a0a7afbabfc6ced4d7cec8c1bbb7b3adaba8aca49f9e9d9c9d9e9fa2aaa6abacb2b9bbc0bbb3aaa196918e939eaab6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000004101d2935404b55606d7984919ea8b2bdcbd5d7cbbfb4ab9f92877b6e61584e43342a2e3944505c66717e8a95a0acb8c3cdd6cabfb4aa9f92867b6e61574d42362a201509000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b4c1cedbdfd2c5b9ac9f928679675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b85929fa5afbac4cfd9d7cbc0b5aba0968e81746c61564d41382d22170d030000000000000000000000000000000000000000030d17212f3841484c4e4b46443f38342e29241d2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000815222f3b4855626e7b8896a1adb4b4b4b4b4b4b4a79b8e817468574e42372b1e0a0000000000000006131f2c3845515c6676838f9ca9b4b4b4b4b4b4b4b4b4b4b4ab9f9285796d6053463a2d201306000000000000010d19242f3d4a5663707d8999a3aeb4b4b4b4b4b4a99c908376685d5245392c20130700000000000000000000000000000000000000000000000006111c2a36424d576774808d9aaab4bfcbd2c5b9aca096877b6e6154473b2e211408000000000000000000000000000000000000040f19232c3845515c676f7c87929fa7b1bcc6cbbfb5aba09691868c92989ea5adb2bbc1cac2bbb3aca49f928d81786d655b50443e342b1f150b01000105090b0b0e0a070604000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfddd0c3b6aa9d908377665c5144382c1f12060000000000000000000000000006101820262b2e2f31313131313131313131313131313131313131313131313131313131313131313131313131313131312e2d2b261f180f06000000000c1926333f4c5966727f8c99a5b2bfccd8cec1b4a89b8e81756860696e79808790949d9fa7acafb5b9bbc0c2c4c6c9cfc9cacacac9cfcac6c5c3c0beb9b8b4aeaca7a09d96918a827b716c605d554c443b332920170d040000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000030d17232e38424c565f696e7b8490959ea5aeb4bcc1c8cdd4d4ccc7c5bebab8b4b6afacabaaa9aaabacaeb4b3b7b9bdc4c1bab2a9a1989184818e9ba8b5c1cedbd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000020c16202c3945515d67727f8b96a1acbac3ceddd3c7baaea3998e8174695f53463c312228343f4a54606c7883909da7b1bcc8d4d0c6baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000030f1c28333f4a546673808c99a6b3bfccd9e0d3c7bbaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a939ea8b2bdc7d1dcd1c7bdb2a89d938a7e70695e53493f33271f150b010000000000000000000000000000000000000009141f2933414a53585b5753504a454039352f292433404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130004101d2935404b5565727f8c98a8a8a8a8a8a8a8a8a8a7978a7e7164574b3e31261a0e0000000000000004101c2834404b5466737f8c99aaa8a8a8a8a8a8a8a8a8a8a8a89b8f8275665c5044382b1f1206000000000000000814202d3a4753606d7a86929fa8a8a8a8a8a8a8a89f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000e1a25313d4a5763707d8a98a3aebac7d3c9bdb2a8978a7e7164574b3e3024190d0100000000000000000000000000000000000b16212a36424d57606d79849199a3afb9c3cdc5bbaea39991847a80868f939ea1a9afbabfc6c5beb6afa49c938e81776c605a50473d31271d120700000000000002000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667884919eabb8c4d1dedfd2c5b9ac9f9286796d6053463a2d2013060000000000000000000000000000060e151a1f2122252525252525252525252525252525252525252525252525252525252525252525252525252525252522211e1a150e0600000000000b1825313e4b5864717e8b97a4b1becfdacfc2b6a99c8f837669575f676d737c838a90959c9fa3abacafb5b5b8b9bebcbdbdbebdbdbcbeb9b8b6b4b3adabaaa29f9b95908a847d766e69625a514c433b322921170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000006111c26303a434d575f696e7b838e939fa2aaafb8bcc2c7ccd2d4cfcac6c5c1c0bbb9b8b7b6b6b7b8babfc0c4c5c3bcb8afa8a09792867b808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000008131e2935414c55606d7985919ea8b2bdccd5d6cbbfb4aa9f92867b6e61574d42332a20232e3844505b66707d8a959fabb8c2cdd6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e3d7cbbfb5ab94877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a0abb5c0cbd7d9cfc3baafa59e92857b6e655b50443c31271d1207000000000000000000000000000000000000020e1a26313b45535c646764605c54514b454039352f33404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006131f2c3845515d6776828f9b9b9b9b9b9b9b9b9b9b9b95877b6e6154473b2e21140900000000000000000c18232e3d495663707c89989b9b9b9b9b9b9b9b9b9b9b9b9b988b7f7265544a3f34281c1003000000000000000613202c3945515d677683909b9b9b9b9b9b9b9b9b9b998a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000914202d3a4753606d7a86929facb9c5d2cec0b4a79a8d817467564c4135291d11050000000000000000000000000000000004101b27323a46535f69737f8c95a0abb5c0cbc5bbb0a69f92877c6f737b828a91979ea5aeb4bcc4c7c0bbaea59d938c80736c61594f43392f24180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54697683909ca9b6c3cfdce0d3c7baaea399887c6f6255483c2d22170b000000000000000000000000000000030a0f12151518181818181818181818181818181818181818181818181818181818181818181818181818181818181514120e09030000000000000916232f3c4956626f7c8995a9b3bec9d5d0c4b7aa9d918477665c555d606a6f787d83898f92999c9fa3aba8abadb3afb0b1b1b0b0afb3adaba9a7a9a19e9b98928e89837e78706c625f575045413a312920170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000a141e28313b454d575e696e79818b92989ea5abb1b9bbc0c6c8ccd2d1d2d2ccc8c6c5c3c3c3c4c5c6c9c6c3bcb8b1aca59d9691857c74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000010d1925303945515d67727f8c97a1adbac4ceded3c7baaea3988d8074695e53453b3121181c28333f4a54616c7783909da6b0bcc7d3d0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000061824313e4b5764717e8a97a4b1bdcad7e7dcd1bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a3afbbc2ced7d5ccc0b9ada1978f82776c60584e43392f23180e05000000000000000000000000000000000005121e2a36424d57646f74716d66605c54514b45413a36404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000714202d3a4753606d79858e8e8e8e8e8e8e8e8e8e8e8e8e8377695e52463a2d20140700000000000000000714202d3a4753606d79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e887c6f6255483c2e23170b000000000000000004101d2935404b556673808c8e8e8e8e8e8e8e8e8e8e8e8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000006131f2c3945515d6776828f9ca9b6c2cfd0c3b7aa9d908477685d5246392d201307000000000000000000000000000000000713202c38444f59616e7b86929fa8b1bdc7c9beb3a99f948c7f726a696e757d848e939fa2aab2bac3ccc0b7afa59c928b7e716b60554b4035292015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e414d5a6774808d9aa7b3c0d0dbe3d7cbbfb4ab978b7e716453493f33271b0f0300000000000000000000000000000000030608090b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0808060200000000000000000714212d3a4754606d7a8797a1adb9c6d2d2c5b9ac9f9286796d605351585f656c70767c82868b8f9299999c9ea1a9a2a3a4a4a4a3a3a9a29e9c9a9897918e8a86817d77716d66615a534d453f352f281f170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020c161f29333b454d575e676d757f868f939d9fa7acafb5b9bbc0c2c4c5c7cbd1c9c9d0cac6c5c3c1beb9b8b1aca7a09d938e847c6f74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000005111d2a36414c56606d7a85929ea9b3beccd6d6cabfb4aa9f92867b6e61574d42332a1f0f17222d3842505a63707d89949fabb7c2ccd7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c87929fa7b1bcc5d0dbd6cabeb3a99f948c7f726a5f554b40342920160c02000000000000000000000000000000000714212d3a46535f6974817e78716d66605d55524c4641404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000815222f3b4855626e7b81818181818181818181818181817f7265564d42362a1e1105000000000000000006131f2c3845515c67738081818181818181818181818181818181776c605346392d2013060000000000000000010d18242f3c4955626f7c818181818181818181818181818074675a4d4134271a0e0000000000000000000000000000000000000000000000000004101d2935404b5565727f8c98a9b2bec9d2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000040f19222f3b4854606b75828f98a3aebac3cfc6b9ada1978f82776c605f616b707a818a9298a1a8b1b9c3c9c1b7aea49f92877d6f675d51453c31261a0f040000000000000000000000000000000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97aab4bfcad6e2dcd1c1b4a79b8e8174655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1d3c7baaea398887b6e6155484e535b60646b6f757a7e82868a8c8f91979595969797979696949792908d8b8885817e7a75706b64605c545047423c3329241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000040d182129333b454d555d606d727b828a90959c9fa4abacafb6b5b7b9bbc0bcbcbcbbbfbab8b6b4b3adaba7a09d95918a817a6e6a74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000030d18212d3946525e6873808c97a2adbbc4cfded3c6baaea2988d8073695e52453b3121180e111c262f3e4855616b7683909ca6b0bbc7d3d1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935414c55606b73808c959faab3becad6dacfc5bbb0a69f92867c6f675c51453d32281e1308000000000000000000000000000000000815222e3b4855616e7b888a847e79726d67605d56524c464d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000814212e3a47535f696e7575757575757575757575757575726d6256443b3025190e02000000000000000004101c2934404b55636e73757575757575757575757575757575746c655b5044372b1f12050000000000000000000715222e3b47545f6a6f75757575757575757575757575746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000c18242f3c4855626f7c8897a1adb9c6d2c8bbafa49a8a7d7063574a3d302417070000000000000000000000000000000a16212d39444f5963707d89949eaab4bfccc6bcb0a69e92857a6e655b535961686d757e869196a0a7b1b9c3c9bfbaaea3999184796d60584e43372b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8898a2aebac6d3e0ded1c4b8ab9e9185786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080603000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfd7cbbfb4aa978a7d7064574a41495053596063686d71767a7d8082858788898a8a8b8a8a8988868583817e7b7875716d6763605953504a423e37312a2119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000060f182129333b434b515b62696e757d83898f93999d9fa4aca9aaacafb5afafafafb4aeacaaa8a9a19e9a95918b837d746d676774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000009141f2a36424d57616d7a85929fa9b3becdd6d6cabeb3aa9f92867a6d61564d4233291f0f060a141d2c38444f5963707d89949fabb7c1d0d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19242f3a434f59606d78839098a2aebac1ccd6d7cdc2baaea3989083796d60594f443a3025190f06000000000000000000000000000006131f2b37434e5866737f8c96918b847f79736d68615e56534d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006121e2b37424d575f62686868686868686868686868686865625b514532291f1409000000000000000000000c18232f3943525c636668686868686868686868686868686868605b53493f33271b0f0300000000000000000006131f2b37434e585f626868686868686868686868686867645c52473c3023170b00000000000000000000000000000000000000000000000000000715212e3a47535f6a7885919eabb8c4d1ccc0b6ac9a8d8073675a4d402e23180c0000000000000000000000000000030f1b27323c4955616c7683909da6b0bcc6cbbfb4aa9f948a7e71685e53494f565d616c717c849095a0a7b1bac4cbbfb4aba0968c80736a5f53473c32271b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfdfd2c6b9ada197887c6f6255493c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151615130f0a04000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0d0dbd1bfb2a5998c7f726653493f3f44464f54565e6165686d707375787a7b7c7d7e7e7d7d7c7b7a787674716f6c6564605d55544f46443f38302b261f180f08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000060f1720293139404551575e616b70767d82878c90939a9a9c9e9fa3aba2a3a2a2aaa29f9d9b9897928e89847e78706b605d6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000020e1a26313a46525e6973808d98a2aebbc5cfdfd3c6baaea2988d8073685e52443b3021170d00020b1c27333d4854606b76828f9ca6b0bec7d2d1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5afbac4d0d9d7cbbfb4aaa0958d80746b61564c41362a21180c03000000000000000000000000000815222e3b4754606a7784919d9e96918c857f7a736e68615e575a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300020e1a26313c454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b585651483f3420170d020000000000000000000007121d2731404a52575a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504941382d22170b00000000000000000000030f1b26323c464e54555b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362b1f1307000000000000000000000000000000000000000000000000000006121f2b37434e586875828f9ba8b5c2ced2c3b6a99c90837669554b4034281c10040000000000000000000000000007131f2c38434f5964707d8a959fabb8c1cec7baaea3988f82766c61564d41444c525a616a6f7b839095a0a8b2bdc6c6bdb2a89f92867c6e62584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3cfdae1d5c9beb3a9998c7f7266584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223221f1b160f07000000000000000000000000000000000000081925323f4c5865727f8b98aab4bfcad6cec2b5a89b8f8275655b504437373d44484c5254565e61646669686d6e6f7071717170706e6d6769676562605b5353514b48443d38342e261e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050e171f282f353f454d535961636b70767b7f83868a8d8f9192999595969695959892908e8c8885817c77716d6661595a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000005121e2a36424d57616e7b86929faab4becdd7d6cabeb3a99f92857a6d61564c4132291f0f0500000b16212c38444f59626f7c89939eacb6c0ccd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000005111d2a36414c566773808d9aa6b3c0cdd9e2d6cabfb4aa95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2dcd1c6bcb1a79f93887d70685e52463f332a1e150b00000000000000000000000003101c28343f4a54626f7c8895a0a8a19e97928c85807a746e69625f6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000915202a333c4247484e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d230e050000000000000000000000010b151f2e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261b110600000000000000000000000a15202a343c4347494e4e4e4e4e4e4e4e4e4e4e4e4e4d4c4740382f24190e030000000000000000000000000000000000000000000000000000030f1b2631404d596673808c99a6b3bfd2d1c4b7ab9e918478675c5145382c1f1306000000000000000000000000000915222f3b4854606b7683909da7b1bccac9bdb2a89f92867b6e625a50443b3a414650585f696e7a839096a0abb4bfcbc4baaea3998f82766a6054473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a9b3becad6e2dacfc3b7aa9d9084776a5f5447392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f2e2b272019100a00000000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3d1c5b8ab9e9285796c605346392d32383a4146474c52545759565e61626263646464636361605d555a58555350494745403a38332b28231c140c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000050d161d2429333b42464f55596063696e72767a7d8082848687888989898888878583817f7c78746f6a64605c544f5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000040e19222d3a46535f6974818d98a3aebcc5d0dfd3c6baada2978c8073685e52443a3020170d00000005101b27323d4754606a75828f9aa4afbbc7d1d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000020c13202d3946525e6876828f9ca9b5c2cfdcdfd3c6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a1abb5c0ccd7d8cfc3bbafa49a91857a6d615a50453c30271c1207000000000000000000000006121f2b3844505c6673808d9aa8b1ada9a19e98928d86807b746e696673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000030e18212a31373a3b42424242424242424242424242423f3d3a342d241b1100000000000000000000000000030d1c262e353b3f40424242424242424242424242424242413937332d261d140a000000000000000000000000040e19222a32373b3c42424242424242424242424242413f3c362f261d1208000000000000000000000000000000000000000000000000000000000a1824313e4b5764717e8a97acb6c0ccd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000005111d2a36414c56636f7c89959fabb9c2cdc5b9aca0968c8073695f53483e3230353e464e565e686e7b849199a3aebac3cbbfb4ab9f94887c6f62564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3c4956626f7c8997a1adb9c6d2dfded1c5b8aca095887c6f62554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000071019222b32383b3c3b38322b221c1306000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2d2c6b9ada197887b6e6255483b30272c3036393a4146474a4d4c525455565757585757565553514b4e4b4846443f3a39352f2c271f1c17171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000040c1218212931363e44484f54575e6165686d70737677797b7b7c7c7c7c7b7a797775726f6c6562605853504a4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000a15202b37434e58616e7b86929faab4bfced7d5c9beb3a99f92857a6d60564c4132291e0e05000000000b16212b37434e58626f7c87939fabb5c0cbd7d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000020b141e28323a4754616d7a86929facb9c5d2dfdfd2c5b8ac9f928579695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc2ced7d8ccc0b6aca1978f82756d62574d42392e23180d04000000000000000000000713202d3a4653606d7985919eabb8b9b3adaaa29f98928d86817b756f73808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000060f1820262b2e2f353535353535353535353535353532312e29231b120900000000000000000000000000000a141c242a2f3233353535353535353535353535353535352d2b27221b140b020000000000000000000000000007101920262b2e2f353535353535353535353535353433302b241d140b01000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4c8bbafa49a887b6e6255483b2f2215080000000000000000000000000713202d3946525e6875828e9ba7b1bccbc8bdb2a89e9184796d60574d42362c2429343c444d565e696f7c86929fa7b1bcc8c6bdb0a69a8e8174685d5245392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabb8c5d0dbe0d4c8bcb1a79a8d8074675d5145392f23180c0200000000000000000000000000000000000000000000000000000000000000000000000000020c19232b343d43474947433d342e2517110a02000000000000000000000000000006121f2c3844515c6676838f9ca9b6c2d1d6cabeb3a9988b7e7265564c4135291e252a2d3035393a3d4041464748494a4b4b4a4a4948474540413e3c3937332d2c29241d1c1f22232323201c160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000001070f171f252a33383d44484d5254565d60636769666d6e6f6f706f6f6e6e686a686562605b53544e46443f4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000030f1b27323a47535f6a74818e99a3aebcc6d0ded2c6b9ada1978c7f72685d52443a3020170d0000000000040f1b27323d47535f6a75818e99a3afbbc6d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000001070b141d26303a44505a65727e8b99a3afbbc7d4e0ddd0c3b7aa9d9083776a564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45525d686f7d87939fa7b1bcc5d0dbd2c7beb3a99e938b7e71695f544a4034281f160c01000000000000000004101d2935404b5563707d8997a1adb9c5beb9b4aeaaa39f99928e87827c75808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000060e151a1e212228282828282828282828282828282524221d181109000000000000000000000000000000020a12191f23262728282828282828282828282828282828201f1b17110a02000000000000000000000000000000070e151b1f2222282828282828282828282828282726231f19120b0200000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac96897d7063564a3d3023170a0000000000000000000000000714212e3a4754616d7a86929facb9c2cdc5b9aca0968a7e71675c51453c312419222a323b444d565f6a727f8c95a0acb8c4cfc2b8ac9f92867a6d6054473a2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6675818e9baab4bfcad6e2d9cec3b8ab9e9285796d60554b4034291e1308000000000000000000000000000000000000000000000000000000000000000000000000000a141e2b353d464e5456544e463f3728221c140b030000000000000000000000000004101c2834404a546673808c99abb4bfcbd7cfc2b5a99c8f8276685d5245392c20191e2025292d2e313035393a3b3c3d3e3e3e3d3d3b3a38352f322f2d2b2722201d1821272c2e2f302f2c27211a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000050d141a21282c33383b4246474c5254575a545c6061626263636262615e565b595553504948433d38414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000006131f2b37434e58626e7c87939fabb5bfced8d5c9beb3a99e9285796d60564c4132281e0e050000000000000a15202b37434e58626e7b87929fabb4bfcbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0202020202020202020202020200000305060a0f12181d262f38414c56616c7683909cabb5c0cbd7e3dbcec1b4a89b8e8175685b4e423025190e0200000000000000000000000000000000000000000000040404040404040404040404040404040404040404040404040404040404040404020c17212935414c56606b73808c959faab4bfcad6d9d0c4bbafa59f92867b6e665c51443d31281e1308000000000000000006131f2c3945515d6774818e9ba9b3bec9cac5bebab4aeaba39f99938e8882828f9ca8b5c2cfdbdfd2c6b9ac9f9386796c605346392d2013000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c06000000000000000000000000000000000000070e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1a1a17130e08010000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1d2beb1a5988b7e7265584b3f3225180c000000000000000000000004111d2935414c5565727e8b99a3afbbc7cbbfb4aa9e9184786d60554b40332a1f12192029323b444e58606d7883909da8b2bdc9c7baaea2988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8a98a2aebac6d3e0dfd2c6b9ada2978c7f72675c51453a3025190d04000000000000000000000000000000000000000000000000000000000000000000000006111c26303d474f5860626058514940332d261d150c03000000000000000000000000000c18232e3d495663707d8999a3aebac7d3d2c5b9ac9f92867a6d6054473c31261a1113191d20212425292d2e2f2f3031313130302e2d2c29242522201f1b171319222b32383b3c3d3c38332b261f19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000003090e161c21272c30363a3b4145474a4d4a50535455565656555554524c4e4c4846443f38383234414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000020b1a232e3b4754606a75828f99a4afbdc6d1ded2c6b9ada1978c7f72675d51433a2f20160c00000000000000040f1b26313c47535f6974818e99a3aebac6d0d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0f0f0f0f0f0f0f0f0f0f0f0f0f0f060b0f1213151b1d24292f384149525d68717e8a949fabbdc7d1dce1d5c9bdb2a8988b7e7265584b3f322518090000000000000000000000000000000000000004080a0a11111111111111111111111111111111111111111111111111111111111111111111110f19242f3a444f59606d78839098a2aebac1ccd6d6cdc1baaea2989083786d60594f433a2f24190f05000000000000000714202d3a4753606d7985929facb8c4cacfd0cac6bfbab5aeaba49f9b948f8f949eaab7c3d0dcdfd2c6b9ac9f9386796c605346392d201300000000000000020608080f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b090501000000000000000000000000000000000000000002070a0c0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e06050300000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0e0d0b0703000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfcdc0b3a69a8d8073675a4d4034271a0600000000000000000000000613202c3945515d6776828f9cabb5c0cbc7baaea3988b7e72665c5043392f21180e0e172029323c44505c66717e8a96a1acb9c5cabfb4aa9c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb8c3ced9e2d6cabeb3a99e9185796d60564c41352920160b02000000000000000000000000000000000000000000000000000000000000000000030d17232e38424f59606a6f6a635b52443f382f271e150d040000000000000000000000000714202d3a4753606d7a86929facb9c5d1d3c7bbaea3998b7e7164584e43372b1e13080d11131417191d2021222324242524242322201f1d18181513120f0b16212b343d4348494a48443d373129241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b10161c1f252a2d3035393a3d403f444648484949494948474641423f3c3937332d2c2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000a141d2c38444f59626f7c88939eabb5c0cfd8d5c9bdb2a89e9185796d60554b4031281e0e0400000000000000000a15202b37424d57616e7b86929faab4bfcad6cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c171b1f2022272b2f353c424a535b606d7a85919ea6b0bccfd9e3dfd2c5b9ada196887b6e6255483b2f2215080000000000000000000000000000000000050b101416171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1e28323d44505c666e7b86929fa5afbac4d0d9d6cabfb4aa9f958d80736b60564c41352921170b020000000000030f1c28333f4a5464717e8a98a2aeb5b9bec5c8ced0cbc6bfbbb5afaca69e9c9c9ea6b0bbc7d3dfdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f414d5a6774808d9aa7b3c0cdcec1b5a89b8e8275685b4f422e23170b00000000000000000000000714212d3a4754606d7a86929facb9c5d1c5b8ac9f92867a6d60544a3f31271d0f06050e172028343f4a54606d7984919eabb7c4d0c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcc8d4e1dbcfc5b9ada1978b7f72685e52463d32281d140a0000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a54606b6f7c726d635c504a423930271f160d0500000000000000000000000613202c3945515d6775828f9cabb5bfcbd7cbbfb5ab9c8f82766a5f53473a3025190d03050707080d1113141516171818171716151413100c07090605030f1b27323d464e545656554f47423c352f28231c140c090300000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000050b10141a1e2024292c2d302e34383a3b3c3c3d3c3c3b3b393630322f2d2b27221b2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2ded2c5b9ada1968b7f72675d51433a2f1f160c000000000000000000040e1a26313c46535e6974808d98a2aebac5d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134282828282828282828282828282828282822272b2d2f32373940454e545b656c75818e97a1adb8c2cde1eaded1c4b7ab9e9184786a5f53473a2e211408000000000000000000000000000000000810171c2023242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28343f4a545f69717e8b939ea8b2bdc7d2dbd0c6bcb1a79f93877d6f685d52453e33291d140a000000000006121f2b3844505b6675828f9b9fa3abadb3b8bcc3c9cfd1cbc7c0bbb9b0aaa8a8aab0b8c1ccd7e3dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0d0e0e0d0d0c0b0b0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1becbd0c3b6aa9d9083776a544a3f34281c1003000000000000000000000a1623303d495663707c8999a3afbbc7cec1b5a89b8e8275685d5242382e1f150b0000050e17232e3844505c6673808d99abb5c0cbc6baaea298887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55636f7c8995a0acb8c5cfdbe1d5c9beb3a99e92857a6d61594f443a2f261b11060000000000000000000000000000000000000000000000000000000000000007121d27313944505c666f7d867f736e605b544a423931281f170e050000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d1c6b7ab9f94887c6f62564c41362a1f1509000000000105070708090a0b0b0b0a0a08070604000000000007131f2c38434e586062636059534d45413a342e261e1a140d07010000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002090e1114191d20212423282c2d2e2f2f30302f2f2e2d2a252622201f1b171a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000b17222d38414f59636f7c89949faab7c1d0d9d5c9bdb2a89e9184796d60554b4031281d0d040000000000000000000009151f2a36424d57616e7b86929faab4becad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413535353535353535353535353535353535352d3337393b3e43474b51585f666c77808d939ea9b3becad4dee1d3c7bcb0a6998d807366574e42372b1e120600000000000000000000000000000008111a22282d3031373737373737373737373737373737373737373737373737373737373737373737373737373737372e38424d57626c75818e96a1abb5c0ccd7d8cec3bbafa49991847a6d605a50453b2f261c1106000000000613202d394653606c7882898e92999ea1a9acb1b9bec4cbd0d2ccc7c1bbb7b5b5b7bbc1cad3dee9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050708090e121415171819191a1b1b1a19191817171513120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcd2d2c5b8ab9f928578665c5044382b1f1206000000000000000000000c1926333f4c5966727f8c99abb5c0cbcabfb4aa988b7e7165564c4130261c0d0300000006111c28343f4a5463707d8999a3afbbc7cabeb3aa988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4854606b7784909da9b3becad6e1dacfc4b9ada1978e81746b60564c41382d221712060000000000000000000000000000000000000000000000000000000000071318242f39434d57606d7883908c80746c665c544b433a312920170f05000000000000000000010d18242f3a4754606d7a86929facb9c5d0d3c7bbb0a69a8d8174685e52463c31261a0f060000000000000000000000000000000000000000000000040e1a232e3b4854606a6f706b625f57524c443f38302a261f18130c0400000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201e19191513120f0b1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000030f1b27333f4953616b7683909ca6b0bbc9d3ddd2c5b9aca0968b7e72675c5143392f1f160c0000000000000000000000030e1a25313b46525e6873808d98a2aebac5cfd4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e42424242424242424242424242424242424242433f4446484b4e54555d606a6f78818d929da5afbbc4cfdce3d9cfc7b7ab9f94887b6e6255483c31261a0e02000000000000000000000000000005101a232c33393c3d4444444444444444444444444444444444444444444444444444444444444444444444444444444444444445505a606d7a849199a4afbbc3ced8d7ccc0b5aba1968e81756c61574d42382d22170b0200000006121f2b3844505b666c767c81868d92979da0a7adb2babfc6ced7d4ccc7c3c2c2c3c7ccd3dce5efdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d111414181a1e21212425262627282727262525242322201f1c17171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895acb6c0ccd3c6baada29786796d6053463a2d201307000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c6baaea298887b6e6255483b2f22140a00000000000c17232e3a4754606d7a86929facb9c5d0c0b3a79a8d8074675a4d4134271a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b97a2adb9c5cfdae1d6cabeb3a99f93887c6f685d53493f33272417110a0200000000000000000000000000000000000000000000000000030b1218252935404b555f69727f8b95928d80786d665d554c433a322921170f050000000000000000000713202c3945525d6876828f9ca9b3becad6ccc2b8ac9f92867a6d61574d42372b21180d04000000000000000000000000000000000000000000020c16202c38434e58626f7c7d756e69605d56504a423d363129241d160d04000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000001040707060c101213151516161616151414110d08090605030e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000005121f2b3744505b65707d89949fabb8c2ccdbd4c8bdb2a89e9184796d60554b4031271d0d0400000000000000000000000009141f2a36414d56616d7a85929fa9b3becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4f504950535557586062676d737c828e939da4aeb7c1cdd6e1dcd1c7bdb0a69c9083766a5f53473a2a2015090000000000000000000000000000000b17222c353e44494a505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050525d68707d87939fa7b1bcc6d0dbd2c7bdb2a89e938a7e71695e544a3f33281d140a000000030f1c28333f4a545b606a6f757b80858b91959ea1a9aeb4bcc2cbd1d8d3d0cfcfd0d3d7dee5eeecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1315191e202125252a2d2e303232333434343333323131302f2d2b28222321201d1913100d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a879aa4afbbc8d4cabeb3a993867a6d6053473a2d20140700000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579695f53473a2e21140200000000000613202c3945515d677884919eabb7c4cec1b4a89b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b27323d4754606d7a85929ea9b3bec9d5e0dacfc5bbafa49a91847a6d655b50443f3627221b140b050000000000000000000000000000000000000000000000050c151c2328373f45515d676e7b86929f9c928d81786d675d554c443b332921170d03000000000000000004111d2935414c5665717e8b97a2adbac7d2d3c6baaea2988d8074695f53473f33291f160c03000000000000000000000000000000000000000008131e28323a4854606a768289827b736d68605c544f46423b352f281f160c010000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a0909080807050100000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000030f1c28333f4a54606c7883909da6b0bbcad3ddd1c5b8aca0968b7e71665c5143392e1f150b00000000000000000000000000030e1925303b46525e6873808c97a2adb9c4cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c535b606264676a6f7479808790949da5aeb7c0c9d3dfddd7cbc0b5ab9f94897d7063584e43372b180e03000000000000000000000000000004101c28333e475055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606b73808d959faab4bfcad6d9d0c4baafa59f92857b6e665b50443d2f261c11060000000b17222d38424a50586062696e73797e838b91979fa3aab1bbbfc6cfd6dcdbdbdcdfe3e9eff7ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151b1f22252a2d2e3131363a3b3d3e3f4040414140403f3e3e3d3b3938332d302d2c2924201d1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2d0baada094877a6d6154473a2e21140700000000000000000004111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b574d42372b1e1206000000000004111d2935414b556a7784909daab7c3cfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d67727f8c97a1adb9c4cedae1d8ccc0b6aca0968f82776c605a50483e332d261d160e090300000000000000000000000000000000000000040a0f171e272e343f49515b606d79839098a2a49d938e82796d675e564d453b33291f14090000000000000000010d1924303a4753606d7a85929fabb5c0ccd6cabfb4aa9f92867b6e615a50453b31281e150c0400000000000000000000000000000000000108131924303a444f59626f7c89948f86807a726d666059534d45413a31281d13070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000010b151f2b3844505b66717d8a959fabb8c2cddcd4c8bcb1a79d9184786d60544a4030271d0d03000000000000000000000000000008141f2935414c56606d7a85929ea9b3bec9d5cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817468686868686868686868686868686868686868686868696a656c6e7174777c81858d92999fa6afb7c0c9d2dbded5cbc3bbafa3998f82766b6054463c31261a060000000000000000000000000000000814202d3944505a61646a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d78839098a2aebac6d3e0d6ccc1baada2979082786c60584e42382d22170b00000006111c262f383f444e54575e61676d71787e848c92989fa7aeb5bdc4ccd4dde5e9ebeff4faf9ecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20272b2e3036393b3e414246484a4b4c4c4d4e4e4d4c4c4b4a4a4846443f3f3d3a39352f2c29241d1c160f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667885929eabb8c5d1c7bbaea194887b6e6155483b2e22150800000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d504431261a0e020000000000010d18242f43505c6976838f9ca9b6c2cfc3b6a99d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55606d7985929ea8b2bdc9d5dfddd2c7beb2a89e938c7f726c625a50443f382f28201a150e0904000000000000000000000000000001050a0f151b212930394044515b636d75818e95a0aaaea59e948f82796d685e574d453b30251a0e0200000000000000000813202c3945515d6773808d99a4afbbc7d4d0c6bbaea3998f82756c62574d433a30271e160d07000000000000000000000000000000040c1319252935414c56616b75828f9c99928d857e78706b615f57514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000007121d2834404a54606c7883919da7b1bccad4ddd1c5b8aca0958a7e71665c5042392e1e150b000000000000000000000000000000020d1925303a45525d68727f8c97a1adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817575757575757575757575757575757575757575757575767777797b7e8083888d92979fa3abb0b8c0c9d2dbded5ccc3b9b1a79f92877c6f62594f44332a2015090000000000000000000000000000000a1623303c4955616c707777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777b85929facb8c5d2dfded6cabeb3a99f948c7f726a60544a3f33281c0f030000000a141d262d333d43474d52555d60656c7179808690959fa3abb2bac2cbd3dbe5edf6fffff9ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a1d24292c32373b3c4146474b4e4d5354575859595a5b5a5a59585857565553504a4c4a4745413a39352f2c27211a150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1c8bbaea295887b6f6255483c2f22150900000000000000000004111e2b3744515e6a7784919daab7c4d0c4b7aa9e9184776b564c41362a1e1105000000000000071d293643505c6976838f9ca9b6c2cfc4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a45515d67727f8c96a1acb9c1cdd6e1d9d0c4bab0a69f93887e716c615a5049413a322b26201a15100c070604010001000100020507080d11151a20272b333b424a515b636d727f8c939ea7b1b7afa69e9490837a6e695e574d42362a1e1205000000000000000004111d2935404b55616e7b87939facb9c1cfd7cbbfb5ab9e948b7e71695f564c423930281f18120b060000000000000000000003060b0d161e2429373f45525d68707d8a949ea39f97928b837d756e69605d554b4135291d110400000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000c18232f3844515c66717e8b95a0acb9c3cddcd4c8bcb1a79d9083786c60544a3f30271c0c030000000000000000000000000000000008131e2935414c56606d7985919ea8b2bdc9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd1c4b7aa9e9184818181818181818181818181818181818181818181818283838485888a8d90959a9fa2a9aeb5bdc2cad2dbded6ccc3bab1a79f958c80736a5f53473d3321180e030000000000000000000000000000000a1724313d4a5764707e8383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838385929fabb8c5d2dee6dbd0c5bcb0a69f92877c6f665b5044382b1f1206000000020b141c222832373b42464b51535b60676d737b838c9299a1a8b1b9c1c9d3dbe5edf7fff9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13191f252a2f35393d4347494c5254585b575e616365656667676766666564646362605b54595654514c4745403938332b262019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e44515d6a7784909daab7c3d0c8bcafa295897c6f6256493c2f23160900000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579685e5246392d20150a000000000006121e2b37424e576a7784909daab7c3cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea5afbbc4cfdae2d6ccc1bbafa49a92877e716c605b534c443e37312b261f1d181413100d070d0d0e080e111414191d20262b32373e454d545c606d727f8c919ca5afb9c1b8b0a69f9590837b6e695e52463a2d2014070000000000000000010d18242f3a46535f6975828f9ba5afbdc6d1d1c6bdb0a69f92867b6e685d544b433a3128231c17110d08070706060708090a0f12161c1f282f353f49515b606d7a84919ea6aea9a19e959089827b736d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000004101c2934404b55606d7984919ea7b1bccbd4dcd1c4b8aca0958a7d71665b5042382e1e150b0000000000000000000000000000000000020d19242f3a45515d67727f8b96a1adb9c4ced5c9beb2a99e92857a6d60564c4135291e1308000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c5b9aca096918e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f90919298979a9da0a7abadb3bbbfc6cfd4dcdad5ccc4bab2a8a0959083786d60584e43352b210f06000000000000000000000000000000000b1825323e4b5865717e8b9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909297a2adbac6d3dfece1d7cec2bbafa3999184786c605346392d20130600000000020a111720272b30363940454950555d60696e787f8791969fa7afb7c1c9d3dbe5eef7ffecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931363a4045474e5456565e6164676a696e707172737374747373727171706e6c66686563605d5553514b48443d373129241e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3743505d6a7683909da9b6c3d0c9bcafa396897c706356493d3023160a000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6baaea298877a6e6154473c31261b1108020000020a14212e3a47535f6a7885929eabb8c5cec1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3945515c67707d89939da9b3bec9d5dcded8ccc0b6aca39992877e736c655e565047433c37312c292420201d181b1a1a1b1b191e2021252a2d31373d434750575e666d737f8c919ca3adb7c1cac1b8b0a7a09591847b6e6154483b2e21150800000000000000000007131d2a36424d57636f7c89939eabb5bfcbd7cfc1baaea29891837a6d665c554b433c342e27221b191514131213141415171a1f21272c313a4145515b636d75818e97a1adbbb3ada7a09d938f8680796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000020c16202c3845515c67727e8b96a0acb9c3ceddd4c8bcb1a79d9083786c60544a3f30261c0c0300000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5c9bdb2a8a09e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c9d9e9fa2aaa7aaacb1b8babec5cbd1d8dfd6cfc9c0bab2a8a09690837a6d665c51463c3223190f00000000000000000000000000000000000b1825323e4b5865717e8b989d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa2a9b3becad6e2eee9e0d7cbc0b5aba09686796d6053463a2d201307000000000000060b161b1f252a2f35383f444b51575f666d737c8490959ea5afb7c1c9d3dce5f0f9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c23282f353b42464b515358606266686e717476787b7d7e7f7f808181807f7f7e7d7d7b79777472706d6764605d55554f47433c353028201910070000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc9bdb0a3968a7d7063574a3d3024170a000000000000000000010e1a2734414d5a6774808d9aa7b3c0cfcabfb4aa988b7e7165584e43372b2319130e09090b141d27303b4855626e7b8897a2adb9c6cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2934404b55606b74818e97a1adb9c0cad3deddd2c7beb5aba399928b80776d68615a534e47423c38352f2d2c29242727272728252a2d2e3036393c43474e545a61696e78808c919ca3adb5bfc9d3cac2b9b0a69e91847a6d6053473a2d201407000000000000000000010e1a26313b4854606b75828f99a3aebbc5cfd6cabfb4aaa0958f82786d675d554e444039332d2a252221201f2021212224262b2e33383d434c515b626d727f8c939ea9b2bebeb9b1aca59e98928a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000008131e2935414b55606d7984919ea8b2bdcbd5dcd1c4b8ab9f958a7d70655b5042382d1e140a00000000000000000000000000000000000000010c18242f3945515c67717e8b96a0acb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000f1b2835424e5b6875818e9ba8b4c1cedbe5d9cec4bab2acaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9aaaaacaeb4b3b7b8bcc3c6cad0d7dbd6d3cdc4bdb9afa8a19691847a6e685d544b40342a20110700000000000000000000000000000000000b1825323e4b5865717e8b98a4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5d0dbe6f2f2e8dcd1c7bdb2a89386796d6053463a2d20130700000000000000040a0f141a1d24292d333a40454d545c606a6f7a838e939ea5afb7c1cad3dee8f2ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e262e343a41454d53555d60656a6f73777a7e818385878a8b8c8c8d8e8d8d8c8b8b8a89888583817f7d7a75716d67636059534e46413a322b2219110800000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926323f4c5965727f8c98a8b2bdc9d0c2b5a89c8f82756a5f53473f352a251e1a1818191d262e39434f5965727f8b98a9b3becaccc0b6ac998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232f39434f59616d7a85919ea4aeb8c1ccd5dfd9d0c7bdb5aba39f928c817a706c625f58534d4745403c3a39352f34343334353036393b3d4146474e535860626c707b838d929ca3adb5bfc7d1d7cbbfb4ab9f948a7e71675d5145392c2013060000000000000000000009141f2c38434f59626e7b86929fa9b3becad6d0c5bcb1a79f948f81796d675f58514a443f3836302f2d2d2c2d2d2e2f3131373a3d44484f555d606d727f8b919ca5afbbc4c9c3bcb8afa79d9083786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000010d1924303945515d67727f8c96a1adbac4ceddd3c7bbb0a69d9083766b6153493f2f261c0c02000000000000000000000000000000000000000007121d2834404b55606d7884919ea7b1bcc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e0d5ccc4bdb9b7b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b5b6b6b7b8babfc0c3c5c8ced3d6d9d4d0cac6c1bbb2ada59d9691847b6e685e564c42392e22180e0000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b8babec5cdd7e1ecf7f9eee3d9cfb9aca09386796d6053463a2d20130700000000000000000002090e12181b22272f353c424a505860686e79818e939ea5afb8c1ccd6e0eaf4dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117212930383f444c52575e61676d72777c8083878b8e909298969898999a9a9a9999989797969892908e8c8986827e7a75706b625f58524c443c342b231a1108000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000915222f3c4855626f7c8896a1adb9c5d2c5b9ac9f92877c6f625a50473e36302b262525252a2f38404b55606b7683909da9b6c3cfc8bbafa49a8a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d46525d68707e8a929ca6b0bac3cdd6dfd9cfc6bdb5aea49c938f857d756e6a625f5753514b49474540424140404142434146474a4c5254585f626a6f767e8590959da4adb5bfc7d1d4cbc2baaea3998f82766c61554b4035291d110400000000000000000000030f1b27323d47535f6974808d97a2adb9c0ccd5cec3b9b0a69e938f82796f6a605c54504946413e3c3a3a38393a3b3c3d404347484f545960676d757f88939fa3adb7c1cdd5ccc3b8ab9f958a7d70655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000005111d2935414c56606d7a85929ea9b2bdccd6dcd0c4b7ab9f94897d7063594f41382d1d140a000000000000000000000000000000000000000000010c18232e3944505c66717e8a95a0acb8c3cdd6cabeb3a99f92867a6d61574d42362a1f140900000000000f1b2835424e5b6875818e9ba8b4c1cedbe3e7ded5cec9c5c4c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2c3c4c5c6cad0d0d1d4d6d3d2cec8c6bfbab8afa9a19e938e847b6e695e564c443a30271d10060000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c6cad0d7dfe9e3e3e3e3ead3c6b9aca09386796d6053463a2d201307000000000000000000000001070c11171d242930383f444e565e676d78818e939ea6b0bac4ced8e2e3dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227333b424a50565d60696e747a7e83898c90939a9a9d9fa2aaa4a5a6a6a7a7a6a6a5a4a4aaa29f9d9b9898928f8a86817d766e6a615d564e463d352c231a110700000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000815212e3b47535f6a7884919eabb8c4cfc7bbafa3998f82756c62595046413a3731323130363a4149515c67707d89959fabb8c4d2c6b9ac9f93877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935414c56616c73808d949ea8b2bbc4cdd6dfd8cfc6bfbbaea59e97928a827b746e6964605d555653514b4e4e4d4d4e4e4f4d525457565e61656a6f757c828a92979fa7aeb6bfc7d1d6ccc2b9afa59f92867b6e625a50433a2f24180d0100000000000000000000000a16212b37424d57616d7a85929ea5afbac3ced5cbc2b8afa59e948f847c726d66605b53524c4b48474644464747484a4c4e53555960636b707a818b939aa4afb5bfc9d3cfc3baafa59d9083766b6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000030d17212d3946525d68737f8c97a1adbbc4cfded3c7bbb0a69c9083766b6054473e2f261b0b020000000000000000000000000000000000000000000007121d28343f4a54606c7883919da7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000f1b2835424e5b6875818e9ba8b4c1ced6d6d6d6d6d9d5d2d1cecececececececececececececececececececececececfd0d1d2d3d3d2d1d0d0cbc7c5c3bdb8b4aeaca59e96918a817a6e695f574d443b32281e150b000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d6dbd6d6d6d6d6d6d6d6d3c6b9aca09386796d6053463a2d2013070000000000000000000000000000060b13181e262e343d444d555c666d78818e949ea8b2bcc6d0dcd6d6d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141d262d333e454d545c60686d737b80858b9095999d9fa4aca9abaeb4b1b2b2b3b4b4b3b2b2b1b0b4aeacaaa7aaa39f9b98928e89827c746d6860584f473e352c23190c0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfcabdb0a3978a7d7064574a3d3124170a0000000000000000000006121f2b37434e586774818e9aa8b2bdc9cbc0b5ab9e948b7e716b615a524c4742403f3e3f42464c535b606d7983909da7b1bcc8d0c3b6aa9d908377685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1924303a44505a606c78828f96a0a9b2bbc4cdd6ded8d1cbbfb7afa9a19e938f87817b76716d676662605d555b5a5a5a5a5b5c565e616466686d72777c81878f949ea2a9b1b9c0c8d1d5ccc4bab1a79d938b7f72695f53483e31281d1307000000000000000000000000040e1a26313c46525e68717e8a939da8b2bcc6cfd4cac1b8afa69f9691867f79706c65615e565755545350535454555759585f62666b70767d848e939fa4acb6c0c7d1d1c6bcb2a89d93897d7063594f41382d22170b0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000009141f2a36414c56616d7a85929fa9b3becdd6dbd0c3b7ab9f94897d7063594f44352c1d140a0000000000000000000000000000000000000000000000000c17232e3844505b66717d8a95a0abb8c2cdd6cabfb4aa9f92867b6e61574d42362a201509000000000f1b2835424e5b6875818e9ba8b4c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c3c1bfbab8b6b2acaaa29f9a938e847d746d675f574d453b322920160c03000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d20130700000000000000000000000000000001070c141c2328323b434b545c666d78828f96a0aab4bfcbc9c9c9c9c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f4450575e666d727a80868d92989da0a7aaacafb6b6b8babebebfbfc0c1c0c0bfbebebdbfbab8b6b4b4aeacaaa29f9b948f87807a6f6a60594f473e352b1e150b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023170a00000000000000000000030f1b26323d4a5764707d8a96a1adb9c3cec7bdb0a69f92877d716c615e56534d4c4b4b4c4d52565e656c74808d95a0abb9c2cdc7bcb1a7998c807366564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e44505b666d7a849197a1a9b2bbc4ccd4dcdcd7c9c1bbb3ada59e99928e88837e7976726f6d6769686767666768696a686e7073767a7f83888e939a9fa6adb3bbc2cbd2d4cbc3bab2a89f958e81746d62574d42362c1f160c010000000000000000000000000009151f2935414c56616c74818e96a0aab4bdc7d1d3cac1b8b0a8a098928c847d78726e6866646260605c606061626466686a6f73777d838991969ea5afb6bec7d2d7cbbfb4aaa0968e81746b6054473e2f261b11060000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000020e1a25313946525e6873808d98a2aebbc5cfd6d3c7bbb0a69c8f82766b6054473d33231a0b0200000000000000000000000000000000000000000000000006111c28333f4a54606c7883909da6b0bcc7d3d0c6baaea3988d8174695f53463c31261a0e040000000f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbfbab9b8b7b5b4aeaca9a8a09e98928e88817a706b605d554d453c332920170e0400000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9aca09386796d6053463a2d2013070000000000000000000000000000000000020a111720293139424a545c666d7a849198a3aebabdbdbdbdbdbdb9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730384149505a61696e787f858d92989fa2aaacb1b6b9bbc0c3c5c6cad0cbcccdcdcdcccccbcad0cac7c5c3c1bfbab9b4aeaca69f99928d857c706b61594f473d30271d1207000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa296897c6f6356493c3023160900000000000000000000000a13202d3a4653606d7984919ea8b2bdc8cfc1bbaea39992867e746d68615f5759585859565e61686d77808c929da7b1bccbd0c7b7ab9f95897c6f6356493c3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028333f4a545d686e7b859197a1a9b2bac2cad5dadbd3cdc5beb9afaba39f9b948f8a86827f7c7a78767574737374757676787a7d8082868b90959b9fa4acb0b9bec5cdd4d6cbc2b9b1a8a1969083786d605b51453c31241a0d040000000000000000000000000000030d1925303a44505a606d79849198a2abb5c0cbd1d3cac2bab2aaa39f96918a847f7a7773716f6d6d666c6d6e6f707375777b7f838990949ea0a8afbbc0c7d0d8c8c0baaea3989184796d60594f44352c1d140a000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000005121e2a36424d57616e7a86929faab3becdc9c9d0c7b7aa9e94897c6f62594f44352b21110800000000000000000000000000000000000000000000000000000b17222d3844505b65707d8a949fabb7c2ccc9cbbfb4aa9f92867b6e61574e42372b20150a0000000f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb4aeacabaaa8aaa39f9c9996918b86817c756d686159514c433c332a21170e050000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0aca09386796d6053463a2d20130700000000000000000000000000000000000000060e171f272f38424a545d686f7c86929fa7b1b0b0b0b0b0b0b0ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039424a535b606c707b828b92979fa3aaaeb4b8bcc3c6c8ccd2d0cfcac6c5c4c3c2c2c2c3c4c5c6cad0d0d0d1cbc7c5bfbab8b0aba39f9792867d706c61594f43392e23180c040000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f221609000000000000000000000006131f2c3845515c67717e8b96a0acb9c1cccbbfb5aba298928a807a736e69676665646667696e727a818c929ca4aeb9c3cdc7bdb0a69d9083766b6054483b2f1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17222d38424c565f696e7b859196a1a8b0b8c0c9cfd6dfd6cfc9c1bdb5afaca69f9c98928f8c89868482818180808181828384878a8c8f92999d9fa7acafb6bec2cacfd7d0cac1b9b1a7a09691847a6e665c51493f332a2012080000000000000000000000000000000008131e28323e45515d676f7c869299a3afbbc0c7cfd4ccc3bcb4aea8a09e96918c8783807e7b7a7979797a7a7b7d7f8284888c90959c9fa6acb2bac1ccd2d2ccc0b6aea49f92867c6f675d51473d33231a0b02000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdd6d4c7bbaea194887b6e6155483b2e2215080000000714212d3a46535e6974808d98a2aebcbdbdbdbdbdbeafa59c8f82756a6054473d32231a0f00000000000000000000000000000000000000000000000000000006111c27333f4953616b7683909ca6b0bbbdbdbdbdbbaea3998e81746a5f53473c32261b0f0000000f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aaa39f9e9d9b989892908d89847f7a746f6a605d564f45413a312a21180f05000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a09386796d6053463a2d2013070000000000000000000000000000000000000000050d151d263038424c565f6a727f8b95a0a3a3a3a3a3a3a3a3a39f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424a545c656c747e8590949ea1a9aeb4babec5c8ced2cdc8c4c3c0bebab8b7b6b5b5b6b6b7b8babfbfc3c6c8ccd2d0cac6c2bdb5afa9a19892867e706b60554b40342820150a0000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667985929facb8c5d2c8bbaea195887b6e6255483b2f221508000000000000000000000004101c2834404b55606d7884919ea6b0b9c3cdc6bdb4aaa29f928d85807b77747372717274777b7f858e939ca4aeb6c0cbccc0b5ab9f94897d7063594f43382c1f0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d575f696e7b8491969fa6aeb9bec5cdd4d9dad5cfc7c0bbb9b0abaaa39f9c999a93918f8e8d8d8d8d8e8f90919697999c9fa3ababb1b9bbc0c7d0d6d5cdc5bebaafa79f9591847b6e685e544b40372d21180e0000000000000000000000000000000000020c16202935404b55606a707d87929fa3afb5bdc5ced8cfc6bfbab2aca8a09e9a93908d8a88878685868787888a8c8e9196999da0a7abb0b9bdc4ccd8d0c7c0bbaea49d928b7f726a5f554b40352b21110800000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0c9c9c9c7bbaea194887b6e6155483b2e221508000006121e2b37424d57616e7b86929faab4b0b0b0b0b0b0b6ac9e93887c6f62584e43352b211108000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb0b0b0b0b0b0b5ab9f92877b6e62584e43372b1c110600000f1b2835424e5b6875818e969696969696969696969696969696969696969696969696969696969696969696969696969696969594989291908e8b898683807d78726d68625f58524c443e352f281f180f0600000000000000000000000000000000000000000000000b1825323e4b5865717e8b96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d201307000000000000000000000000000000000000000000030b141e26303a444e58606d78839096969696969696969696969386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232834404a545c666d77808a92979fa6adb3babfc6cad0cdc8c4c2bcb8b6b3b3adabaaa9a8a8a9a9aaacaeb4b3b6b9bbc0c7cbd1d3cfc7c0bbb3aaa29892877d6f675c51453c31261b0f000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a2aebac6d3c7baaea194877b6e6154483b2e2115080000000000000000000000000c18232e3944505c66717e8a949ea7b1bbc5cec6bcb4aea49d98928c8884817f7e7e7f8083878c92989ea5aeb6bfc8cac2bbafa4998f82766b6054463d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454d575f696e7b848f949ca4adb3bbc1c8ced5d9d9d1cbc7c2bbb7b4aeaca9aca49f9e9c9b9a9a999a9b9c9d9ea1a8a6a9acaeb5b8bcc3c8ccd2d5cfc9c2bbb3ada59e9590837b6e695f564c42392e251b0f06000000000000000000000000000000000000040e18242f3a434e58616b717e8b919fa3abb4bcc3ccd2d1cbc3bdb9b2acaca49f9d999795939892939a949597999b9ea0a8aaacb1b7bcc2c9ced5cdc4beb6afa49d928d80746d62584e43392f23190f0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbbaea194887b6e6155483b2e22150800000814212e3a47535f6974818e99a3a3a3a3a3a3a3a3a3a3a49a8f82756a6054463d3223190f000000000000000000000000000000000000000000000000000000000006111b262f3e4854606b76828f9ca6a3a3a3a3a3a3a3a3a3998e81756a5f5347382e23170b00000f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786868584827f7c797673706c65605d56534e45413a3229241e160d060000000000000000000000000000000000000000000000000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796d6053463a2d20130700000000000000000000000000000000000000000000020c151e28323c44505c66707d898a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44515c666d78818d929fa2a9b0b9bec5cbd0ccc7c3bcb8b6b1aba9a6a9a29f9d9d9c9b9c9d9d9fa2aaa6aaacafb6babfc6cfd5d1cbc5bcb4aaa3999184796d60584e43372b1d12070000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcad6c7baada094877a6d6154473a2e21140700000000000000000000000007121d28343f4a54606c77828f95a0a9b3bcc4ccc6bfbaaeaaa29f9996918e8c8b8b8c8d90939a9fa2aaafb7bfc8ccc2b8afa59f93877c6f62594f44342b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333c454d575f696e7a828d929ea1a9afb8bdc3c9ced4d9d7d4cdc7c6bfbab8b6b6afacaba9a8a7a6a6a7a8a9a9abadb2b3b6b9bbbfc6c8cdd4d5cfc9c5beb9b0a9a29f938e827a6e695f574d443b30271d1309000000000000000000000000000000000000000007131d28313c464f59626c727f8b9299a2aab1bbc0c7d0d5cec8c4bdb9b6afacaaa6a4a2aaa39f9fa4a1a2a3a6a8aaacb2b7b8bcc3c7cdd5cfc9c1bbb2aca49f928d80746e645b51463c31281d11070000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0aea194887b6e6155483b2e22150800030f1b27333f4953626e7b879296969696969696969696969693877c6f62584e43342b2011070000000000000000000000000000000000000000000000000000000000000a141d2c38444f59626f7c8994969696969696969696969693877c6f62544a3f34281c1003000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7a79787775726f6d666663605b53524c47433c3530282019130c04000000000000000000000000000000000000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d2013060000000000000000000000000000000000000000000000030c162028343f4a54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d47515b606d78818e939da4adb3bbc2cacfccc7c2bbb7b1acaaa79f9d9997979291908f8f8f9091929896999d9fa4acaeb4bdc3cbd4d7cec5bcb4aba0968c80736a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0d5c9beb3a993867a6d6053473a2d201407000000000000000000000000000c17232e3844505b656d79839197a2aab2bac2cbcac0bcb4aeaba8a09e9a999897999a9d9fa4acaeb3bcc1c9c7c0bbb0a69d938c7f726a6054473d3222190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333c454d575f686d78808a92979da5acb2b9bdc4c8ced3d6d8d3d0cbc7c5c2c0bbb9b7b5b4b4b3b3b4b4b5b6b8b9bdbfc2c5c7cbd1d4d3cec9c4beb9b3ada69f97928b81796d685e574d453c32291e150b010000000000000000000000000000000000000000010c161f2b343e47505a636d727e879298a0a7afb6bec3c9ced4cec9c7c0bbb9b6b3b1aeb4aeacacafb6aeb0b2b5b7b9bdc3c5c8ced3cec9c4bdb9afa9a19a938c80746e645c52493f342a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd6d6d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a194887b6e6155483b2e2215080005121f2b3744505b6575828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a81756a5f53463c3222190f00000000000000000000000000000000000000000000000000000000000000020b1b27323d4754606a75828a8a8a8a8a8a8a8a8a8a8a8a8a8a8275665c5044382b1f1206000815212e3b47535f6a6f70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d676b6a686562605c545653504945413a373129241e160e080100000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706c665b5044382b1f1206000000000000000000000000000000000000000000000000040e17232e38424f59606b70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626d75818e939da5aebabec5cdcfc9c2bbb7b0aaa7a09d9995908d8a8785848382828383848587898c90939a9fa3abb1b9c2cad4d7cec6bdb2a89f92867c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c6b9ada19786796c605346392d2013060000000000000000000000000006111c27333f49535d676e7b859298a1a8b0babfc6cbc5bebab8b2acaaa7a6a5a4a5a7aaacafb6babec5c9c5bdb5afa69e948e81746d62584e43352b21100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c454d565d666d737e858e939ea0a8acb2b8bdc3c6cad0d2d5d6d3d2d2ccc8c6c4c2c1c0c0c0c0c1c2c3c4c5c9cfcfd2d3d2d0cac6c4bdb9b2ada9a19e948f857e756d675d564d453c332a20170c0300000000000000000000000000000000000000000000040d19222c353f48515b636c717d8691959fa4acb2b9bdc4c8ced3d2ccc8c6c3c0bdbbbfbab8b9bbc0bbbdbfc1c4c5c9ced1d2cec8c4bdb9b2ada59e96918880736e645c524a41372d22180d04000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c9c9c9c9c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d969696969696969696969694887b6e6155483b2e221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e61584e43342b20100700000000000000000000000000000000000000000000000000000000000000000b16212b37434e58616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363636363636363636261605d555d5b585653514a4a46443f38352f2b262019130c040000000000000000000000000000000000000000000000000000000005121e2a36424d575e616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b544a3f33281c0f030000000000000000000000000000000000000000000000000006111c26303d474f5960636363636363636363636363636361594f44382c2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b727f8c939ea5afb7c0cacfcdc4beb9b0aaa69f9c95908c8783807d7b7877767575767677797b7c8083878e9299a0a7b0b8c2cdd6d8cfc3bbaea3998e8174665c5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d1c5b8ab9e928578655b5044372b1f120500000000000000000000000000000b17222d38414c555f69707d8691969fa6aeb4babfc6cac6c4bdb9b7b4b2b1b1b2b3b6b9bbc0c7c9c5beb9b3aba49f948f82786d605b51463d3223190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c444c545c606c717a818991969ea0a8acb2b8babec5c6c9cfd1d2d3d7d4d2d1cfcecdcdcccdcecfd0d1d2d2d1cfcfcac6c5bebab8b2aca9a19e97928b827b716c605d554c443b332a21180e0500000000000000000000000000000000000000000000000007101a232d363f49515a626b707c838d939aa0a8acb2b8bcc3c6cacfd2d2d0cccad0cbc7c5c6c8ccd2caccced1d2d2ccc8c6c3bcb8b2aca8a19e938e847d736e645c524a41382f251b100600000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5bdbdbdbdbdbdb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a887b6e6155483b2e2215080005121f2b3744505b656c707070707070707070707070707070706e685e52463c3122190e000000000000000000000000000000000000000000000000000000000000000000040f1b27323d46525e696e7070707070707070707070707070706d665c5044382b1f120600030f1b26323c464e53555757575757575757575757575757575757575757575757575757575757575757575757575757575756555453514b514f4c494644403d3937332d29241e1b150d08020000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382d22170b0000000000000000000000000000000000000000000000000000000a141e2b353d474f545657575757575757575757575757554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d87929fa5afb7c1c9d1cbc0bbb2ada69e9c948f89837f7b7673706e696a6a6968696a656c6e7073777b818690959fa6b0bbc4cfdad7cbbfb5ab9f9285796d6053463a2d20130600000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a53493f33271b0f03000000000000000000000000000006111b262f3a434d57606b707c848f949fa3abaeb4babfc3c4c8c5c4c1bfbebebfc0c3c6c7c5c2bdb9b3ada9a199938c827a6d665c51493f342b20110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a323a424a505a61686d747d848b91969da0a8abaeb3b8b9bec1c4c5c7cbd1cccdcdcecfcfcecdcccccbcfcac6c5c2c0beb9b8b3aeaba8a19e97918c857e766e69615a514b433a322920180f06000000000000000000000000000000000000000000000000000008111b242d373f485059606a6f79808891969ea1a8acb1b8babec2c5c6cad0cccdcececfcececdccccd0cac6c5c3c0bbb9b6b1aca8a09e96918b817a706b635c524a40382f261d13090000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b0b0b0b0b0b0b0b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d20140700030f1b27333f49535b6063636363636363636363636363636363615e564c41342a201007000000000000000000000000000000000000000000000000000000000000000000000a16202a36424d575e61636363636363636363636363636363605c544a3f34281c100300000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484747454044423f3c3a38342e2d2b27221b19130f0a04000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c1106000000000000000000000000000000000000000000000000000000020c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77849099a3afb7c1c9cfc6bfbaafa9a19e948f88827c77726e696664615e575d5c5c5c535b60616366696e747b838f949fa9b2bdc9d5dcd1c6baada2978a7d7063574a3d2e23170b00000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcec1b4a89b8e8175685b4e422d22170b000000000000000000000000000000000a141d28313c454f59606a6f7a828d92999fa3abaeb4b7b8bcbebfc0c1c2c1c0bfbebfbab8b5b2ada9a19e9792877f786d685d544b40372d22190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18202830383f4450565e616b70797e848b91969a9fa2aaabadb3b5b7b9bbc0bebfc0c1c1c2c2c1c0c0bfbebdbeb9b8b6b3b3adabaaa29f9b96918b847f79726d615e5750454039312820170e060000000000000000000000000000000000000000000000000000000009121c252d363f474f585f676d737d848b91969da0a7abadb3b5b8babfbec0c0c1c2c2c2c1c0c0bfbebebab8b6b6afaca9a7a09d96918b847e756d686059524a40382f261d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f70707070707070707070707070706d675d5145392c1f130600000b17222d38414950535757575757575757575757575757575754524c443b3022180e0000000000000000000000000000000000000000000000000000000000000000000000040e1a25303b454d525457575757575757575757575757575753504a42382e23170b000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a38352f35322f2d2c2823201f1b17110d080100000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a0000000000000000000000000000000000000000000000000000000000071119232b33383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b95a0acb8c1ccc4bcb4aea59d97918a827c766f6b66615e575754524d504f4f504950535456575f61696e79828f96a1adb9c6d0dbd6cabeb3a99b8e817468544a3f34281c100300000000000000000000000000000000000000000000000000000004101c2834404b546975828f9ca8b5c2cfccbfb3a6998c807366594d4033261a0600000000000000000000000000000000020b161f2a333d474f585f686d7880868d92999fa2aaaaacb1b1b2b3b4b5b5b4b3b2b4aeaca9a8a19e97928c857d736c665d564c42392e251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343e444c525960666d71787e84898e92989b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b4b3b2b1b1b3adaba9a7a9a29e9b98928e8a847f79726d67625b524d453e352f271f160e050000000000000000000000000000000000000000000000000000000000000a131c242d353d464e555c606b70787e848b90959a9fa2a9a9acaeb4b1b3b4b4b5b5b5b4b3b3b2b1b3adaba9aca49f9d9995908b847e79716c615e564f4740372e261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9696969696969696969696969083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636363636363636363605d554b4035291d1004000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e100600000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c11060000000007101820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2d2c2924282523201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28221c140b0200000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030302f2c28211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7883909da5afbcc4bab2aaa39f938e847e766f6a63605954534d4a484642434242433f444647494d53575f676d7a84919eaab4bfcad6dbd0c4b8ab9e918578665c5044382b1f120600000000000000000000000000000000000000000000000000000006131f2c3845515c667784919eaab7c4d1cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000000000000040d18212b353d464e565e666d737b81868e9298999da0a7a4a5a6a7a8a8a7a6a5aaa29f9c9996918b857f7a706b605b544c443a30271d130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323a41464f545c60666d71787c81858a8e9297989b9e9fa3aba5a6a7a7a8a8a8a8a7a6a5a5a4a9a19e9c9a9797928e8a85817d79726d67605d555146423b3329241d150d0400000000000000000000000000000000000000000000000000000000000000010a121b232b343c434b515960666d71797e83888d9297999c9fa2aaa4a6a7a7a8a9a8a7a7a6a5a5a9a29f9c9a9a93908c88847e78716d66615a524c443d352e251c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c464e5355575757575757575757575757575753514b43392f24180c000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d00000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a000000000000070e151b1f212224242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1d181c19161312100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c89939eaab4bab2a8a198928b817a716c626058544f4846423d3b3a363036352d3337393b3d42464d555e68727e8b98a2aebac6d3dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab96897c706356493d3023160a000000000000000000000000000000000000060f19232b343c444c545c60696e747b8186898d9095969798999b9c9b9a99989798928f8c89847f79726d676059504a423a32281e150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202830353d424a51545c60656c7074797d8285888b8e9192999698999a9a9b9c9c9b9a999998979697928f8d8b8885817d7975706d66605c55514b433f3630292118120b030000000000000000000000000000000000000000000000000000000000000000000009111a222a313940454f545c60666d72777c8185898c8f92989698999a9b9b9c9b9b9a999998969792908d8b87837f7b77716d66605c545046413a322b231c130a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000020b141b22272b2d303030303030303030303030303030302e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e3030303030303030303030303030302d2b28231c140c0200000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171615141413100c070c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000050b10131616171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606b75818e98a2aeb2a8a19691867e746d68615a544e48443d3a36312e2d2a25292922272b2d2e31363c434c56606d7a85929facb8c5d2dfd4c7bbafa499877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a3afbbc7d3c7bbafa399877b6e6154483b2e21150800000000000000000000000000000000000000071119222a323a424a50575e61696e74797d808387898b8c8d8e8f8e8d8c8b8a8986827f7c79726d67605d554f443f382f2820160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e2529303940444a50535b6063676d7175797b7e828486888a8b8c8d8e8e8f8f8e8d8d8c8b8a89878583807e7c7974706d6664605c54514b454039312a251f170f07010000000000000000000000000000000000000000000000000000000000000000000000000810181f272f343d424a50545c60656a6f74797c7f828587898b8d8d8e8f8f8f8e8d8d8c8b89878583817e7b76726e6964605c54514b423e353028201a110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f70707070707070707070707070706f6b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b010000000000020a11171b1f202424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424201f1c17110a0200000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59616e7b86929fa8a8a19691847c716c605d565047433c38322d2a2521201e1a1c1c171b1f2021262a313a45515d677783909daab6c3d0ddd7ccc0b5ab95887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0cbd2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000071019202830383f444d52575e61676d7073777a7d7e7f8081828281807f7e7c7976726f6d66605d55514c433d332d261d160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383f44495053555c6064656c6e727577797b7d7f8080818282828181807f7e7e7d7b787674716f6d6663605c5453514a454039352f271f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d232930383f444b5153586062666d6f7276797b7c7e8081818282828180807f7e7d7a787674716e6866625f5753504a4540393029251e160e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58606263636363636363636363636363636360594f43382c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c29241d150d030000000000000000060b0f1213171717171717171717171717171717171414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141717171717171717171717171717171312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3d46525e68727f8c96a0a19691847b6f6a625a524c433e37322c27211e1a1514120e09060b0f1213141a1f2935414c556875828f9ba8b5c2cedbddd2bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfd1d1c4b7aa9e918477665c5044382b1f1206000000000000000000000000000000000000000000070e161e262e343b42464d53555c606366686e70717273747575747372716f6d676662605c54514b45413a3128221c140b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151c23282e34383f44464b5153535b60626568666d6e7072737474757575757473727271706e6969676462605c5453514b46444039342e29241d150d09020000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e262e34394045464e54545c606266656c6e70717374747576757474737272706e69696765615e5655534d46443f38342e271e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e5456575757575757575757575757575756544f473d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222424242424242424242424242424201f1d18120b0300000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000002050708121313131313131313131313131313131006060300000000000000000000000000000000000000000000010406070b0b0a0a090908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56606d7884919d9791847b6e6960585045413a312b27201b16120e0907050200000003050609101c28343f4a546875828f9ba8b5c2cedbd6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000006121f2b37434e586875818e9ba8b4c1cecfc2b5a99c8f827669544a3f34281c100300000000000000000000000000000000000000000000050c151c232830363b42464b515356565e61636465666869686766656463605c555653504a454039352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c23282d3337394045474950535558545c6061636566676768696968676666656463615e575a585553504a4645403a38342e28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141c23282e34383c43474a505356535b60616365666768686968686766666563615e565a5854524d4847423c38342e28231d150c080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d352b21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151517171717171717171717171717171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000030a10161a1c1d20202020202020202020202020181715110c06000000000000000000000000000000000000000000000002090e1114141f2020202020202020202020202020201c13120f0b0600000000000000000000000000000000000001070d111314181817171615151413110d080b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44515c66707d899391857b6e695f574e463f352f281f1b150f0a05020000000000000000060b1218222b3844505c667783909daab6c3d0ddd5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000815212e3a47535f6a7885919eabb8c4d1cbbfb5ab998c7f7366594c402e23170b000000000000000000000000000000000000000000000000030a11171f252a313639404546494c52545658595a5b5c5b5a5958575653514b4946443f38352f29241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c11171b22272b2f34383a3f4446484b4a5153555758595a5b5b5c5c5b5a5a5958575654524d4d4b4946443f3a38342e2c28231c18120c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c3237383f4446494950535456585a5a5b5c5c5c5b5a5a59585654524d4e4b4746413b3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000003080c0e0e1313131313131313131313131313131313100605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000050d14191e20212b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000040c13181d20202524242323222221201d1919171514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2834404a54606b75828f877d70695f574d453d3429241e160d0a04000000000000000104080d11171d2329343c4653606d7985929fabb8c5d2ded6cabfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000915222f3c4855626f7b8897a1adb9c6d2c7bbaea399897c706356493d302316060000000000000000000000000000000000000000000000000000060c141a1f252a2e34383a3d4146474a4b4c4d4e4f4f4e4d4c4b494645403c3a38342e29241d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b11171b1f23292c2d3337393b3f404446484a4c4d4d4e4f4f4f4e4e4d4c4b4b4a474642413e3c3a38342e2c28231f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f272b2e34383a3c3f444647494b4d4e4e4f4f4f4e4d4d4c4b4a474642413e3b3936302e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3030303030303030303030303030302f2c2721191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e2020202020202020202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b20202020202020202020202020202020201c13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000030d161f262d3235363939393939393939393939393932312e29231b120900000000000000000000000000000000000000050e171f252a2d2e38393939393939393939393939393939362d2b28221c140b0200000000000000000000000000040d161d24292c2d32313130302f2e2d2c2924262422211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424f59616e7b8680736b60574d453b332b2219130c040000000000000305070d1113191b22272f343d46505a63707d8a97a2adbac6d3dfd3c6baaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000004101c2834404b5465727f8c98a9b2bec9d2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000003090e141a1d23282c2d3036393b3d3e3f4041424241403f3e3c3a38342e2d2b28231c18120d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f22272b2d2f2e34383a3b3d3f4041414242424241403f3f3e3d3b3a3630312f2d2c28231f1c1812100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10151b1c23282b2d2d3337393b3d3e4041414243424141403f3f3d3b3a3630322e2d2a25211e1a15100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242423221f1b160f070000000000000000000000000000000000000000000000000000000000000306080913131313131313131313130b0b09050100000000000000000000000206080813131313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000030c17202930363a3b45464646464646464646464646464646433938332d261d140a000000000000000000000000010c161f282f35393a3e3e3d3d3c3c3b3a39352f33312e2d2a26201f1c18120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d46535f69707d786c60594f453c332921191008010000000306060b0f1213181d2024292d333940454f58616c75828f9ca9b3becad6dfd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000006131f2c3845515c6676828f9ca9b5c2cfd0c3b6a99d908376675d5145392c1f1306000000000000000000000000000000000000000000000000000000000003090e12181c1f20252a2d2e3031323335363534333231302d2c2823201f1c17110c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c1013171b1f202223282c2d2e3032333434353636353433333231302e2d2a252522201f1c1713100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2022272b2d2e30323334353536353534333332302e2d2a252521201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171615130f0a040000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020181715110c06000000000000000003090e1214152020202020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000b151d252b3034353939393939393939393939393939393939362d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000010c17222d363f454a4b5353535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000000000000000000000000000000000005101c26313a434a4e50535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000b151e29323b424647525353535353535353535353535353534f46443f382f261c1106000000000000000000000007131d28313a4045474b4b4a4a49484847454141403e3b3a36312d2c28231d1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36424d57616c706c665b50473d332a21170f07000305060b101213171b1f2024292c3035383f444b5159606a717e8a949eaabbc5cfdbdccfc2b5a99c8f827669554b4035291d1104000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ccc0b6ac9a8d807367554b4035291d10040000000000000000000000000000000000000000000000000000000000000000070c101313191e2021232526272829282726252423201f1c181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181c1f202224252627282829292827272625242321201e1a18161312100c0604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213171b1f2021232527272829292928272726252321201e19181414110e0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a09090703000000000000000000000000000000000000000000000000000000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2524211d181109000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f434446464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000008121d272f373c40414646464646464646464646464646464646433937332d261d140a0000000000000000000000000000000000000000000000000000000000000000000005111d29343f48505658606060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60606060606060606060606060585651483f34291d110500000000000000000000000000000007121c27303b444d52545e6060606060606060606060606060605c53504a42382d22170b00000000000000000000010d18242f3a434b51535857575656555554514c4e4c4a4846423d3a38342e2b26201b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1a26313b45505a6164605b544a3f352b21180f06060b0f1213171c1f2022272b2d2f35393a41454950555c606b707c86929fa6b0bbcdd7e1d4c8bcb1a7988b7f7265584c3f2f24180d01000000000000000000000000000000000000000000000000000a1623303d495663707c8998a2aebac6d3c8bbafa49a8a7d7063574a3d2f24180c00000000000000000000000000000000000000000000000000000000000000000000000406080e1114141718191a1b1c1c1b1a1918161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1012131517191a1a1b1c1c1c1b1b1a191818171414110e090907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131416181a1b1b1c1c1c1b1a1a1918171414110e0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393939393939393932312e29221b120900000000060f1820262b2e2f393939393939393939393932312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f5153535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000060f1a242f3941484d4e53535353535353535353535353535353534f46443f382f261b11060000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000060f18232e39424d565e616b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b544a3f33281c0f0300000000000000000004111d2935404b555d6065646463636261605d555b595755534d4a4645403937312b262019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e4850555753504a42382d23190f0c1012171b1f2023282b2d2d3337393b4045474c52535b60676d737d859298a2aeb8c1ccdfdbd1c4b8aca095877b6e6154483b2e2115070000000000000000000000000000000000000000000000000005121e2a36424d576673808d99aab4bfcad2c6b9ac9f93867a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0e0f0f0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0e0e0f0f0f0f0e0d0c0c0b0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0e0e0d0c0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646463e3d3a342d241b11060000030e18212a31373a3b46464646464646464646463f3e3a352d251b11070000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e6060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000030c17212c36414b53595b60606060606060606060606060606060605c53504941382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797979797979797979797979726d62564a3d3124170b00000000000000000000000000040d18222834404a545e696e78797979797979797979797979797979766c665b5044382b1f12060000000000000000000613202c3945515d676d717170706f6f6e6d6769686664615f575653514b47433c37312a251e170e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c363e44494a46443f382f261c1112181c1f22272b2d2e34383a3c3f4446484b5153565d60656c71797f879297a2aab4bfcad3ddd4c8bcb1a79d908377695e53463a2d211407000000000000000000000000000000000000000000000000000714212d3a46535f697783909daab6c3d0d0c3b7aa9d908477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343c43474953535353535353535353534b4a453f362d22180c01000915202a333c42474853535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e221509000000000000000000000000000000000000000000000000000000000a151e29333e48535d64686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682868686868686868686868686867e7265584b3f3225180c000000000000000000000000010c161f2a343c44515c666e7b8586868686868686868686868686868682786c605346392d2013060000000000000000000714202d3a4753606d797e7e7d7d7c7b7b7a78767473716e696763605c54534e47433c363029201910090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242c33393c3d3938332d261d141b1c23282c2d3337393c3f44464949505355555d6064686d72787e848c9299a2a9b3bcc5d0dcd4cbc3b8aca0958b7e7265574d42362a1e120500000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9c6d2cabeb3a99a8d807467564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000010507070f0a0a080400000000000000000000000000000000000000000306131313131313131313131313131313131311110e0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709090a0b0b0c0b0b0a09090706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0b0b0c0b0b0a090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a0b0c0c0b0b0a090806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060606060606060585650483f34291d1105020e1a26313c454e53556060606060606060606060595751493f35291e12060000000000000000000000000000000000000000000000000000000000000000000000101d2a36434f5b6771777979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000006111c26303b45505a646f747979797979797979797979797979797979766c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393939393939393938b7e7265584b3f3225180c00000000000000000000000007131d28313c46505a606d7882909793939393939393939393939991847a6d665b5044382b1f1206000000000000000003101c28343f4a5464717e8a8a8a89898888878583817f7d7b7773706d66625f58534e46413a322b221b130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30312d2b28221c1c1f272b2e34383a3f4446484a505355535b606265676d71757a7f848a91969fa3abb3bcc5ced7d5cbc3b9afa59d9083786c6053463b31251a0e0200000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbbc8d2c6b9ada197897d7063564a3d3024190d01000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b171614100b0500000000000000000000000000000000060b101220202020202020202020202020202020201e1d1b17120b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080d11131415161717181918171716151413110d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608060b0f1213151617171819181717161513120f0b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131414151617181818181717161413120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c65625a50453a2e21150906121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a778386868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000040e17232e38424d57616c7481868686868686868686868686868686868682786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000071118242f3a434e58616c74808d949fa99f9f9f9f9f9f9f9fa69f92877d6f685e544a3f33281c0f03000000000000000006121f2c3844505c6675818e9797969695949792908e8c8a8884807d79756e6a625f58524c443d342d251d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324201f1c1c22282b32373940444649505355545c606265656c6e72757a7d81868c91969ea1a8afb5bdc5ced7d7ccc3b9b1a79e93897c6f665b504438291f1409000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0ccd1c5b8ab9e9285796d6053463a2d2013080000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021282423201c17100800000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e06000000000000000000000000000000000000000000000000000000000000000000000000000000000104060a0f12151518191d2021222323242525252423232220201d18181514120e090604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515171c1f202223232425252524232322201f1c171515120f0a05030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517181c1f20212223242425252524242321201f1b17171413110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a767979797979797979797979716c62564a3d312417070814212e3a47535f6a767979797979797979797979726d62574a3e312518080000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919393939393939393939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000020c162028343f4a545f69717e8a93939393939393939393939393939392857a6e655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9acacacacacacaca5988b7e7265584b3f3225180c00000000000000000000050e19232935414b555f6a717e8a929da6b0acacacacacacb2a89e948c7f726b60564c42382d22170b0000000000000000000713202d3a4653606d7985929fa3a3a2a2a9a19e9c9b999796918d8985817c756f6a615e564e463f372f261d130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617131b1d262d33383c43474a5153535b606265666d6f7275797b7e82868a8e92989da0a8acb2bbc0c7cfd7d1cbc2bab1a79f958e81756b60544a3f3328170d0300000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adbec7d2c9bdb2a99a8e8174665c5044382c1f120600000000000000000000000000000000000000000000000000000000000000000003090e161e25292d2e3531302d28221a12080000000000000000000000020c141c23282b39393939393939393939393939393939393836332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141a1f21222524292c2d2f3030313232323130302f2d2c29242522211e1a1413110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1f212222282b2d2e2f303131323231302f2e2d2b282222211f1b13120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e21212423292c2d2e2f2f303132323131302f2e2d2b27222321201d1914120f090401000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c86868686868686868686867e7165584b3e2f24180c0815222f3b4855626e7b86868686868686868686867f7265594c3f3024190d0100000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000008131e28323a44505c666e7b85929fa59f9f9f9f9f9f9f9f9f9fa79d928a7d70685e53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9b1a5988b7e7265584b3f3225180c000000000000000000030c17202b353d45515d676e7c86929fa4aeb9b9b9b9b9bfb5aba1968f82776c60594f443a2f261c11060000000000000000000a1623303d495663707c8997a2adb0afaeb3adaba9a7a6a8a09d9a98928e87817c756d686058514941382f251c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108101920272b2f383f44464e54545c6064656c6f7275797c7f8285888b8f92989b9fa2aaacb2b9bdc4cbd1d5cfc6bfbbb0a8a0959083796d60594f42382d221705000000000000000000000000000000000000000000000000000b14202d3a46525e6975828f9ca9b2bed0d2c5b9ada196897d7063544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000060b141a20283035393a423d3c39332c241a0e04000000000000000000000a141e262e3438464646464646464646464646464646464644433f39322a20160b0000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021262b2e2f322f35393a3c3c3d3e3e3f3e3e3d3c3c3a39352f322f2e2b2621201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f20262b2e2f2d3338393b3c3d3e3e3f3e3e3d3c3b3938332d2f2e2b26201f1b17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312f34383a3b3b3c3d3e3f3f3e3e3d3c3b3937332d302d2c2924211f1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869293939393939393938e817467554b4035291d100613202d394653606c79859293939393939393938e817568564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaacacacacacacacaca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000006101925303a444f59606d78839098a2aeacacacacacacacacb4aaa0958d80746b61564c41382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000a151e29323d47515b606d79849198a2aeb6c0cbc6ccc4bbaea39991847a6d655b50473d32281d140a00000000000000000006121f2b37434e586774808d9aa9b3bebcbbbeb9b8b6b4b2b2acaaaaa29f9a938e87817a6f6a625b534a41372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222b32373e424a5053586062666d7075787c7f8285888c8f9297989c9fa3aaacaeb4b8bdc3c9ced5cfc9c3bdb5aea69f9690837a6d675d51473d2f261c110600000000000000000000000000000000000000000000000007121d28333f4a54616e7b87939facb9c4cfccc0b5ab9e9184796d6053463a2e23170c00000000000000000000000000000000000000000000000000000000000000020a11171f252a323a4146474e4a49443e362c20160c02000000000000000006111c2630383f445353535353535353535353535353535353514f4b443c32281d12060000000000000000000000000000000000000000000000000000000000000001070c10161b1e24292c2d31373a3c3f4141454748494a4a4b4c4b4a4a4948474540413e3b3a37312d2c29241d1b16100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c12181c22282b2d31373a3c3f3f444648494a4a4b4c4b4a4a494846443f3f3c3a37312d2b27221b18120c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d31363a3b3d404045474748494a4b4b4b4b4a4a494746443f3f3d3a39352f2e2b26201d18130d080200000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667683909c9f9f9f9f9f9f9d908377675d5145382c1f1306121f2b3744505b6576828f9c9f9f9f9f9f9f9e918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000030d18222935414c56606b73808d959faab3beb9b9b9b9b9b9baaea2989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd2cbbeb1a5988b7e7265584b3f3225180c000000000000000006111c26303b444f59626d75818e96a0aab4bfc8d2cfc4baafa59f92877c6f685d53493f342b20160b020000000000000000000815212e3a47535f6a7784919eaab7c4d0cfc9c6c5c3c1bfbdb8b7b4aeaca49f9a938e847c726d645d534940362c22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e2429343d434750545b60646a6f74797d8285888b8f9297989b9ea1a9a8acaeb4b8babfc6c8ced4cfc9c4beb9b2aba39f9490847a6e685e554c41352b1d140a000000000000000000000000000000000000000000000000000c18232e3844505b66737f8c99a4afbbc7d4c7bbafa4998c8073665c5044382c1c1106000000000000000000000000000000000000000000000000000000000000070b141b222730363e444c52545b575550483e32281e130800000000000000000b17232e38424a505f606060606060606060606060606060605e5c564e44392e23170b000000000000000000000000000000000000000000000000000000000000060b12181d1f272c2f35393a3e4347484b4d4c5254555656575858585756565553514b4d4b4847423d3a39352f2b271f1c18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292d3338393d4347484c4a5053555656575858585756565553504a4c4847433c3937332d28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d23282c2f35393a3e4246484a4d4b51535455565757585858575756545350494c4a4745413b3a37312c29241d19140d08020000000000000000000000000000000000000000000000000000000000000004101c2834404a546773808d9aa6acacacacac9f92867a6d6053473a2d2014070f1b27333f49536673808d99a6acacacacaca096877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4c6c6c6c6beb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000010b151f2a343c46525e68707d87939fa7b1bcc5d0c6c6d0c4bbafa59f92867c6f675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f17232e38424d56606b727f8c939ea8b2bcc6d0d1c6bcb2a89e938b7f726a60564c41382d22190e05000000000000000000000915222f3c4855626f7b8896a0acb9c5ced0d2d2d1cfcecec8c5c4bfbab6afaca49f9691877f746f645b52483e342b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720282f353f464e545a61666c71777c80858a8e9297989b9fa2a9a8abadb3b5b9babfc5c7cad0d2cec8c4bdb9b3ada8a099928c827b6e685e564c433a2f23190b0200000000000000000000000000000000000000000000000004101c2834404b54606c7884919eabb5c0ccd2c6b9ac9f93877b6e61544a3f34281c0a0000000000000000000000000000000000000000000000000000000000030b12181d262d333b424650565e616864615a50443a3024190d0400000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6760564b3f33271b0e00000000000000000000000000000000000000000000000000000000020a11171d24292c32383a4145474a4e5355585a565d606263636465656564636362605d555a5855534e4a4745413a37322c29231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151d24292f35383f44464a4e535559545b606162636464656564636261605b545855534e4946443f38342e28231c150c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191f252a2e34383a4145474b4d5354575a555c60616262636465656464636261605b53595654524c4847433c39352f2a251e19130c04000000000000000000000000000000000000000000000000000000000000000c18232e3e4a5764717e8a97a9b3beb9bbafa399897c6f6256493c2f2316080b17222d3d4a5764707d8a97a8b2bdb9bdb2a896897d7063564a3d3023170900000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afb9c2ced7ddd2c7bdb2a99e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000000040d182128343f4a545e686f7d87929fa5afbac3ced7cbbfb4aaa0968f81756d62584e443a2f261b10070000000000000000000005111e2a36414d5666727f8c99a8b2bdc0c2c3c5c6cad0d1d2d4d1d0cac7c0bbb6afa8a199928b81746d635a50473d31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a4145515860626c70787e83888d92979b9ea1a9a8abadb3b5b8b9bec2c5c7cbd1d2cec9c5c3bcb8b2ada9a19e9691877f786e695e564d443a31281e1007000000000000000000000000000000000000000000000000020c17202c3845515c66717e8b96a1acbdc7d2c8bcb1a79c8f8275695e5342382e23170c00000000000000000000000000000000000000000000000000000001070c151c23282f383f444d525a61686d75706c61564c4135291f160c01000000000006121f2b3844505c6676797979797979797979797979797979797772675c4f43362a1d11000000000000000000000000000000000000000000000000000001080b141c22282f35393d43484c525457585f62656769686d6f6f707171727171706f6f6d67696765625f575754514b47433d38342f27221b140b07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f272f353940454a505356585f626568666c6e6f707171727171706f6e6c666865625f5856535049444039342e271e18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e25293136394045464c525458575e61646669676d6e6e6f707172727171706f6e6c65686663605d5655534e4745413a363029241e160e080200000000000000000000000000000000000000000000000000000000000715212e3b4854616e7b8797a1adb9c6c0b5ab988b7f7265584c3f2f24190d0614212e3b4754616e7a8796a1adb9c5bfb2a6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0cbd4e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000000000010c161f2a333c44505c666e7a859199a3afb7c1ccd5ccc3baaea39891847a6d605b51463d32281d140a00000000000000000000000714202d3946525e687683909da9b2b3b4b5b7b8babec0c4c5c9ced3d6d2ccc7c0bbb2aba39f938c7f736c61594f433a2f24180d03000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c525b626a6f767d838a90959a9ea1a9abadb3b5b8babec2c5c6cacfd2d1cec9c5c4bdb9b7b1aca9a19e97918c847c726c665e574d443b32281f160c0000000000000000000000000000000000000000000000000008131e2935414b55606d7984919ea8b2bdd0d1c5b8aca0958a7d7063574d4230261c11060000000000000000000000000000000000000000000000000000030b12181e272e343c414950575e616c717a817e70685d52453e31281d130700000000000713202d3a4653606d788686868686868686868686868686868684776b5e5144382b1e1100000000000000000000000000000000000000000000000000040c13191d262d33394045474f54565d6064676a6f727476787a7b7c7d7d7e7f7e7d7d7c7b7a787674716e6a6764605d55544e47454039332d261d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a313940454b51545b6063676a6f727477797b7c7d7d7e7f7e7d7d7c7b797774726f6a6763605b53514a4440393029241d160d0500000000000000000000000000000000000000000000000000000000000000000000000000060d151d242930353b42464b5153565d606569696e707376787a7a7b7c7d7e7e7e7e7d7d7c7a79777572706d6865625f5854514b46413b3530282019140d05000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919eabb8c4c1b4a89b8e817568554c4135291d110714202d3a46525e697884919eabb8c4c2b5a89b8f827568564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000020b17212935404b555f6a727f8b939ea9b2bdc7d2ddd7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000007131d28313c46505a606d78829097a1abb5c0c9d3cec3baafa59f92867c6f685d52493f342b20160b0200000000000000000000000814212e3b4754616e7b87939fa5a5a6a7a8aaabadb3b3b7b9bdc4c7cdd5d8d2ccc4bdb5aea59c928a7e716b60554b4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28313b444c565d606d727c838a90959da0a7abadb3b8b9bec2c5c6cad0d1d1cfcac6c5c2bdb9b7b2acaba7a09d96918b857f796f6a605b544d453b322920160d04000000000000000000000000000000000000000000000000030c1925303945515d67727f8b96a1acbac4cec9bdb2a89d9083786c6053463b3120150a0000000000000000000000000000000000000000000000000002080d151d2429303940444e535b60696e757e858e857a6d60594f433a2f24180d03000000000713202d3a4653606d798693939393939393939393939393939184776b5e5144382b1e11000000000000000000000000000000000000000000000000060d161e24292f383f444b5153596063686d7174787b7e808285878889898a8b8b8b8a898988868482807e7b7874706d6762605853514b443f382f29241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930363e434b51555d60666c7074787c7f8183858889898a8b8b8b8a8989888583817f7b77736f6c65605c54514a423d352f281f170f0700000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353a41464d53555c6064686d7175787b7d808285868788898a8a8b8b8b8a8a89878684827f7d7a76726e6a65605d55524c46413a322a251e170e0700000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2c4b7aa9d918477675d5145392c201306111e2a36424d566875828f9ba8b5c2c4b8ab9e918578695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000a141d29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000071118242f3a434e58616c74808d949fa9b3bdc7d1d0c6bcb2a89e938b7f726a5f564c41372d22190e040000000000000000000000000b1825323e4b5865717e8b9a989899999a9b9d9fa2a9a7aaacb2b7bbc2c9cfd6d8cfc6bfbbada49f92867d6f675d51453c31261a0e050000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a434c565e686d757f8790959da0a7acb1b8b9bec5c6c9cfd2d2cfc9c5c4c1beb9b8b5b2acaba8a19e9995908b847f79726d676058504a423b332920170e04000000000000000000000000000000000000000000000000000b151e2a36414c56606d7a85929ea8b2bdccd2c5b9aca0968a7e71655b5044372b1f1203000000000000000000000000000000000000000000000000040c13191f272f353d424a51575f656c727b828a92978e81746b61554b4135291f150b010000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000020a11171f282f353d424a50555d60656b6f757a7d8184888b8d8f9196959696979898989796969596918f8d8b8884817d7a746f6a65605c555049413d352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222a323b41464f555d60676d72787d8084888c8e9092989596979798989796959892908e8b8884807c78716d66605c544e45403a3129211910080000000000000000000000000000000000000000000000000000000000000000050b141c2228313940454c52575e61676d70757a7e8285878a8d8f929794959596979898979796959992918e8c8986837f7b77716d67615e56524c443e363029201910090000000000000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99abb5c0c6b9ac9f93867a6d6054473a2d2114070e1925303f4c5966727f8c99abb5c0c5b9ada196877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000006111c262f3b45505a606d79839098a3aeb8c1cdd6ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000050e19232935404b555f6a717e8a929da6b0bbc4cfd6cabfb4aaa0968e81756d62584e433a2f251b1007000000000000000000000000030f1c2936424f5c6975828b8b8b8c8c8d8d8f909297969a9ea0a8abb0b9bec4cdd6d8d1cbbfbaaea3989185796d60574d42372b21160b000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b555e686e7a828c92999fa7acb1b8bcc3c6c9cfd2d0cac6c5c1bdb9b7b4b3adaba8a8a19e9a96918d88837e79726d67605d554e443f382f2921170e050000000000000000000000000000000000000000000000000007121d27303946525e6873808c97a1adbac4cec8bcb1a79e9184786d6053493f33271b0f030000000000000000000000000000000000000000000002090e161e2429313940454e545c606a6e777f868f949e9d938a7d70675d51453d31271d12070000000713202d3a4653606d798693a0acacacacacacacacacacaa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030b141c2228313a41454f545b60676d72777c81868a8e9196989a9c9ea1a9a2a3a4a4a5a4a4a3a2a8a19e9c9a9896918d8a86817c77716d67605b534f45403a3127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c343c444c525961676d73797f84898d9196989b9d9fa2aaa3a4a4a5a4a4a3aaa29f9d9b9896918d89847e79726d666058514b433b332b221a1208000000000000000000000000000000000000000000000000000000000000070e161d262d333e434b51565e61696e74797d82868b8f929797999c9ea1a9a1a2a3a4a5a5a4a4a3aba39f9e9b9999928f8c88837e7a746e68615d565046413b322b221b12090100000000000000000000000000000000000000000000000000091623303d495663707c8999a4afbbc7bbafa49a897c706356493d30231608091623303d495663707c8999a4afbbc7bdb2a9978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000040d17222d38424d57616c74808d95a0aab4bfcad3dfd6ccc4baaea2989083786d60594f443a30241b100600000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000030c17202b353d45515d676e7c86929fa4aeb8c2cdd5cbc3baaea2989184796d605b51463c31281e130900000000000000000000000000000b1825323e4b5865717e7e7f7f7f7f8081828485878a8d91969c9fa6adb3bbc4ccd5dcd7cbbfb4aaa1978d8073695f53463d33271c1003000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545d676e7a848f939fa3abb1b8bcc3c8ced2d0cac6c5bebab8b4b2adaba7a9a19e9b9896918d8984807b77726d67605d55514b433c332d261d170f0500000000000000000000000000000000000000000000000000030d18232e39424e58616d7a86929fa9b3becccfc7b8aca0958b7e71665c5041382d22170b00000000000000000000000000000000000000000000060b141a202830353d434b515860666d737b838b92989ea6a59e9184796d60594f43392f24180c0400000713202d3a4653606d798693a0acb9b9b9b9b9b9b9b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000040c151d262d333d434c525960666c71797e83898e92999a9ea1a8a7a9abadb2afb0b0b1b2b1b0b0afb2adaba9a7a8a19e9a98928e89837e79716c656059514b433d332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e464e565e616b707980858b91969a9ea1a8a7aaacaeb4b0b0b1b2b1b0b0b4aeacaaa7a8a09e9a95918b847f786f6a605d554d453d342c241a11080000000000000000000000000000000000000000000000000000000007101920282f383f444f555d60686d737b81858a8f92989c9ea1a9a6a9abadb3aeafb0b1b1b1b1b0b0b4aeacaaa8aba39f9c9895908b86807a736d68615a524c443d342d241b1309010000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6c0b6ac998c7f7266594c3f3025190d0714212d3a4754606d7a86939facb9c6bfb3a6998c807366594d4031261a0e020000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000010c161f28333f4a545e69707d8a929da7b1bcc6d0dcd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000a151e29323d47515b606d79839198a2aeb6c0cad4cec3b9afa59f92867c6f675d51493f342a1f160c0100000000000000000000000000000b1724313d4a56626c71727272727273747577787a7d80848990949ea1a9b2bac4ccd5dcd1c6bcb3a99f92867b6e61594f44382c1f140900000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d798390969ea5aeb5bdc2c8ced4cdc8c5bebab8b3adaba8a8a19e9b9897928f8b8884807c78736f6a65605c55514b4540393128221c140b0500000000000000000000000000000000000000000000000000010b151f2834404b545f6a74808d98a2aebbc5cfc7bdb0a69d9183786d60544a3f2f261b11060000000000000000000000000000000000000000020a11171f252a323a41464f555d606a6f787f8690949fa2aab0ada1968d81746b60554b40352920160a00000713202d3a4653606d798693a0acb9c6c6c6c6c6c6c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000050d161e272f383f444f565d606b70787e848b90959b9fa3ababadb2b3b5b8b9bdbcbcbdbebebebdbcbcbdb9b7b5b3b2acabaaa39f9b95908b847e786f6b605d554e443f382f261e150d040000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4850585f686e757d848c92979ea0a8abacb2b4b6b8babfbcbdbebebebdbcbfbab8b6b4b2acaaa7a09d96918c837c746d675e574f473e362c231a11070000000000000000000000000000000000000000000000000000071019222b323a424a505961676d727a80868e92979b9fa3aaabadb3b3b5b8b9bebbbcbdbdbebebebdbdbfbab9b7b5b5afaca9a79f9d98928d86807a716c615e564e463f362d251b13090000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3c1b5a89b8e827568564c41362a1d110613202c3945515d677784919daab7c4c2b5a99c8f827669574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008131e28313a44505b666e7b85929ea4aeb9c3ced8dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0006111c26303b444f59626d75818e95a0aab4bfc8d2d0c6bcb1a79e938b7e716a5f554b41372d22190d040000000000000000000000000000000915212e3a45505a626565656565666667686a686d7074777c838a9197a1a8b2bac4cfd9d8cfc4baaea3998f82756b6054483b31261a0e000000000000000000000000000000000000000000000000000000000000000000000a15202a36424d57606d78828f95a0a8afbbbfc6cfd4cfc9c3bcb8b3adaba9a29f9b9796918e8b8885827f7b78746f6a66625f5853514b454039352f271f17110a02000000000000000000000000000000000000000000000000000007121d27313945515c666f7c86929faab4bfcdcbc0b5ab9f948a7d70665c5042382e1d140a0000000000000000000000000000000000000000060b141b222730363e444c525960676d737c838c92989fa6aeb4bcb2a89f93887d70675d51453d32271b0f03000713202d3a4653606d798693a0acb9c6d2d2d2d2d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000050e171f283039424a505960686d757d838b91969da0a7acaeb4b7b9bdc0c2c4c5c9cfc9cacbcbcbcac9cfc9c5c4c2c0bdb9b7b4aeaca7a09d96918a837d746d6760585049413830271f160e04000000000000000000000000000000000000000000000000000000000000000007111a242d373f49515a616a6f7a828a91969ea2a9acb2b7b9bdc1c3c5c6cad0cacacbcbcad0cac7c5c3c1bdb9b7b1aca8a19e95908780796e69605950483e352c23191006000000000000000000000000000000000000000000000000060f19222b343d444c545b606b70797f858d92989fa2a9acaeb4b8b9bec0c2c5c6c9cfc8c9cacbcbcacad1cbc7c5c4c1c0bbb9b6b1abaaa29f98928d857e756e68605850483f372d251b1209000000000000000000000000000000000000000000000004111d2935414b556774818e9aa7b4c1c4b7ab9e918478685e5246392d201307111d2935414b556874818e9ba7b4c1c5b8ab9e928578695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000060f19242f3a434e58606c78828f97a2adb6c0cbd5dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c060f17232e38424c56606b727f8c939ea8b1bcc5d0d6cabfb4aaa0958e81746c62584e433a2f251b10070000000000000000000000000000000005111d29343f4850565858585859595a5a5c565d6063676a6f767d859196a0a8b2bdc7d1dcd7cbbfb4ab9e94897d7063574d42362a1d12070000000000000000000000000000000000000000000000000000000000000000030f1b26323a46535f6973808d949fa7b1bac1cbd1d4cdc4beb9b1aca9a29f9a97928e8b8884817e7b7975726e696762605855534e46454039352f29241d150d0b050000000000000000000000000000000000000000000000000000060f18242f39434e58606d79839099a3aebcc5d0c7bbafa3998f82766b61544a3f30261c0b02000000000000000000000000000000000000030a11171d262d333b424650565d616b7079808790959fa3aab0babec4bbafa49a9184796d60584e43382b1f1306000713202d3a4653606d798693a0acb9c6d3dfdfddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000040d172029313a424b545b606b6f7a818990959ea1a8acb1b9babfc4c5c9cfcfd1d2d5dad5d5d4d3d4d5d6dad5d2d1cfcec9c5c4bfbab8b1aca8a19e95908981796f6a605b534a4239312820160d04000000000000000000000000000000000000000000000000000000000000050e19232c363f49515b626c717c848f939ea1a8adb3b9bdc4c5c9ced0d2d3d6dbd6d3d2d2d4d7d6d3d2d0cec9c5c3bcb8b2ada7a099938d837b6f6b615a50473e352b22180d0300000000000000000000000000000000000000000000050f18222b343d464e565e666c737d848c92979fa3aaadb3b9babfc5c6c9cfcfd1d2d5d4d2d2d1d0d0d1d2d4d7d3d2d1d1cbc7c5c2bcb8b4aeaaa29f97928a827a6f6a625a51493f372d241b100700000000000000000000000000000000000000000000010d18242f3e4b5865717e8b98aab4bfc5b9aca196877a6d6154473a2e2114070d18242f3f4b5865727e8b98aab4bfc6b9ada297887b6e6155483b2e2215060000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000030c18212935414c56606a737f8c949fa9b3bec8d2ddd7cdc5bbafa39991847a6d605a50453c30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0d182128343f4a545e686f7d87929fa5afbac3ced5cbc3baaea2989183796d605a50463c31281d12090000000000000000000000000000000000010c17222d363f454a4b4b4c4c4c4c4d4e4f4c5254575860626c707b849196a0abb5c0cbd7dcd1c6bdb0a69c8f8276695f5346392e23180c000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58616e7b86929fa6b0b9c3ccd7d4cac2bbb3ada7a09d97928d8985817e7b7874716e6c6565625f5756544e4847433c38342e2924222323201c160f08000000000000000000000000000000000000000000000000040e18212935404b55606a73808d95a0abb4bfcec9bdb2a89f92877c6f62594f42382e1e140a000000000000000000000000000000000001070c151c23282f383f444d525a61686d747d848d9399a0a7aeb4bcc2caccc0b6aca0968d80736a6054473b2e221508000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000030c161f29323a434b545c666c737c848e939da0a7adb2b8bcc3c7cbd1d2d5d6d3d2cfcdcac9c8c7c7c7c8c9cbcdcfd2d3d7d5d2d0cbc7c3bcb8b2aca79f9d938e847c726c655c544b433a32281f160c0300000000000000000000000000000000000000000000000000000000020b17202b353e48515b626d727e8691969ea5acb2b9bec5c9ced2d5d6d3d2cecbd0cac6c5c6c7ccd2ced1d2d5d5d2cec8c4bdb9b1aba49f9590857d716c61594f473d342a1f150b010000000000000000000000000000000000000000040e17212a343d464e5860686d78808891969fa2a9aeb4babec5c7cbd1d2d5d2d1ced2ccc8c6c5c4c3c4c5c6c8ccd2cfd2d3d6d3d2cdc8c6bfbab4aea9a19e948f847c716c625b51493f362d22190e05000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6bdb2a8968a7d7063574a3d302417090716222f3c4955626f7c8898a3aebac7beb3a9978a7e7164574b3e2e23170b0000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000b151e2a333c45525d686f7c87929fa6b0bbc5cfdbdbd0c5bbb0a69f92877c6f685d52483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c161f2a333c44505c666e7a859199a3afb7c1ccd5cec3b9afa59f92867c6e675d51483f342a1f160c0000000000000000000000000000000000000006111b242d343a3d3e3f3f3f3f3f4041424145474a4e545961696e7b849199a3afbbc3ced9d8cfc1b9ac9f93877b6e61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a75828f99a3aeb8c2cbd5d4cac2b8b0a9a19e95908b85817d7975716e69686562605b5355534d4948433d3a37312c28262b2e2f302f2c27211a110800000000000000000000000000000000000000000000030c16202a333c45515d676f7c87929fa7b1bdc6ccc4b9aca1968d80736a5f54473e30261c0c0200000000000000000000000000000000030b12181e262e343c414950575e616c717a818991969fa4abb1babfc6cfd0c7c0bbb2a89f93877c6f6256493c2f231609000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000020b151e28313a444c555d666d787f8791969ea5acb1b9bdc4c8ced3d7d6d3d0cac6c5c2c0bebcbbbabababbbcbec0c3c5c7cbd1d3d6d6d3cdc8c4bdb9b1aba59d9691877f776d665d554c443a31281e150a000000000000000000000000000000000000000000000000000000000a141d29323d47505a626d727f8a9298a1a8afb9bdc4cacfd5d9d4d0cac6c5c1bebbbfbab8b9bbc0bec1c5c6c9cfd4d8d4cfc9c3bdb5afa7a09792877e716b61594f463c31271d120700000000000000000000000000000000000000020c162029333c464e58606a6f7a828c939aa1a9adb3babfc6cad0d3d5d2cfc9c5c4c1bfc0bbb9b8b7b7b7b8b9bbc0bfc2c5c7cbd0d3d8d4d0cac6bfbab3ada69e9691867e726d625b51483f342b20170d020000000000000000000000000000000000000000000613202d394653606c7985929facb8c5bfb2a6998c7f7366594c4030251a0e0713202d3a4653606d7986929facb8c5c0b3a69a8d807367544a3f34281c100300000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000007121d27303c45505a606d7a849199a3afb8c2cdd7ded6cabeb3a99f948c7f736a60564c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322518131d28313c45505a606d78829097a1abb5c0c9d3d0c5bcb1a79d938b7e716a5f554b40362d22180d04000000000000000000000000000000000000000009121b22292e3132323232323333342f35393a3d43474f575f696f7c87929fa7b1bcc8d4e0d4c8bbafa49a8d8073665c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88939eabb4bfcad4d7cec2b8b0a69f97918b837e7974706d6664615f5758555350494847423c3b38322e2b26222a31373a3c3d3c38332c231a0c030000000000000000000000000000000000000000000b151e28323c454f59606d79849199a3afb9c3cfc4baafa59e9184796d60584e43352c1e140a00000000000000000000000000000000070d151d242930383f444d535b60696e757e858e939ea0a8afb5bdc3cbd1ccc4beb6afa8a099928c8275685b4f4235281c0f000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000a141d27303a434c565e676d78818c9299a1a8afb8bcc3c9cfd4d9d5d0cac6c5bfbab8b6b3b1afaeaeadaeaeafb1b4b6b9babfc5c7cbd0d6d9d4cec9c2bcb8afa8a099928c81786d675d564c433930261c1106000000000000000000000000000000000000000000000000000006111b262f3a444f59616c727f8b919fa2aab2bac1c9ced6dbd6cec8c5bebab8b4b2afb4aeacacafb5b1b4b8b9bec5c7cdd5dad5d0c7c0bbb1a9a19992877d706b60584e43392f24180e0500000000000000000000000000000000000008131e28323b454e58606a6f7c848f949fa4acb2babec5cbd1d6d4cfc9c5c4bdb9b7b5b2b6afacababaaaaabacafb6b2b6b8babfc6c7cdd4d7d6d0cac5beb9b0a9a198928b7f726d625a50463d32291e140800000000000000000000000000000000000000000006121f2b3844505b6676838f9ca9b6c2c2b5a89c8f827569574d42362a1e1206121f2c3844515c667683909da9b6c3c3b6a99c908376665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0cad4dfd5ccc3baada2979082786d60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f32251818242f3a434e57616c73808d949fa9b2bdc7d1d6cabeb4aaa0958e81746c61584e43392f241b1006000000000000000000000000000000000000000000000911171d2124252525252626272724292c2d32383e454d57606a73808d95a0acb8c3ced9d8ccc0b6ac9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a5afbdc6d1dbd0c5bcb0a69f9490857e78716d6763605c5455534d4b4846443f3b3a37312e2c27211f202a343c4347484a48443d352c1e150b000000000000000000000000000000000000000007121d27303a444d57606b74808d96a0abb5c0cbc6bdb2a89e93897d70675d51463c32231a0c020000000000000000000000000000000711191f272f353c424a50575f656c727b828a91979da5acb2bbc0c7d0cfc9c0bab2aca49f96918780786d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3dededdd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000006111b262f39424c565e686d79828e939fa3abb2bac1c8cdd5dad6cfc9c5bebab8b4aeaca9a6a4a2a2a1a0a1a2a3a4a7a9acaeb4b8babfc6cad0d7dad5cdc8c1bab2aba39f938e82796d685d554b42382e23171007000000000000000000000000000000000000000000000000000b17222d38414c56606b717e87939fa3aeb4bcc4ccd5dad7cfcac3bcb8b4aeaba8a5a2aaa29f9fa4aba4a7abadb3b8bcc2c9cfd6d9d2ccc3bbb3aba39992867d6f6a5f554b40352920160c0200000000000000000000000000000000040e1924303a444d575f6a6f7d8691969fa6afb6bec4cad0d7d5cec8c4bdb9b8b2adaba8a5aca49f9f9e9d9d9e9fa4aca5a9acaeb4b7bbc2c7ccd2d9d6cfc9c1bbb2aaa39f918b7f726c62584e443b3025190e040000000000000000000000000000000000000000030f1c28333f4a546673808d99a6b3c0c4b8ab9e918578695e52463a2d201407101c2834404a546774808d9aa7b3c0c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000020b17202834404b545f69717e8b939ea8b2bdc7d1dcd8cfc3baafa59f92857b6e665c50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322519222935404b555f6a717e8a929da6b0bbc4cfd5cbc3baaea2989083796d605a50463c31281d1209000000000000000000000000000000000000000000000000060c1115171818191919191a1b191d2021272b333c454e58606d7983919da8b2bdc8d4ddd2c7b9ada1978a7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909daab7c1cfd8d6cabeb4aa9f948f827a716c65605d5553514a4846423e3b3937332d2e2b26221f1b151e28323c464e535556554f473d30271c1207000000000000000000000000000000000000091218232e39424c565f69707d88939fa8b2bdc7cbbfb5aba0968e81746b61554b40342a201108000000000000000000000000000000020b19232b313940454e545c60696e777e858f939ea1a9afb9bdc4ccd2cdc4bdb9afa8a19a938d847c736d665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d1d1d1d1d1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000040e17222d38414b545d686d7a838f949ea5afb5bdc4ccd4d9d7d0cac4bdb9b3adabaaa29f9c9a9796959494949596989a9c9fa3aaacaeb4babec5cbd1d9d8d4ccc3bdb5aea59e948f837a6d675d544a3f342822190d040000000000000000000000000000000000000000000000030f1b27333f49535e68707d879299a4afbabfc6ced6ddd4cdc5bebab1acaaa29f9b9895949892939995989b9ea1a9abb1b9bec4cdd3ddd7cdc5bdb4aba29892857c6f675d51453e32281e1308000000000000000000000000000000020c16202935414c565e696e7c859298a1a8b0bbc0c7d0d6d5cec9c3bcb8b2adaba8a19e9b99969a939291909192939a95999c9fa3aaabb0b9bbc0c7d0d6dad5cdc4bcb4aea39b918b7e716a60564c41362a20160c0200000000000000000000000000000000000000000b17222d3d4a5764707d8a97a8b2bdc6b9ada197877b6e6154483b2e2115060c18232e3e4b5764717e8a97a9b3bec6baaea298887b6f6255483c2f22150700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000a141d29323a45515c666e7b86929fa5afbac4cfd9dcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f342a212b343d45515d676e7c86929fa4aeb8c2cdd6cec3b9aea49f92867b6e675d51483e342a1f160c00000000000000000000000000000000000000000000000000000105090b0b0c0c0c0c0c0d080d1113141b212a333d45515c66717e8a96a0acb8c4cfdad5c9beb3a99c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d3dfd3c6baaea2988f82796d68605b53514b4644403b3a36312f2d2b2722211e1a1513151e26303a444e585f626360594f42392e23180c020000000000000000000000000000000009121b242834404b545e686e7b85929aa4afbac3ccc3bbaea3999184796d60594f43392f22190e000000000000000000000000000000000a141d2b353d434b515860666d727b828b92989ea6adb3bbc1c9cecfc9c1bbb2ada59d96918880796f6a605c544b4034281c1004000713202d3a4653606d798693a0acb9c4c4c4c4c4c4c4b7aa9e9184776b5e5144382b1e11000000000000000000000000020c162027333f49535c666d7a8390959fa6afbbc0c7cfd6dcd7cec6bfbab2ada9a29f9a98928f8d8b898887878788898b8d9092989b9fa3aaadb3bbc0c7cfd4ddd5cfc6bfbbafa69e959083796d665c504440342b1f160c01000000000000000000000000000000000000000000020b19232b3744505b656d7a859199a3abb5c0cad0d8dbd2cbc2bbb3ada7a09d98928e8b888786858687888b8e92979d9fa7adb2bbc2cad2dad6cfc6bdb4aaa2979183796d605a50443a3025190d04000000000000000000000000000008131e28323a46525d686e7b849197a2aab2bac2ccd2d9d6ccc4bdb9b1aca8a19e9a96918e8c89878685848484858687898c8f92989c9fa6acafb5bdc4ccd7dcd6cfc6bfbaada39f92877c6f685e52463e32281e130800000000000000000000000000020608080a0a0a0614212e3b4754616e7a8796a1acb9c5beb3a9978a7d7064574a3d2d22170b0715222e3b4855616e7b8897a2adb9c6bfb4aa978b7e7164584b3e2e23180c0a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000006111b262f3a444f59606d79839098a2aeb7c1ccd6dfd7cbbfb4aba0968e81746c61574d42382e22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584e463c3329323d47515b606d79839198a2aeb6c0cad4d0c5bcb1a79d928a7e71695f554b40362d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000104070a0f18212834404b54606c7884919ea9b3bec9d5dacfc5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a7b1bcc8d4ded2c5b8ab9f92857b6e675e56504945403a38342e2d2a2622201f1b1714120e0f171e273038424c565f6a6f706b60544a4034281e13080000000000000000000000000000000a121b242d363e45515c666d7a849197a1acb6c0ccc3b9b0a69f92877c6f675d51473d31281d100700000000000000000000000000000006111b262f3d474f555d606a6f787f8690949fa2aab0b9bec4cdd5cdc5beb9afa9a19e938e847d746d676058514b42392e23180c00000713202d3a4653606d798693a0acb8b8b8b8b8b8b8b8b7aa9e9184776b5e5144382b1e1100000000000000000000000008131e28323a44505b656d78828f95a0a7b0b8c1cbd1d9d9d1cbc1bcb4aea8a19e97928e8a8583807e7c7b7b7a7b7b7c7e8183868a8e92989fa2a9afb5bdc3cbd7dcd8d1cbc1b8b0a79f958f82786d605b51463d31281e13080000000000000000000000000000000000000000000a141d2a36424d57606c77828f97a1abb5bdc7d2dbdbd2c9c0b9b1a9a29f95908b85817f7c7a7979797a7b7e81858a90959ea1a9b0b8c0c8d1dad8cfc6bcb3a9a0958e81746c61564c41362a20150a00000000000000000000000000010d1924303a44505a616d7a839196a1a9b3bcc4ccd8d8d0cac0bab2aca7a09d96918d8984827f7d7a797878777778797a7c7f83868a8f949b9fa4abb2bac1cbd1d9d8d1cbbfbaaea39991847a6e615a50443a3024190d020000000000000000000003090e1214151616161616202d3946525e687884919eabb7c4c0b3a6998d80736653493f33271b161616212d3a46535f697885929eabb8c5c0b4a79a8d817467544b4034281c161616161616161616161616161514120f0a0300000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000040d17222d38414c56606b73808d95a0aab4bfc9d3ded6cdc5baaea3999184796d605a50453b30261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f726a60584e453b333b444f59626d75818e95a0aab4bec8d2d6cabeb3a9a0958d80746c61574d43392f241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232e3944505b66717e8b97a1adb9c6d2dfd3c7bbafa3998b7e7165564c41362a1d1105000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beced9dacdc1b4a79a8e8174695e554c443f38352f2c2823211e1a1513120f0b080d141921293039424a545d686f7c7d70665c51443a3025190d030000000000000000000000000006131c242d363e48525b606d78829096a0a9b3bec7c5bbb1a79e948c7f726a60554b41352c1f160c000000000000000000000000000000000b17222d38414f5960676d737c838c92989fa6aeb3bcc1c9cfd0cac1bbb3ada59e96918a8179706b605d554e45403930271d120700000713202d3a4653606d798693a0ababababababababababaa9e9184776b5e5144382b1e110000000000000000000000040d1925303a444f59606c77818e949fa7b1b9c2cad7dcd7cfc7c0bbb0aaa29f96918c85817d797673716f6f6e6d6e6f707174767a7e82868d92979fa3abb1b9c0cbd1d9dcd7cac1b9b1a79e948e81746d63594f433a2f24190d030000000000000000000000000000000000000006111b262f3846535e69727f8c949fa9b3bdc7d0d9dbd2c9c0b7afa79f97928b837e7a75726f6d6d666c6d6f7174797e838a91979fa6aeb6c0c8d1dbd8cec5bcb1a79d938a7e71685e52463c32261b0f0500000000000000000000000005111d2935414c56616c76828f95a0a8b2bbc5ced6d7cec6bfbaafa8a09e95908a84807c787572706e6c666b6a6a666d6d6f7276797d82898f9399a0a8afbbc0c7cfd9dcd7cbbfb4aba1968f82766c61564c4135291e1308000000000000000000060e151a1e21222323232323232a36414c566875828e9ba8b5c1c2b6a99c8f8276655b5044372b23232323232b37424d576976828f9ca9b5c2c3b6aa9d908377665c5145382c232323232323232323232323232322211f1a150e06000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000010c161f27333f49535e68707d88939fa7b1bcc6d0dbdacfc5bbb0a69f92867c6f675d51483e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f92867c6f6a5f574d453b424c56606b727f8b939ea7b1bcc5d0d4cbc2baada2979083796d605a50453c31271d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7985919eabb8c2cdd8d7cbc0b5ab9c8f8276685e5246392d201408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d6cabdb0a3978a7d7064574d433a332d29241f1c1814120e0906060a0f13191f252a333b424b545c666d7a8484786d60564c4135292015090000000000000000000000020a1117252d373f48505a636d75818e949fa8b2bbc5c7bdb3a9a0958f82776c60584e433a2f231a0d04000000000000000000000000000000030f1b27333f4953606b7079808790959fa3aab0babec5ced5cec5bebaafa9a19e938e847d746d676059514b433d342e271e150b0000000713202d3a4653606d7986939e9e9e9e9e9e9e9e9e9e9e9e9e9184776b5e5144382b1e1100000000000000000000010c161f2935414c56606b73808c939ea6b0b9c3cbd4dcd7cdc5bdb5afa69e98928c847f7a74706d676764636261616162636567676d71757a80858d92999fa7afbbc0c7cfd9dcd3cbc2b9b0a69d938c7f726b60554c4135291f150b010000000000000000000000000000000000000b17222d38414f59616e7b86929fa6b0bbc4cfd9ded3c9c0b7afa59d9590857f78716d67656261605c60616265676d71767e848f949da4aeb6c0c8d2ddd7cec3b9afa59f92857a6d61584e43372b21160b0000000000000000000000030e18212d3946525d68717e8b949fa7b1bac4cdd7d7cec5bcb4aea59d96918a837d78746f6a68666361605b5e5d545c60616266676d70767c828791969ea5afb5bdc7d1dcdcd1c6bdb2a99f948a7e71685d52453a3025190d0100000000000000060f1820262b2e2f30303030303030303f4c5965727f8c98abb5bfc5b8ab9f9285796c605346393030303030303031404d596673808c99a6b3bfc5b9ac9f9286796d6053463a3030303030303030303030303030302f2e2b2620180f060000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000007121d28313944505b656d7a85919aa4afb9c3ced7ddd5c9beb3a99f948c7f726a5f554b40362c21170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c6baaea29892857c6f695f574d444a545e686f7d87929fa5afb9c3ced7cdc2b9aea49f92857b6e675c51483e332a1f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c6673808d9aa7b1bcc7d3dcd1c5b9ac9f92867a6d6154473b3025190d010000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbafa295887c6f6255493c3027221b1812100c070c070c1013141a1e242930363d454d545c666d78828f8b7f72685e52463c31261a0c03000000000000000000020b141b2227373f49515a616c73808c939ea6b0bac3c7beb5aba2979183796d655b50463d31281d11080000000000000000000000000000000005121f2b3744505b65707d848d9299a0a7aeb4bcc2cad0d0cac2bcb3ada59e97928a817a706b605d554f4540393128231d150c030000000713202d3a4653606d788691919191919191919191919191919184776b5e5144382b1e110000000000000000000008131e28313a46525e68707d88939fa5afb8c2cbd5ddd7cdc5bbb3aba39f938f867f79726d6763605c55585655545454555658555d6064686e737a808790959da5afb5bdc7cfd9ddd4cbc1b8afa59f92877c6f675d51453e31271d12070000000000000000000000000000000000030f1b27333f4953606b75828f98a3aeb8c2cdd6e0d5ccc1b7afa59d938e837a726d66605d5555545350535455555c60646c717a828d929ca4aeb6c0cbd4dfd5ccc0baada2978d81746a5f53473d33271c1004000000000000000000000915202c38434f59616d7a85929ea6b0b9c3ccd6d8cfc5bcb3aaa29f938e847e78706c6562605859565453504a514a50535456555c60636a6f757c848e939fa3abb5c0cbd7dbd8cfc4bbb0a69e91857a6d60564c41362a1d1307000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d4956636f7c8999a3aebbc6baada297887b6e6155483d3d3d3d3d3d3d3d3d3d4a5763707d8a96a8b2bdc7baaea399897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e0300000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000050f18242f39434e58606c77828f97a1acb6c0cbd5e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd6cabeb4aaa29791857b6e695e564c505c666e7a849199a3aeb7c1cbd5d0c5bbb1a79d928a7e70695f554b40362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54626e7b88959fabb7c4d1ddd4c7bbafa3998b7e7265564c41362a1e11050000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f26201e19191818181819181c1f20262b2f353b41464f575e666d78818e9492857a6d61584e43372b1e150a0000000000000000000a141d262d334049515b626c717e8b929ca5afb8c2ccc0b6aca39992857b6e675d53493f342b1f160c00000000000000000000000000000000000613202d394653606c798390969fa3abb1babfc6ced6cec6bfbab0a9a29f938f857e756d686159514b433d352f271f18120b03000000000713202d3a4653606d788585858585858585858585858585858583766a5d5043372a1d10000000000000000000010d19242f3a43505a616d7a84919aa4afb7c1cad4ddd7cdc5bbb3a9a299928c827b726d66605d5553514b4b494848474848494b4b5154565e61676d737c838e939fa3abb5bdc7cfd9ddd3cac0bbafa39991847a6d605a5043392f24180c020000000000000000000000000000000005121f2b3744505b65707d89939eaab4bfcad4dfd8cec3baafa59d938e81786e68605c54514b494746444647484b51535a61686d78808d929ca4aeb9c2cdd7ded6cabeb3a99f93877c6f62594f44382c20150a000000000000000000020e1a26313b4854606b74818e97a1adb8c2ccd5d9d0c6bdb3aaa298928b8179716c66605b53544e4c4a4746443f443f444647494b51535860626a6f7a818b9299a3afbbbfc8d2ded6cdc2b9ada1978d8073685e52463a2f24180d0100000000000915202a333c4247484949494949494949494953606d7986929facb9c5beb3a9978a7e7164574b494949494949494949494954616d7a8796a1acb9c5bfb4ab988b7e7265584b494949494949494949494949494949494847433c342a20150a00000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000030c17212935404b555f6a727f8c949ea9b3bec7d2ddd8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdbd0c5bcb3a9a19791847b6e685e555a606d78828f96a1abb5bfc9d3d2c7beb3a99f958d80746c61574d43392e241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7683909da9b6c3d0dcd7cbc0b5ab9c8f8276685e5246392d2014080000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becfdad6c9bdb0a3968a7d7063554b4038302d2a2526252424252623292c2d31373a41454d525960696e78818e939e978d80746a5f53473d30261c11060000000000000006111b262f383f44525b636d727e87929fa4adb7c1c8c0bbafa49a92877d70695f554c41382d22190d04000000000000000000000000000000000005121f2b3744505b656e7b85929fa5afbac3cbd0d1cbc2bcb4aea69f97928b827a716c605d564f45413a3129241d150d0700000000000006121f2b3844505c666d787878787878787878787878787878787671665b4e4235291c1000000000000000000004111d2935414c55626c75828f96a1acb6c0c9d3dcd8cfc5bbb3a9a19792877f756e69605c54514b4645403e3c3c3b3a3b3c3d3e4145474c52555d606a6f79818b9299a3abb5bdc7d1dcdcd7cbc0b5aba1968e81756c61554b4035291f1409000000000000000000000000000000000613202d394653606c7883909da5afbcc6d0dcdcd0c6bcb1a89e938e81776d665e56504a45403c3a3a38393a3c40454650565d666c73808d929da7b1bbc5cfdbdbcfc5bbafa4998f82766b6054483c31261b0f02000000000000000006121e2b37424e57636f7c87939fa9b3becad4ddd2c7beb4aba29892867e746d67605b54504947433f3d3b3938332e34383a3a3c4045474e545860676d757e87929fa3adb6c0ccd5dfd5c9beb3a99f92867a6d61554b4035291d110400000000020e1a26313c454d535556565656565656565656565c677783909daab6c3c0b3a79a8d80746754565656565656565656565656565e687884919eabb7c4c1b4a79b8e81746855565656565656565656565656565656565655534e463c31261a0f02000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000a151e29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce2d7cec5bbb2a9a09691837a6d675d616c73808d949fa9b2bdc6d1d8ccc0b6aca2979083786d605a50453b30271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424e5765717e8b98a4b1becbd7dcd1c5b9ac9f92867a6e6154473b3025190e0200000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3bec9d5d9cdc0b3a69a8d8073675d514a423c3936303232313132332f34383a3d43474c52565e616b707b828f939ea59f92877c6e62594f42382e23170c010000000000000b17222d384149505c636d727f889299a3afb6bfc8c0b6aea49f93887e716b60574d433a2f261b1007000000000000000000000000000000000000030f1b27333f49535e69717e8a939ea8b2bdc7cfc6bfbab0aaa29f948f857e756e68615a524c443e352f281f18120b030000000000000003101c28343f4a545c606b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6a665e554a3e32261a0d0000000000000000040e18222c3945515d67717e8b939ea9b2bec7d2dbdcd1c6bcb3a9a19792857d726d615e57514a45413a38342e302f2e2e2e2f302f35393b41464c51585f666d747f879299a3abb5c0cbd7dcdcd1c7bdb2a89e938a7e71675d51453b30251a0e03000000000000000000000000000007131f2c38434f5964707d8a95a0acb7c1ced8e2d6cbbfb4aaa0958e81786c655c544d443f38352f2e2d2c2d2e2e34383e444c545b606e74808d959fa9b3becad6dfd7ccc0b5ab9f94897d7063584e43372b1e130800000000000000000814212e3a47535f6a7683909aa4afbbc5cfdcd8ccc0b6aca39992867c716c605d55504a443f383832302e2d2b2823282b2d2e2f34383d43474e555d606c717e8b919ca4aebac3ced9dacfc4baaea2988c8073675d5145392c2013080000000006121e2b37424d575f626363636363636363636363636774818d9aa7b4c0c3b6a99c908376666363636363636363636363636363636875828e9ba8b5c1c3b7aa9d90847767636363636363636363636363636363636363625f584e43372b1f1206000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000006111c26303b45505a606d79849199a3aeb8c2cdd6dfd6cabfb4aaa0958d80746b61564c41382d22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e0d7cdc4bbb2a8a0959083796d6769717e8a929da6b0bbc4cfd7cdc5bbafa49a92857b6e665c51483e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5965717e8b98a4b1becbd7e0d4c7bbafa3998b7e7265564c41362a1e110500000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2ded1c5b8ab9e9285796d605c544e474641403f3e3e3e3f3f40404547494e53565d60686e747d8590949ea5afa3998f82756b61544a3f34281e13080000000000030f1b27333f49535b606e737f8b939aa3abb5c0c8c0b6aea49c928c7f726c62594f453b31281d140a00000000000000000000000000000000000000000b17222d38414d57616c75818e96a0abb5c0c3bcb4aea69f98928b827b716c615e565045413a3229241d160d07010000000000000000000b17232e38424a50535e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d5b554c43382d22160a00000000000000000a15202b37424d57606d7a85929ea5afbbc4d0d9ded7cbbfb4aaa19792857c706b625b524d444039352f2c28232322212121222324292c30363a41454e545c606d727e879299a3afbbc0cad4e0d9cfc4baafa59e9184796d60574d42362a1f140900000000000000000000000000000915222f3b4854606b7683909ca7b1bcc9d3e0ddd3c7baaea3989183796d665b534b423b342e292421201f202123282c323a424a505c606d78839097a2adbac2cdd8ddd2c7bdb0a69c8f82766a5f53473a3025190d0100000000000003101c28343f4a54626e7b88949facb6c0cdd7dcd4c8bbafa49a92877d706a625a514b443f38332d2b272321201f1c171c1f202123292c32373d434c515a626c737f8c929da8b2bdc8d4e2d6cabfb4aa9f92857a6d6053473a3025190d010000000814212e3a47535f696e70707070707070707070707070717e8b97a4b1bec5b8ac9f9285787070707070707070707070707070707070727f8c98a5b2bfc6b9ac9f93867a707070707070707070707070707070707070706e6a5f53473a2e211408000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000040e17232e38424d57616c74818e96a0abb4bfcad3dfd6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e9dfd6cdc4bab1a7a0959082796d6e7b86929fa4aeb8c2cdd6d0c5bbb0a69f93887d70695e544a40362c21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7783909daab6c3d0dde3d7cbc0b5ab9c8f8376685e5246392d20140800000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb8c3ced9d2c6b9ada1978e81746d66605854524c4d4c4b4b4b4b4c4d4b515356585f62686d727b818892979fa6afb5ab9e94897d70665c50443a2f24190d010000000005121f2b3744505b656c74808c919fa4acb5bdc7bfb6aea49d928c80736d625a50473d332a1f160b02000000000000000000000000000000000000000006111b262f3b45505a606d79849199a3afbbbbb1aaa39f9490867f776e69615a524c443e3530282018130c04000000000000000000000006111c2630383f444652525252525252525252525252525252504e4a433a31271c110500000000000000030f1b26313a47535f6973808d97a1adb8c1cdd6e2d5ccc3baaea39892857c6f6a60595146423b342e29241f1c1816151514151516181d20252a2f353c424b515b626c717e87929fa4aeb8c2ced8e1d6ccc1b9ada1968c7f73695e52463b31261a0e0200000000000000000000000005111e2a36414c56636f7c89949fabb9c3cedbdfd5c9bdb2a89f92867c6f675d544a41393028231c181413121314181c20282f383f44505c666e7b85929fa7b1bcc8d4ded9d0c2b7aa9e94887c6f62564c4135291d110500000000000006121f2c3844505c6673808d9aa6b0bec5c7cbd1c9beb2a99f93887e716b605850454039332d27221b1b171413120f0b10121314181c1f272b313a4145505a636d74808d96a0acb8c2d0d9dbd0c6baada2978a7e7164564c41362a1d11050000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8b97a4b1bec6baaea2988b7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c98a5b2bfc7bbafa4998b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000020c162028343f4a545e69717e8a939da8b2bdc6d1dcd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f1e8dfd6ccc3b9b1a79f948f827979839098a2aeb6c0cad4d2c7beb3a99f948d80736b61574d42392e241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d56636f7c8995a0acb8c4d1dee8dcd1c6b9ac9f93877a6e6154473b3025190e020000000000000000000000000000000000000000000000000006121f2b3844505c6673808d9aa7b1bcc8d4d5c9beb3a99d938d80786f6a64615e565a5958575758595a555c6063676a6f747a7f868e939aa1a9b0b9bdb0a69d9183786d60564c4135291d1104000000000613202d394653606c77808c929ca3afb6bec7c0bbada49c928d80746e635b51483e352b21180d04000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0afa7a098928c827b726c655e575046413b3229241e160e0701000000000000000000000000000a141e262e34383a4545454545454545454545454545454543423e3831281f150a000000000000000006121f2b37434e58616e7b86929fa9b3becad3dfd9d0c3baaea49f92867c6f6a5f584f473f363028231c1813100c070908070809070d1114191e242930394045515a616c717e8b929da6b0bcc6d0dbded5c9bdb2a89f92867b6e61574d42362a1e13080000000000000000000000000713202d3946525e6875828f9ba6b0bccbd5dfd9cdc5b9aca0968c7f726a5f554b42382f271e17110d07070606070c10161d262d343f4a545e69717e8b959fabb8c1ccd7e2d3c7bbb0a69b8e8174685e5246392d2014090000000000000713202d3a4653606d7985919eabafb5b9babfc5c6b9ada1978d80736c61594f463f352f28221c17110f0a0806060300030607070c10151b1f282f353f48515b606d7884919da6b0bdc7d2ddd6cabeb3a99c8f8275685e5246392d2013070000000e1b2835414e5b68748189898989898989898989898989898b909ba6b3bfcabfb4aa9a908b8989898989898989898989898989898989898c919ba7b3c0ccc0b5ab9b918b898989898989898989898989898989898989898175685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000008131e28323a44505c666e7b85929fa5afbac3cfd8ddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0e9e4ded5ccc3b9b0a69e948e81818e95a0aab4bec8d2d8ccc0b6aca1979082786d60594f453b30271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975818e9ba7b1bcc8d4e0ede0d4c7bbafa4998b7e7265564d41362a1e11050000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c1cdd6cfc5bbafa59d928d827c76716d6868666565646465666668676d7073777b81868c92989fa4acb3bbc2c1b8aca0958b7f72685d5245392c201307000000000815222f3b4855626e7b858f949fa3aab1b9bdb5afa49c928d80776c605c52493f362d23190f060000000000000000000000000000000000000000000000020b17212935414b55606a737f8c949fa9a39f9590867f786e69605b534d453e3630292019130c04000000000000000000000000000000020c141c23282b2d383838383838383838383838383838383735322d271f160d0300000000000000000815212e3a47535f6a75828f99a3aebbc5cfdcddd2c7beb2a89d928b7e716a60584e463d352a251f18120d070400000000000000000104080d13191e272e343f48505a626c74808d949faab4bfcad6dfdacfc4baaea2988e8175695f53463a3024190d0000000000000000000000000714212e3a4754616d7a86929facb9c2cddfe0d4c8bcb1a79e9184796d60584e43392f261d150c0600000000000000040b141c232e38424d57606c7883909da6b0bbc7d3ded8ccc2b9ac9f92867a6d6154473b31261a0e0200000000000a1724313d4a5764707d8a979c9fa3abacaeb4b8bab1a79e9184796d605a50473d3429241d17110b06000000000000000000000000040a0d161e2429364044515c66707d8a949fabb5c0ccd7dbd0c5b9ac9f92867a6d6154473a2e2114080000000e1b2835414e5b6874818e96969696969696969696969696979ba2acb7c3d0c6bcaca29a97969696969696969696969696969696969696989ba3adb8c4d2c7bdada39b989696969696969696969696969696969696968e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000060f1924303a444f59606d78839097a2adb7c0ccd5e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e6ded8d3d1d0cbc2b8b0a69e938e8e939ea7b1bcc5d0d6cdc4bbafa49a92857b6e665c50473e33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cdd9e4f0e3d7ccc0b5ab9c8f8376685e5246392d20140900000000000000000000000000000000000000000000000000000b17232e3847545f6a7784919da5afbbc4cfd7cdc1b7aea49d948f88827e7a777573727171717272737577797c8084888d92989fa2aaafb6bec5cdc7bcb1a79e92857a6d6054473a2d211407000000000814212e3a47535f696e7a828b9298a0a7aeb4aba49f918c80746c655b504a40372d241b110700000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a099928c837c726c665f575049413b332a251e170e08020000000000000000000000000000000000020a11171c1f202b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a2926221c150d04000000000000000005121e2a36424d57626f7c88939eabb4bfcdd6e1d8ccc0b6aca0968d80746c62584e463c342b231a140c07000000000000000000000000000001080c151d2328363e48505a606d78829098a2aebac2cdd8e0d6cabfb4aa9f92877b6e61564c4135291c11060000000000000000000005121e2b37424d5765727f8b99a3afbbc7d3e0ded1c4b8aca0958a7d70675c51463c31281d140b03000000000000000000020a111c26303b44505b656f7c89949eaab7c2cdd8e0d3c7bbaea3998b7e7265574d42362a1e120500000000000d1a2733404d5a667380888b8f92999c9fa3abacaeab9f958a7e71675d51483e352b2218120b0600000000000000000000000000000000040c1319242834404a54616c76828f99a4afbbc7d4e0d3c7bbafa3998b7e7164584b3e3025190e0200000e1b2835414e5b6874818e9ba3a3a3a3a3a3a3a3a3a3a3a3a4a6acb4bec9d8cebeb4aca6a4a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a5a7adb5bfc9d9d0beb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000030d18222935414c56606b73808c949fa9b3bec9d2ded7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce6ddd4cdc7c4c3c4c7c1b8afa59e9b9b9ea5afb9c3ced7d0c4bbb0a69f93887d70695e544a3f352c21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3aebbc7d5dfeaf4e8ddd2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000006111c2b37434e5864707d8a939ea9b3bdc6ced2c9c0b6aea69f9c948f8b878482807f7e7e7e7e7f80828486898d91959a9fa2aaaeb4bbc0c7cfc6bdb5afa39992857b6e6154483b2e2115080000000006121e2b37424d575f686d777f8690959da4aaa299938b7f736e605b53493f382e251b120900000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b859295918780786f6a605b544d443f382f292119140d05000000000000000000000000000000000000000000060b1012131f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1d1c1a16110a030000000000000000000714202d3a46525e6974818e9ba5afbdc6d1dfdfd4c8bbafa49a9184796d605a50463d342a22191109030000000000000000000000000000000000030b1218242c363f44515c666e7b86929fa7b1bcc8d4dedbd0c6bbafa3998d8074685d5246382e23170b000000000000000000000714212d3a46535f697683909dabb5c0cbd7e1d5c9bdb2a89d9083776c61554b40342a1f160b020000000000000000000000000a151e27333f4953606a75828f9ca7b1bcc7d3e2d7cbbfb5ab9c908376695f53463a2d21140800000000000c1926323f4b58636e737b7e82868b8f92999b9fa2aa9d9083766c61554b41362c231910070100000000000000000000000000000000000001081218232e39424f59626f7c87939facb9c6d2dfd7cbc0b5ab9b8e817468564d41362a1e110500000e1b2835414e5b6874818e9ba7afafafafafafafafafafafb1b3b7bec6d0e0d0c6beb7b2b1afafafafafafafafafafafafafafafafafafb2b3b8bfc7d1e2d0c7beb8b3b1afafafafafafafafafafafafafafafafa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00010b151f2a343c46525d68707d87939fa6b0bcc5d0dbdbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcded4cbc2bcb7b6b7bcc2c1b7afaaa8a8aaafb7c1cbd5d2c7bdb3a99f948c80736b60574d42382e231a0f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb5bfcbd7e7e9e8e9e0d4c7bbafa4998b7f7265574d42362a1e110500000000000000000000000000000000000000000000000000000f1b26323c4955616c75818e97a1abb4bcc5cdd6c8c0b8b0aba69f9c9a93918f8d8c8b8a8a8b8c8d8f9193999a9da0a8acaeb4babfc5ccccc3bdb4aba49f92877d70695e52463a2d20140700000000020e1a26313c454d565e656c727c838d929ea19892877f736d635c504941382d261c130900000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a8d837c736d665f58504a423b332d261d170f08020000000000000000000000000000000000000000000000000306071212121212121212121212121212121210100d0a050000000000000000000004101c2934404b55616e7b86929facb9c1cfd8e1d6cabeb4aa9f93887d6f675c51483e342b2218100700000000000000000000000000000000000000000007121a242834404a545f69727f8b959fabb8c2ccd8e2d7cbc0b5ab9f92867a6d61544a3f34281c10030000000000000000000815222e3b4855616e7b88959fabbdc7d1dcded2c5b9aca0968a7e7164594f43392e22180d0400000000000000000000000000030c17222d38414e58636f7c89959fabb7c6d0dbdcd1c6b9ac9f93877b6e6155483b2f24190d01000000000a17232f3b47525c63696e72767a7e82868a8f92989b998b7e72655a50433a2f241a11070000000000000000000000000000000000000000000007121c27303e47535f6a76828f9ca9b5c2cdd9dcd1c4b7aa9e918477685e5246392d20140700000e1b2835414e5b6874818e9ba7b4bcbcbcbcbcbcbcbcbcbcbebfc3c9d0d9e2d8d0c8c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbfc0c4c9d1d9e2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0007121d27313c46515b616d7a849199a4afb9c2ced7ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd8cdc2b9b1aba9abb1b9c0c1bab6b5b4b6bac1c9d3d7ccc0b5aba1978f82786d60594f453b30261c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc6d1dcdfdcdbdcdfd7ccc0b5ab9c908376695e52463a2d20140900000000000000000000000000000000000000000000000000000a15202d3944505a616d7a859199a2aab3bbc3cad0cac2bbb7b0aaaca49f9d9b99989897979899999b9e9fa4abaaacb1b8babfc6cad0c7c0bbb1aba399938b7f726b60574d42362a1e120500000000000915202a333c444c535b606a6f79808a929792867e726d635b52443f382f261b130a010000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c748180796f6a605c544e443f382f27221b140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3aebbc7d3e1dacfc6baaea2988d80746b60554b40362d221910060000000000000000000000000000000000000000000000081218232e39424d57606c7883909da6b0bbc7d3dedcd1c7baaea2988c7f73665c5044382b1f1207000000000000000004101d2935404b5566727f8c99a7b1bccfd9e3d8ccc0b6ac9e9184786c6053463e30271d100600000000000000000000000000000006111b262f3d4854606b7683909daab4bfcad6e0d4c8bbafa49a8c7f7266554c4135291d11040000000007131f2a35404a52565e6165686d71757a7e82868a8e92867a6d6054473e31281d12080000000000000000000000000000000000000000000000000b151e2b37434e5865727e8b98a7b1bcc8d4ded2c5b9aca096877a6e6154473b2e21140800000e1b2835414e5b6874818e9ba7b4c1c9c9c9c9c9c9c9c9c9cacccfd4dfe1e6e2dad3cfcbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cbccd0d4dee1e5e2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225170e050e18232f39434e58626d75818f96a1abb5c0cbd4e0d6ccc4baaea2989083786d60594f443a30241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c7bcb1a79f9d9fa7aeb6c0c6c3c1c1c2c6cbd3d6cdc4bbafa49991857a6e665c50473d33291e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7683909da9b3becfd8d7d3d0cfd0d3d7d2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000004101c28333e46525e68707d879298a2a9b1babec5cccdc7c2bbb7b6afacaaa8a6a5a4a4a4a5a5a6a8aaacafb5b7b8bdc3c6caccc8c1bdb5afa7a09992877f726d62594f453b30251a0e020000000000030e18212a323a414950585f676d747d858e857c706c625b514940332d261d140a010000000000000000000000000000000000000000000000000000000000000006111c26303b45505a646f74736d676058504a423c332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5bfcbd7e2d6cabeb3a99f92857a6d61594f43392f241b10070000000000000000000000000000000000000000000000000007121c27303b44505b666f7d89949faab7c2cdd8e3d6cabfb4aa9e9184796d6053463a2f23180c000000000000000006131f2c3945515d6776838f9ca9b6c2cddce0d4c8bbafa49a8c7f73665b5044382c1e150b00000000000000000000000000000000000a141d2c38444f5965717e8b98a2aebac6d3e0d8ccc0b6ac9c908376675d5145392c20130600000000020e19242e3840444d5254565e6165686d7175797d81858175685d5245392c1f160c00000000000000000000000000000000000000000000000000030c1b26323c4854616e7b8795a0acb8c4d1ded4c8bdb2a8978a7d7064574a3d3124170a00000e1b2835414e5b6874818e9ba7b4c1ced0d0d0d0d0d0d0d0d0d0d0d1d2d5dae1e8dfdbd8d9d4d2d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d5dae0e8e0dbd9dad5d2d1d0d0d0d0d0d0d0d0d0d0cec1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322920170e17202934404b555f6a727f8b939ea8b2bdc7d2ddd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9f9590959da4aeb9c3cecececfd2d7dacfc4bbb0a69f93877d70685e544a3f352c20170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88959fabbbc4cfd3ccc7c3c2c3c7ccd4c8bbafa49a8b7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000b17222935414c56616b707d869297a0a7aeb3bbc0c7c8ccc7c7c0bbb9b7b5b3b2b1b1b1b1b2b3b5b7b9bbc0c4c5c8cec8c7c0bbb9b0aba49f9591877e726d625b51473d33291f140900000000000000060f1820292f383f444e555d606b707b817b6f6a615a5149403727221b140b020000000000000000000000000000000000000000000000000000000000000000000a141e29333e48535d646867605c554e443f383028221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717d8a98a2aebdc6d1dcdfd2c6b9ada1978c7f73685e52473d31271d12090000000000000000000000000000000000000000000000000000000b151e28333f4a54606b76828f9ca6b0bcc7d3e2dbd0c6b9ada197897d7063554b4034291c1004000000000000000714202d3a4753606d7a86929facb9c5d2dfdfd2c6b9ac9f93877b6e61544a3f33281a0c030000000000000000000000000000000000020b1b27323d4754606d7a86929facb8c5d2ddddd2c5b9ac9f92867a6d6054473a2d211408000000000008121c262e323b4246474c5254565d6064676d7175797a6e61564c4135291a0d0400000000000000000000000000000000000000000000000000000a15202d3a46525e697783909daab6c3d0ddd9cebfb2a5988c7f7265594c3f3226190c00000e1b2835414e5b6874818e9ba7b4c1c4c4c4c4c4c4c4c4c4c4c4c4c4c6c9cfd6dfe7ded5cec8c5c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c9ced6dee8ded6cfc9c5c4c4c4c4c4c4c4c4c4c4c4c4c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265564d443b322920171d29323b45515c676e7c86929fa5afbac4d0d9dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d90838d929da7b1bcc6d0dbdcdee1d5c9bdb2a99f948c7f736b60564c42382e231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3946525e6874818e9ba7b1bccdd3cac1bbb7b5b7bbc1caccc0b6ac9c908376695e52463a2d2014090000000000000000000000000000000000000000000000000000050d1925303a444f59616b707d8591959fa2aaafb6b9bdc3c5c9ccc8c6c4c2c0bfbebdbdbebfc0c2c4c6c7cccac7c5c2bdb8b6afaca69e99938d837c716c625b51493f352b21170d020000000000000000060e171d262d333c434b515961686e746e69605850483f372e2517110a0200000000000000000000000000000000000000000000000000000000000000000000020c17212c36414b53595b5a53514b433c342e261e17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828f9baab3becfd8e3ded1c5b8ab9e92857a6d60564c41352b1f150b00000000000000000000000000000000000000000000000000000000030c17222d38424f59626f7c88949fabb7c6d0dce2d5c9beb2a99b8e8174675c5145382c1f1306000000000000000a1723303d4a5663707d8999a3aebac7d3e0dccfc2b6a99c8f8376695e5342382d221708000000000000000000000000000000000000000a16202c3945515d6775818e9bacb6c0ccd8e0d3c7bbafa3998a7d7064574a3d2f24190d0100000000000a141c202930363a3b4146474c5254555d6064676d6e685e52443a3024190800000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a6b3bfd1dcdacdc0b4a79a8d8174675a4e4134271b0e01000e1b2835414e5b6874818e9ba7b4b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec4cdd6e0d5ccc3bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b9bdc4ccd6e0d6ccc4bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72685e564c443a322920262f3b444f59606d79839098a2aeb7c1ccd6dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f808d95a0aab4bfcad6dfe8dfd2c5b9ada1968f82786c60594f443b30261c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb9c2cdccc1b8b0aaa8aab0b8c1ccc6b9ac9f93877b6e6154483b30251a0e02000000000000000000000000000000000000000000000000000008131e28323e474f59616b6f7c838c92989fa4acacb2b7b9bdbfc1c4c5c6c7ccd2c9c9c8d1cbc7c5c4c2c0bfbab8b6b2acaca49f9c948f8780796f6a615a51493f372d23190f0500000000000000000000050b141b2227313940454f565e6167615f574e463e362d251c130600000000000000000000000000000000000000000000000000000000000000000000000000050f1a242f3941484c4e4d464540393028231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d0dfe0d4c8bcb1a79a8d8073675d51443a3023190d03000000000000000000000000000000000000000000000000000000000006111c262f3d47545f6a7683909caab4bfcbd6e3dacfc4b8ab9f9285796d6053473a2d20140a00000000000004101c2834404a546773808d9aabb4bfcbd7e2d6cabeb3a9988c7f7265574d422f261c11060000000000000000000000000000000000000004111d2935414b5564717e8a9aa4afbbc8d4e0d7cbc0b5ab9a8d817467564c4135291d11040000000000020a0e171f252a2d3036393a4145474b5153555c60615e564c4132281e1308000000000000000000000000000000000000000000000000000000020e1a25303d4a5663707d8996abb4bfcbd7dccfc2b5a99c8f8276695c4f4336291c1003000e1b2835414e5b6874818e9ba7aaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc4cfd9cec3bab2acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacb2bac4cedacfc4bab2adabaaaaaaaaaaaaaaaaaaaaaaaaaaa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7aa9d91847a6e685e564c443a32282d38424d56616c74808d95a0aab4bfc9d3ded7cdc5bbafa39991847a6d605a50453b30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb2a6998c7f79839098a2aebac1cdd6e2ded1c4b8ab9e91847a6d665b50473d32291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66727f8c98a3aebac7d3c7bbb0a69e9c9ea6b0bbc7c8bbafa49a8b7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000020c16202c353e474f59606a6f787f858e939a9ea0a8aaacb2b2b4b7b8b9bbc0bbbcbcbcbbc0bbb9b7b5b4b4aeaca9a8a09d9a938f89827c736d67605850483f372d251b1107000000000000000000000000020a11171f272f353e444d52545b55534d453d342c241b130a00000000000000000000000000000000000000000000000000000000000000000000000000000008121d262f363c4041403a38342e271e17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0ded1c4b8aca095887c6f62554b4132281e1007000000000000000000000000000000000000000000000000000000000000000a141d2b37434e5865717e8b98a3aebac7d3e0dfd3c6baaea2988a7d7164574a3e31261a0f03000000000006121f2c3844515c667783909daab6c3d1dcdfd3c6baada297887c6f6255493c3122140a0000000000000000000000000000000000000000010d18242f3a4754616d7a87939facb9c6d2dfdcd1c4b7aa9d918477685d5245392c20130600000000000000050d14191e20252a2d2f35393a4045474b515354524c443b3020160c02000000000000000000000000000000000000000000000000000000000915222e3b4855616e7b8899a3aebac7d3ddd0c4b7aa9d9184776a5e5144372b1e0700000e1b2835414e5b6874818e9b9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3bec9d4c8bdb2a8a09e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a8b2bdc9d5c9bdb2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddded1c5b8aca09691837a6e685e564c443a32333f4a545e69707d8a929da7b1bcc6d0dbdbcfc5bbb0a69f92877c6f675d51483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d80737b86929fa5afbbc4d0d9d6c9bcb0a396897d70685e544a41382d22171309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919eaab4bfcbd0c3b7aa9e948f949eaab7c7ccc0b6ac9c908376695e52463a2d201409000000000000000000000000000000000000000000000000000000040e1a232c353d464f585f666d727a81878c91969a9ea0a8a5a8aaabacafb5aeafafafaeb5afacaaa9a7aaa29f9c9996918c87827c756f6a605c554e463e362d251b1309000000000000000000000000000000060d151d2429323b4146474e4846423b332b221a110901000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b303335342d2c28231d150c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9cabb4bfcbd7e3d7cbc0b5ab9d9083776a5f53433a2f20160c0000000000000000000000000000000000000000000000000000000000000000020b1b26323c4754606d7a86929facb8c4cfdae2d6cabeb3aa9b8e817568584e43372b1f120600000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d1dcdfd2c6b9ac9f93867a6d6054473a2d211407000000000000000002090e1114191d2024292c2f35393a4045464746413b32291e0e0400000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2ded1c4b8ab9e9185786b5e52452e23180c00000e1b2835414e5b6874818e919191919191919191919191919191919197a1adb9c7d2c5b9aca096919191919191919191919191919191919191919196a1acb9c4cec5b9ada196919191919191919191919191919191918e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0dde1d4c8bdb2a8a09591837a6d685e564c443a3a44505b666e7b85929ea4aeb9c3ced8ded6cabeb3a99f948c7f736a60554c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b4a79a8d8174717e8b939ea9b3bdc7d2ddcfc2b5a99c8f82796d665c53493f3327251b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a96a1adbcc6d1cabeb3a99c8f828f9cacb6c0ccc6b9ac9f93877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000008111a232c343d464e545c60686e747b7f84898d919696989b9d9f9fa4a1a2a2a3a2a2aba39f9e9c9a9898928f8c89847f7b756f6a625f58514b433d342c241b13090100000000000000000000000000000000030b121820293036393b413b3a36312921191008000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a2024272827201f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dce0d3c7bbafa3998b7f7265584e4331281d0e050000000000000000000000000000000000000000000000000000000000000000000a15202c3945525d6875818e9ba9b2bec9d5e1dbd0c4b8ab9e9185786a5f53473a2e21150800000000000915222f3c4855626f7c8898a3aebac7d3e0dbcec2b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000000000005111e2a36414c566774808d9aabb5c0cbd7e0d4c8bbafa49a897c706356493d30231606000000000000000000000205080d1113191d2024292c2e34383a3b3936302920170d00000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885919eabb8c4d1ded2c5b8ab9f9285786c544b4034281c1004000d1a2733404d5a667380848484848484848484848484848484848485919eacb6c0ccc4b7aa9e918484848484848484848484848484848484848484919ea8b2bdc9c4b7ab9e9184848484848484848484848484848484848074675a4d4134271a0e010000000000000000111e2b3744515e6a7784919daab7c4d0dde5d9cec3bab1a8a09590837a6d685e564c44434e58606c78828f97a1adb6c0cbd5e0d5ccc3baada2979082786c60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746c75818e97a1abb5c0ccd7d0c3b7ab9f948f81786d655b504440372d241b1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9ca8b2bdcfd2c6b9ada1978a7d8a9aa4afbbc8c8bbafa49a8c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000008111a222b343c424a50565e61696e73777c818487898c8e91929399949596969595949992918f8d8b8986827f7c77736e69626058534e454039312b221a12090100000000000000000000000000000000000001070e171f252a2d2e342e2d2a261f170f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1a1313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2aebac6d3e2dfd2c5b9ac9f92867a6d6154473c3121160c0000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2dfdfd2c6b9ada197887b6f6255483c2f22150900000000000b1825313e4b5864717e8b97aab4bfcbd7e1d5c9beb3a9988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000010d1925303d4a5764707d8a99a3afbbc7d4e0d8ccc0b6ac988c7f7265594c3f2e23170b000000000000000000000000000105080d1113181d1f23282c2d2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7784919eaab7c4d1ddd2c5b9ac9f928679665c5145382c1f1306000c1926323f4b57636e7377777777777777777777777777777777777d899aa4afbbc8bcafa295897c7777777777777777777777777777777777777a8796a1acb9c5beb1a4988b7e77777777777777777777777777777777746e64584c3f33261a0d000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae0d5ccc3bab1a7a09590837a6d685d564c4c55606a727f8c949fa9b3bec8d2ddd8cfc3baafa59f92857b6e665b50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b5a89b8e8275686d7a859199a4afbbbfc8d3c7bbb0a69e938e81776c605b52493f362d241a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2935414c56626f7c88949fabbac4cfd1c5b8ab9e92857a86939facb9c6ccc0b6ac9d908376695e53463a2d2114090000000000000000000000000000000000000000000000000000000000081019222a30383f444c52575e61666a6f74777a7c7f81848586878788898989888787868482817f7c7976736f6a66615e57544e47433c342f271f19100800000000000000000000000000000000000000000000050d14191e20212822211e1a140d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0e0e0d070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99aab4bfcad6e2d7cbbfb5ab9b8f8275685e5246392d20130400000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eabb8c4d1dce1d5c9beb3a9988b7f7265584c3f30251a0e02000000010e1b2734414e5a6774818d9aa7b4c0d1dcdfd2c6b9ada197887b6f6255483c2d22170b00000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d2dfddd2c1b4a89b8e817568544a3f34281c10030000000000000000000000000000000104070c1013181c1f2021201e19140d0500000000000000000000000000000000000000000000000000000000000000000b17222d44515d6a7784909daab7c3d0ddd3c7bbafa39986796d6053463a2d201307000a17232f3b47525c63666a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d7a86939facb9c6beb1a5988b7e726a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a687884919eabb7c4c0b4a79a8d81746a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67645c52473c3024170b000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae7ded5ccc3b9b1a7a09590837a6d685d56515d676f7c87929fa6b0bbc5cfdadcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcfc2b5a89c8f82756968707d87939fa3adb6bfc8ccc2b8afa59d938d80746d635b51483e362c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3945525d6874818d9aa6b0bbccd6cfc2b6a99c8f837784919eaab7c4d2c7b8ab9f95877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000000000710181e262e343b41464d535458606267686d7072757778797a7b7b7c7c7c7b7b7a79777674726f6d666662605854534d47433d373229231d150d0700000000000000000000000000000000000000000000000002080e1114141b1514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3d0dbe0d3c7bbaea3998a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505c6673808d9aaab4bfcbd7e3dacfc2b5a89c8f827569574d42362a1e120500000004101c2934404b55697683909ca9b6c3cfdcded1c5b8ab9e9285786a5f53473a2e1c110600000000000000000000000000000000000000000000000613202c3945525d687683909da9b6c3d0dcddd0c4b7aa9d918477665c5044382b1f12060000000000000000000000000000000000000004070c1013131414110d0802000000000000000000000000000000000000000000000000000000000000000000061e2a3744515d6a7784909daab7c3d0ddd3c7baaea39986796d6053463a2d2013070007131f2a35404a52575a5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d687784919daab7c4c1b4a79b8e817468555e5e5e5e5e5e5e5e5e5e5e5e5e566875828e9ba8b5c1c3b6aa9d908377665c5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362b1f1307000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf0e7ded5cbc3b9b1a7a09590837a6d685d5a606d7a849199a3afb8c2cdd7dfd7cbbfb4aba0968e81746c61574d42382d22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b6a99c8f837669616b717e8b919ba4adb6c0c9cac1b7afa59d928c7f736d625a50483e352b221910060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a86929facb8c2cdd8ccc0b6ac9a8d8075828f9ba8b5c2d2c7bcb1a7988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000000000000060c151c232830363b4246484e5456565d606365686a656c6d6e6f6f706f6f6e6d6d6669676563605c5456544e4846423b37322b262018120b03000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdfd2c5b9ac9f92867a6d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54636f7c8998a3aebac7d3e0ded2c5b8ab9f928578695e52463a2d20140700000006131f2c3845515c677885919eabb8c4d1dedccfc2b5a99c8f827669584e43372b1f0a00000000000000000000000000000000000000000000000004111d2935414c566774818e9aa7b4c1cddadfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000020507080b0e100a0a08040000000000000000000000000000000000000000000000000000000000000004101c2834404b556b7884919eabb7c4d1ded2c5b9ac9f928679665c5144382c1f120600020e19242e3840474b4d51515151515151515151515151514c566874818e9ba7b4c1c4b7aa9d918477675d515151515151515151515151515966727f8c99acb6c0c5b9ac9f9286796d60535151515151515151515151514d4c4740382f24190e03000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e7ddd5cbc3b9b1a7a09590837a6d68616c75818e96a0abb5c0cad4dfd6cdc5baaea3999184796d605a50453b2f261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a59626c727f8c929ca4aeb7c0c9c9c1b7aea49c928b7f726c625a50473d342b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d4d4c8bbafa49a8b7e73808c99abb5c0cccdc2b6a99d908376695e53463a2d21140900000000000000000000000000000000000000000000000000000000000000030a11171e252a31363a3d4348494c525456595b535b60606162636362626161605c545a585653514b4947433d3a36312b27201b150c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a3afbbc7d3e0dcd0c3b6a99d908376675d514539291e1308000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7986929facb9c5d2dfdfd3c6baada297877b6e6154483b2e2115080000000714202d3a4753606d7a86939facb9c6d2dfdacdc0b4a79a8d8174675a4e4131261a0f010000000000000000000000000000000000000000000000010d19242f3f4c5966727f8c99a5b2bfccd8e0d3c7bbaea399877b6e6154483b2e2115080000000000000000000000000000000001040707090e121415181a1d171614100b05000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1ded1c5b8ab9e9285786b544a4034281c1004000007121c262e353b3f4044444444444444444444444444444b5865727e8b98aab4bfc6b9ac9f93867a6d60544744444444444444444444495663707c899aa4afbbc7baaea399887c6f6255494444444444444444444444413f3c362f261d130800000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f9f0e7ddd5cbc3b9b1a79f9590837a6d69717e8b939ea8b2bdc7d1dcdacfc5bbb0a69f92867c6f675d51483e33291d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d5a626d73808c929da5afb7c1cac9c0b6ada49f93887e716c61594f463d342a21180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d2c6b9ac9f93877a707d8a99a4afbbc7d1c4b8ab9f95877b6e6154483b31261a0e020000000000000000000000000000000000000000000000000000000000000000060c14191f252a2d32383b3c414547494c4e49505354545556565655545453514a4e4c494645403c3b37322d2a251f1b150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0b0b0b0b0b0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0f0f12121212121212120c0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7e3d9ccc0b3a6998d807366554b403529170c020000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3cfdce2d6cabeb3a9968a7d7063574a3d3024170a0000000815222f3b4855626e7b889aa4afbbc8d4e0d8cbbfb2a5988c7f7265594c3f3226190a00000000000000000000000000000000000000000000000000081724313e4a5764717d8a97a4b0bdcfdae3d7cbbfb5ab96897c706356493d3023160a000000000000000000000000040607080d111314171a1e212224272a2423201c171008000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2ded1c4b7ab9e9184786b5e51452e23180c000000000a141c242a2f3233373737373737373737373737373c4955626f7c8898a3aebac7bbafa499897c706356493d37373737373737373a4754606d7a86939facb9c6bfb4ab988b7e7265584b3f2f3737373737373737373433302b241d140b0100000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fff9efe7ddd5cbc3b9b1a79f959083796e7b86929fa5afbac4cfd9ddd5c9beb3a99f948c7f726a5f554b40362c21170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e515b636d73808d939da5afb8c1cac8bfbbafa49a92877e706b60584e463c332a20170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5763707d8a96a0acbcc6d0dbd0c3b6aa9d9083776d7a86939facb9c6d2c8bcb1a7988c7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000002080e141a1e21272c2e3035393a3d3f423f4446474848494949484847464440413f3c3a38342e2e2b27211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080d1113141516161717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f181815110c0600000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d1dce2d6cabeb3a9968a7d7063574a3d2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99a6b3bfd1dce6dbcfbfb2a5998c7f7266594c3f332619070000000a1724303d4a5763707d8a96acb6c0ccd8e4d6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a9b3bec9d5e1dcd1beb1a4988b7e7165584b3e3225180b00000000000000000000070c10121316191d202123262a2d2e31343731302d28221a12080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a4afbbc7d4ddd0c3b7aa9d9084776a5d5144372a1e0700000000020a12191f2326272b2b2b2b2b2b2b2b2b2b2b2b2d3a4653606d7986929facb8c5c0b5ab988c7f7265594c3f30252b2b2b2b2b2c3945515d677784919daab7c4c1b4a79a8e817467554b4034292b2b2b2b2b2b2b2b2726241f19130b020000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fffff9efe7ddd5cbc3b9b1a79f9590827a839098a2aeb7c1ccd6e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51525b646e74818e939ea6b0b8c2cbccc0b6aca39992867d706a60584e453b322920160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7d5c9bdb2a8998d8073687783909daab6c3d1cdc2b6a99d908376695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000003090e12161b1f2224292c2d30322d3337393a3b3c3c3d3c3c3b3a3a38342e32302d2c2823221f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d202122222324242424242422211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556976838f9ca9b6c2cfdcdfd2c6b9ada297877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a97aab4bfcbd7e3dbcec1b5a89b8e8275685b4f422f24180d0100000c1825323f4b5865727e8b98a5b1bed2dde1d5c9beb3a995887c6f6255483c2f221509000000000000000000000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000030b12181c1f202224292c2d3031363a3b3e41433d3c39332c241a0c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0ccd7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000070e1317191a1e1e1e1e1e1e1e1e1e1e1e1f2c3844515c667683909da9b6c3c1b5a89b8e827568564c41362a1d1e1e1e1d2935414c556874818e9ba7b4c1c3b6aa9d908377675c5145382c1f1e1e1e1e1e1e1e1a1a17130e0801000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7faf4efece9e6ddd4cbc2b9b1a79f94908590959faab4bfc9d3ded8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5249525c606c78818e949ea6b0b9c2cbc7beb5aba39892867c6f6a5f574d443b32281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd2c5b9ada196897c6f6673808d99aab4bfcbd1c4b8ab9f95887b6e6155483b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000002050a0f1315191d2021232622272b2d2d2e2f30302f2f2e2e2d2c28232523201f1c1815130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f202324292c2d2e2f303131313131312f2e2b262018100600000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c313436393939393939393932312e29231b1209000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1deded1c5b8ab9e928578685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3b4855626e7b8898a3aebac7d3e0ddd0c3b7aa9d9084776a554b4035291d110400000d1a2633404d596673808c99a6b3bfccd9dfd2c6b9ada197867a6d6053473a2d201407000000000000000000000000000000000000000000000000000613202c3945515d677885919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000000070c151c23282c2d2f3035393a3d404246484b4d504a49443e362c1e150b0000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aa7b3c0d2dddacdc0b3a79a8d8074675a4d4134271a0e0100000000000002070a0c0d11111111111111111111101c2834404a546774808d9aa7b3c0c4b7ab9e918478685e5246392d2013110d19242f3f4c5865727f8b98abb5bfc5b9ac9f9286796d6053473a2d20141111111111110e0d0b07030000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e9e3dfdddcdfddd4cbc2b9b0a69f9792979fa7b1bcc5d0dbdbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524544505b666d78828f949fa7b1b9c3ccc7bdb4aaa29892857c6f695f564d443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774808d9aa4afbbc8d4ded1c4b7ab9e9184786c63707d8998a3aebac7d3c8bcb1a7998c7f7266574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000307080d1113141619171b1f20212122232323222121201f1c1819161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f151b1c22282b2d302f35393a3b3c3d3d3e3e3e3e3e3c3a37312a22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545453f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2dfdccfc3b6a99c90837669564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f928578675d5145392c20130600010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578675d5145392c2013060000000000000000000000000000000000000000000000000004111d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c070000000000000711191e272e34383a3c3f4145474a4c4d5355575a5d575550483e30271c12070000000000000000000000000000000000000000000000000a15212e3a47535f6a7884919eabb7c4d1ded8ccc0b6ac988b7e7265584b3f3225180c000000000000000000000000040404040404040404000c18232e3e4b5764717e8a97a9b3bec5b9aca196877a6d6154473a2e2114070816232f3c4956626f7c8999a3aebbc7bbafa399897c6f6256493c2f231607000404040401000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaeee6ded8d3d0cfd2d4d8d4cbc2b9b0a9a19ea1a9b1b9c3ced7dfd6cabfb4aaa0958d80746b61564c41382d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463f4a545c666d79828f959fa7b1bac3ccc6bcb4aaa29791857b6e695e564c433a31271e150b0200000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb6c0ccd8d4c8bcb1a79a8d807365606d7986929facb9c5d2cdc2b6aa9d908377695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a060b0f12131415151616161515141312100c0709070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a20272b2d3338393d404145474849494a4a4a4a4a4a4847433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f52525252525252524b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3bec9d5e1dacdc0b4a79a8d8174675a4e413025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daab7c3d0dddfd3c6baaea298867a6d6053473a2d20140700020f1c2835424f5b6875828e9ba8b5c1cedbdcd0c3b6a99d9083766a554b4035291d110400000000000000000000000000000000000000000000000000010d18242f414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c0000000000040f19232b3039404446494b4c52545659575f6164676a64615a5042392e23180d040000000000000000000000000000000000000000000006111c26303c4855626f7b8896a1acb9c5d2ded4c8bbafa49a897d7063564a3d3023170a000000000000000000000000000000000000000000000715222e3b4855616e7b8897a1adb9c6bdb2a8968a7d7063574a3d302417090713202d3a4653606d7986929facb9c5c0b5ab988b7e7265584b3f2f24180c000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae6dcd4cdc7c4c2c6c8ccd2d4cbc2bbb3adabadb3bbc3cbd4e0d6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f524638424a545c676d79839095a0a8b2bac4cdc5bcb3a9a19791847b6e685e554b433930261d140a000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5965727e8b97a2adbec7d2ddd1c5b8aca095887c6f625c6776838f9ca9b6c2ced1c4b8ab9f95887b6e6155483c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070809090a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920262b3237383f4446494c4c515455555657575757575755534e463c31261b0f03000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b545a5c5f5f5f5f5f5f5f5f585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdae6d8ccbfb2a5998c7f7266594c3f332619080000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbe2d6cabeb3aa95887b6e6255483b2f2215080003101d293643505c6976838f9ca9b6c2cfdcdbcec2b5a89b8f8275685c4f422f24180d010000000000000000000000000000000000000000000000000000071a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544a4034281c1004000000000b16212b353d424a51535558565d60636669696e717476706c61544a4034281f160c040000000000000000000000000000000000000000030d17232e38424f5966737f8c99a8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000000000000000000714212d3a46535f697885929eabb8c5bfb2a6998c7f7366594c4030251a0e06131f2c3845515c677783909daab6c3c1b4a79a8e817467554b4035291d10040000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaded4cac2bbb7b6b9bbc0c7d0d4cdc5beb9b8b9bec5cdd4ddd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52462f39424b555d676d7a839096a0a8b2bbc4cdc5bbb2a9a09690837a6d675d554b42382f261b11060000000000000000000000000000000000000000000000000000000000000000000000010b16222f3b4854606b7783909da9b3bed0d9d6cabfb4aa9d9184776a5f5566727f8c99a8b2bdc8d4c8bcb1a7998c7f7266574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e242931373c43474a50535659555d60616263646464646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65696c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e4d7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e414e5a6774818d9aa7b4c0cddae6dbd0bcafa396897c706356493d3023160a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9ded2c5b8ab9f928578665c5144382c1f120600000004101b27323d474f545c60626568686d707375787b7e80837e70665c51443c31281e160d05000000000000000000000000000000000000030c151f28343f4a54616b7783909daab6c3cedaddd0c3b7aa9d908377685e5246392d2013070000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b5c2c2b5a89c8f827569574d42362a1e1205101c2834404b556774818d9aa7b4c0c3b7aa9d908477675d5145382c1f13060000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dde3d8cdc2b8b0aba9acafb6bec7d0d7cfcac6c5c6cacfd7dfddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246393039434b555d686d7a849196a1a9b3bbc5cdc4bbb2a8a0959083796d675c544a41382d221713090000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d5763707d8995a0acbcc5d0dfd3c6baaea2988b7f72655855626f7b8896a0acb9c5d2cdc3b6aa9d908377695f53463a2d2115090000000000000000000000000000000000000000000000000000000000000000000000000000000001040607080705020000000000000000000000000000000105070709090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f282f353c43474e54545b60636668676d6e6f707071717171716f6a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000020f1b2834414d5a6570757878787878787878726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000006192633404c5966737f8c99a6b2bfccd9e4d7cabeb1a4978b7e7164584b3e3125180b0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8dfd3c6baaea29886796d6053463a2d2013070000000713202c38444f5960666d6f7274777a7d7f8285888a8d9084796d60584e433a30281f170e0701000000000000000000000000000000050b151e27313944505c66707d8a959fabb8c4d1e0d6cabeb4aa9a8d807467564c4135291d110500000000000000000000000000000000000000000000020e1a2631404c5966737f8c99a6b2bfc4b8ab9e918578695e52463a2d2014070c18232e3e4b5865717e8b98aab4bfc5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dddfd3c7bbb0a69f9c9fa4acb6bec7d2dad6d2d1d2d6dae1e3d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463927313a434c565e686e7b849197a1a9b3bcc5cdc4bab1a79f958f82796d665c53493f3327251b12090000000000000000000000000000000000000000000000000000000000000000000c18232f3a46535e6975828f9ba7b1bcced7dfd2c5b8ac9f92867a6d6054535f6a7784919eaab7c4cfd1c4b8aca095887b6e6155483c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141514120e0903000000000000000000000002080d1113141615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129313a41454e53586062666c707375787a7b7c7c7d7d7d7d7d7d7c6f6255483c2f24180d010000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c69758285858585858585857f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb2a5988b7f7265584c3f3225190c0005121f2c3845525f6b7885929eabb8c5d1dedacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e2d6cabeb3aa93877a6d6054473a2d2114070000000916222f3b4854606b70797c7e818486898c8f9297979a968b7f726a5f564c423a31292018130c0701000000000000000000000003090e171d273039434c56606d7884919da7b1bcc8d4dfd3c6baaea2988a7d7064574a3d3025190d010000000000000000000000000000000000000000000000091724303d4a5763707d8a96a8b2bdc6b9ada197877b6e6154483b2e2115060715222f3c4855626f7b8898a2aebac6bbafa399897c6f6256493c2f2316070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7ab9f948f939aa4acb6c0ccd8d9dfdedfe2e6ece0d4c7bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c28313a444c565e696e7b859197a2aab4bcc6ccc3b9b1a79f948f81786d655b504440372d241b12080000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b87929facb9c3cedfd3c7bbb0a69a8d8174685d524e586673808d99a9b2bdc9d4c8bcb1a7998c7f7266574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202121211e1a140d05000000000000000000040c13191d202123221f1b160d0802000000000000000000000000000000000000000000000000000000000000000000000000050f18212a333b434c52585f626a6f74787d7f8284878888898a8a8a8a8a8a817568554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9292929292928b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb2a5998c7f7266594c3f3326190c0006121f2c3945525f6c7885929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e6dbd0baada094877a6d6154473a2e2114070000000a1623303d495663707d86888b8e91939a999c9ea1a9a89f92867c6e685d544b433a3229241d18120e090503000000000104060a0f141a20292f39424b555e68727f8b95a0acb9c3cdd8ded2c5b8ab9f9285796d6053473a2d2014080000000000000000000000000000000000000001010303030714212e3a4754616d7a8796a0acb9c5beb3a9978a7d7064574a3d2d22170b0713202d3a4653606d7985929facb8c5c0b5ab988b7f7265584c3f2f24180c0003030303030303030303030000000000000000000000111e2b3744515e6a7784919daab7c4d0dddccfc2b6a99c8f8288939aa4afbbbfc7d1dae3eceeece0d4c8bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f28323a444d575f696f7c859298a2aab4bdc6cbc2b9b0a69e938e81776c605c52493f362d241a110800000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc7d4ddd0c4b7ab9f94887c6f62564c4956626f7c8996a1adb9c5d2cdc3b6aa9d908377695f53473a2e2115090000000000000000000000000000000000000000000000000000000000000000000002080d161e24292c2d2e2d2a251f170f0500000000000000040e161e24292d2e302f2c272119130c0400000000000000000000000000000000000000000000000000000000000000000000020b17212a333c454d565d606a6e767c8084898c8f91969495969797979797918477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae0d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d0006131f2c3946525f6c7985929facb8c5d2dfd9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e0d4c7baada194877a6e6154473b2e2114080000000916232f3c4956626f7c8998989b9d9fa4aca8abadb3aea29891847a6d665d554c443d352f29241d1a13120f0b060c070d1113141b1f252a323a414a545d676d7a85929fa8b1bdcbd4dfd4c8bdb2a89a8e8174675d5145382c1f13060000000000000000000000000000000003080b0d0e1010101013202d3946525e687784919eaab7c4c0b3a6998d80736653493f33271b0f10121f2b3844505c667683909ca9b6c3c1b4a79b8e817468554b4035291d101010101010101010101010100a09070400000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7f7e88939fa3adb5bfc8d1dae3eceaddd1c4b8ab9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c162029323b454d575f6a6f7c869298a3abb5bdc7cbc2b8b0a69e938d80746e635b51483f362c231a100700000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d5c9bdb2a89c8f82766a5f53434653606c7884919eabb8c4cfd1c4b8aca095887b6e6255483c31261a0e020000000000000000000000000000000000000000000000000000000000000000050d14191f282f35393a3b3a36312921170b020000000000020c1620283035393a3c3b383229241e160e090300000000000000000000000000000000000000000000000000000000000000000a141d29333c464e575e686d747c82888d9197999b9ea1a8a2a3a3a4a4a49f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000001101d293643505c6976838f9ca9ababa5988b7f7265584c3f3225190c0401000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c7bbafa49986796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d9cdc0b3a69a8d8073675a4d4034271a0d0005121f2b3744505b657986929facb9c5d2dfd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e1d4c7bbaea194887b6e6155483b2e2215080000000815212e3b4854616e7b8794aaa7aaacafb6b5b8b9beb4aaa0968f82786d675e564f45403a352f2a25201f1b1719191a181d2020272b30363e444c535c666d79829097a2adbac3cedddcd1c5b8aca096897c7063554b4035291d1004000000000000000000000000000001080f14181a1b1d1d1d1d1d1d2935414c566875818e9ba8b4c1c2b6a99c8f8276655b5044372b1f1d1d1d1c28343f4a546774808d9aa7b3c0c3b7aa9d908477675d5145392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d171614100b050000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e727f8b919ba3adb6bfc8d1dae4e9dcd0c3b6a99d9083796d60594f443a30241b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f172029333c454e58606a707d869299a3abb5bec7cac1b8afa59d928c80736d625a50483e352b2219100600000000000000000000000000000000000000000000000000000006131f2b38434e5864717e8b97a1adbdc7d1dcd2c5b9ada1968a7d7064584e4344505b6574808d9aa9b3becad4c8bcb1a7998c7f7366574e42372b1e120600000000000000000000000000000000000000000000000000000000000003090e171e252a313a4145474846423b33291d140a000000000008131e28323a4146474948443d353028201a150c0700000000000000000000000000000000000000000000000000000000000006111b262f3b454e585f696e7a80878f949a9ea1a9a8abacb2afafb0b0b0afa49a897c6f6256493c2f23160600000000000000000000000000000000000000000000000000000000000000000206080d111d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251913110d080603000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d3e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e1d4c8bbaea195887b6e6255483b2f2215080000000714202d3a4753606d7a8698a2aeb7b9bbc0c2c5c6c5bcb2a89e948f82796d686159514b45403936302d2b272226252624292c2d32383b42464f565e656d78828f949fa9b3beccd5dfd4c8bcb1a79d9184786c605346392f24180c0000000000000000000000000000020b131a202427282a2a2a2a2a2a25303f4c5865727f8b98abb5bfc5b8ab9f9285796c605346392d2a2a2a2a2a232e3e4b5764717e8a97a9b3bec5b9ac9f92867a6d6053473a2d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2423201c16100800000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72727f8c919ca4adb6bfc8d2dae4dacdc0b4a79a8d81746d635b51493f362d241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f0e17212a333c464e58606b707d879299a4acb6c0cccac1b7aea49c928c7f726c625a50473d342b22180f0600000000000000000000000000000000000000000000000000000b15222e3b4754606a7783909da9b3becfd9d7cbbfb4ab9e9184786d6053463c3f495363707d8997a2adb9c6d2cdc3b7aa9d9083776a5f53473a2e21150a0000000000000000000000000000000000000000000000000000000000060b141a202930363e434c515454534d453b2f261c1106000000020c1924303a444c525456544f46413a322b261f18120b03000000000000000000000000000000000000000000000000000000000b17222d38414d575f6a6e7b838d92999fa6abadb2b5b7b9bdbbbcbdbdc0b6ac988b7e7265584b3f2d22170b00000000000000000000000000000000000000000000000000000000000205090e1214191d20293643505c6976838f9ca9b6b2a5988b7f7265584c3f322521201d1913120f0b0603000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1dacdc1b4a79a8e8174675b4e4134281b0e000713202d3a4653606d798693a0b5c0cbd7e3d7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e1d5c8bbaea295887b6f6255483c2f22150900000006131f2c3945515d677985929facb8c5c8ccd2d1d2cec3bab0a69e948f837a706b605d55514b46423b3937332d3232332f35393a3d43474d525961686d77818e949ea6b0bbc5cfded7cdc5b8aca0958a7e71655b5044372b1d120700000000000000000000000000010b141d252b30333436363636363636363c4956626f7c8999a3aebbc6baada297887b6e6255483b36363636363636363b4855616e7b8897a2adbac6bbafa399897c6f6356493c363636363636363636363636363636302f2c28211a1108000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726d727f8c929ca4aeb6c0c8d2dbdbcec2b5a99d928c7f736d625b51483f362c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130f18212a343d464f59616b717e87939aa4afbbbfc8c9c0b6aea49b918b7e716c61594f463d342a21180f0500000000000000000000000000000000000000000000000007121c2a36414c56626f7c89959fabbbc5cfe0d3c7baaea3998c7f72665c5044383a4653606d7985929eabb8c5d0d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000000000000000000000000020a11171f262a323b41464f555d60615e574d42382d22170b0300000a141e2935414c565d61636059524c443e373128231d150c070000000000000000000000000000000000000000000000000000030f1b27333f49535e696e7c8490959fa3abb0b8b9bec2c4c5c9c6c5c3c2c0b4a79a8d817467544a3f33281c0f03000000000000000000000000000000000000000000000000000002090e11151a1e2124292c2d3643505c6976838f9ca9b6b2a5988b7f7265584c3f32302d2c2924201f1c17120f0b0600000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d4e0d7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d4c8bbaea195887b6e6255483b2f22150800000004101d2935404b556b7784919eaab7c4d1d8dddedfd5ccc2b8b0a69f9590857d746d67605d55524d4846443f403f3f40414045474a4e54575e616b707a818e939ea6b0b8c2cdd7dbcfc5bbafa59d9183786c6053493f33271b0b010000000000000000000000000008131d262f363c40414343434343434343434753606d7986929facb9c5beb3a9978a7e7164574b4343434343434343434346535f697885929fabb8c5c0b5ab988b7f7265584c434343434343434343434343434343433d3c38332c231a10050000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72656d737f8c929ca4aeb6c0c9d2dbd1c5b9aea49c918c7f726d625a50483e352c231a110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060f18222b343d474f59616c717e88939fa3adb6c0c9c8bfb6ada39f92877e716b60594f463c332a21170e0500000000000000000000000000000000000000000000000c18232e3946525e6875818e9ba7b1bccdd7dfd2c5b9ac9f92867a6d61544a3f343844505c6674818e9baab4bfcad4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000000020c141c232831363e444c525961676d6e695e544a3f33281f14090006111c26303846525d686d6f6b615d565047423c342e271e1910070000000000000000000000000000000000000000000000000005121f2b3744505b656e7b859196a0a7afb5bdc2c6c9c9c6c5bfbab8b6b5b4b4a99d908376665b5044382b1f1206000000000000000000000000000000000000000000000000030a0f141a1e20262b2e2f35393a3d43505c6976838f9ca9b6b2a5988b7f7265584c403f3d3a39352f2d2b28221f1b17110c060000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39886796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2dacdc0b3a79a8d8074675a4d4134271a0e0006121f2b3844505b667986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e1d4c7bbaea194887b6e6155483b2e221508000000000c18242f43505d6a7683909da9b6c3d0dce8ebe7ded3cac2b8b0a79f9791898179726d67615e57555350494d4c4c4d4e4b515356586062696e747d858f939ea5afb8c1cad4dbd6cabeb3a99e938a7d70665b5041382d22170b00000000000000000000000000030f1a252f3841484c4e50505050505050505050515c677783909daab6c3c0b3a79a8d807467544a50505050505050505050504d576976828f9ca9b5c2c1b4a79b8e817468554b505050505050505050505050505050504a48443e352c21160b0000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265636d73808d929da4aeb7c0c9d2d6cbc0b6ada49b918b7f726c625a50473e352c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1300061019222b353e47505a626c727f8b919ca4aeb7c0c9c8bfbbafa39992877d706b60584e453c332920160d0400000000000000000000000000000000000000000004101c2834404a54616e7a86929facb9c3cddfd4c8bcb1a79b8e8174685e5242382e343f4a5463707d8a98a2aebac6d3cec3b7aa9d9084776a5f53473a2e21150a000000000000000000000000000000000000000000000000000a141e262e343b424650565e616b707a7b6e665b50443b31251a0e040b17232e38424e58616d7a7c746d68615a534d454039302b22190f04000000000000000000000000000000000000000000000005111d2a36414c56606c77828f97a1a8b1bbc0c7cfcdc5beb9b8b4aeaca9a8a8a7a79f9285796c605346392d20130600000000000000000000000000000000000000000000040a0f151a1f252a2d31373a3b4145474a4c505c6976838f9ca9b6b2a5988b7f7265584f4d4c4a4745413c3938332d2b27221b17110c07010000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae3d7cbbfb4a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d9ccc0b3a6998d8073665a4d4033271a0d00030f1c28333f4a5f6c7985929facb8c5d2dfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e1d4c7baaea194877b6e6154483b2e21150800000000071c2935424f5c6875828f9ba8b5c2cedbe8f9f0e5dcd3cac2b9b1a9a19e928d857f79726e696562605b535a5958595a555d6063666a6f757b818a91979ea5afb7c1cad3dcd3c9c1baada2978f82756c61544a3f2f261b1106000000000000000000000000000814202b36414a53595b5d5d5d5d5d5d5d5d5d5d5d556774818d9aa7b4c0c3b6a99d908376665c5d5d5d5d5d5d5d5d5d5d5d5d5d5d6673808d99a6b3c0c4b7aa9d918477675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d57554f473e33281c100400111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72655b636e73808d929da5afb7c0c9d3d2c8bfb6ada39f93887e716c615a50473d352b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600071019232c353e48505a626d737f8c929da4aeb7c1cacbc0b5aba39992867d6f6a5f574d453b32281f160c01000000000000000000000000000000000000000006121f2c3844515c66737f8c99a3aebac7d3ddd1c4b8ab9f95897c6f62564c4130262e3a4753606d7985929facb8c5d1d1c5b8aca095887b6e6255483c31261a0f02000000000000000000000000000000000000000000000006111c2630383f444d535a62686e757d8483786c60574d42362a20160c101c28343f4a54606a748086817a716c625f57514b433d342b21160a00000000000000000000000000000000000000000000000713202d3946525e68727e8b949fa9b2bac3cbd1c9c0bbb3adabaaa29f9d9c9b9a9a9a98887b6e6255483b2f221508000000000000000000000000000000000000000001070d161b20262b30363a3c4247484c525457595b566976838f9ca9b6b2a5988b7f7265555c5a585754524c4946443f3937332d28231c18120b0300000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae7dcd1baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e3d9ccbfb2a6998c7f7366594c403326190d00000b17222d45525f6c7885929fabb8c5d2ded9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e0d3c7baada094877a6d6154473a2e211407000000010e1b2834414e5b6774818e9aa7b4c1cddae7ece4dcd6d1cecbc3bbb2ada49d97928c857f7b76726e6c6567666565666768676d7073777c81868e939ea1a9afb8c1c9d3dbd3cac1b7aea49f92857a6e615a5042382d1d140a00000000000000000000000000000b1824303c48535d646769696969696969696969696969717e8b97a4b1bec5b8ac9f9286796d69696969696969696969696969696969707d8a97acb6c0c6b9ac9f93867a6d6969696969696969696969696969696969696361594f44382c20140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265585c646e74808d929da5afb7c1c9d3d1c8bfbbafa49a93877e716c61594f473d342b2218100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000007111a232c363f48515b636d73808d929da5afb8c1c1c1bdb4aba29892857c6f695f574d443a31281e130800000000000000000000000000000000000000000713202d3a4653606d7984919eabb4bfcbd7d5c9beb3a99d9083776a6054443a301f2c3845515c6775828e9baab4bfcbd4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000b17232e38424a50575f616c717a818a918b7f72695e53463e32281e1319232b3844505c666f7c87938e857e766e69605c554f473d32271b0f03000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa6b0bbc4ccd7c8bfb7afa9a19e999892908f8e8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000040c131820272b31373b4246474d5355565d60636567696876838f9ca9b6b2a5988b7f72676a68676563605d565653504a46443f38342e29241d150d06000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e1d4c7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d8cbbfb2a5988c7f7265594c3f3226190c0000121f2c3845525f6b7885929eabb8c5d1ded9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb4aa93877a6d6054473a2d211407000000000d1a2633404d596673808c99a6b3bfccd9e6e4dad2cbc5c1c0c5c4beb9aea9a19e97918c87837e7b797674737272737475777a7d8083898e92999da5adb3bbc1cad3dbd6c9c1b8afa59c928a7e71685e52483e2f261c0b0200000000000000000000000000010d1a2733404c59646f7476767676767676767676767676767b8895a1aebbc7baaea398887c7676767676767676767676767676767676767b879aa4afbbc7bbafa499897d76767676767676767676767676767676767676706b6155483c2f23160900111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726558525c606c77808e939da5afb7c1c9d3d8ccc0b6aca49992877e706b60594f463d342a22180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000008111a242d363f49515b646e74808d939ea6b0b4b4b4b4b4b4aaa29791857b6e695e564c433a2f24190d0100000000000000000000000000000000000006131f2b37434e5864717e8a96a1adbdc6d1dcd2c6b9ada1978b7e7164584e4332291e2934404b5564717e8a98a3aebac7d3cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000003101c28343f4a545c60696e767e858e939e92867b6e615a50443a3024191e2a36414d56606d7883909a97928b827b736d6760594f43382c1f130700000000000000000000000000000000000000000005121e2a36424d5765727f8b98a2aeb8c2cdd3c9bfb6ada59d97928d888583828181818181817d7063574a3d3024170a000000000000000000000000000000000001070d161d242932373c43474d5254575f6265686d70727476787a83909da9b6b3a6998d807a7877757372706d686662605b54535049443f38352f271f17110a0300000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dfd3c6baaea29886796d6053463a2d201307000000000c1925323f4c5865727f8b98a5b2becbd8e5dcd2c8c0b9b5b3b9bbc0c0bbb3ada9a19e9a938f8b88858281807f7f8081828386898c90959b9fa3abafb9bec4cdd3d7d0cac0b7afa69e938c80736c61564c41362c1d140a0000000000000000000000000000010e1b2834414e5b677481838383838383838383838383838383909ca9b6c3cbbfb4aa9d91838383838383838383838383838383838383838288939facb9c6c0b5ab9d9184838383838383838383838383838383838383837d7063574a3d3024170a00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b505b656c77818e939ea5afb7c1cad3d2c7beb5aba39992877d706b60584e463c342a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000008121b242d374049525c606c78818e939ea6a8a8a8a8a8a8a8a9a19791847b6e685e554c4135291d11040000000000000000000000000000000000000a15212e3b47535f6a7683909ca9b2bdcfd8d7cbc0b5ab9e9285796d6053463d322018232f3a4754606d7a86929facb9c5d1d1c5b8aca095887b6e6255483c31261b0f0300000000000000000000000000000000000000000006121f2b3844505c666d727b828b92979ea2988f82756c61564c4135291f27303946525e68727f8b95a0a19e948f867f796f6b6054483b2f2215090000000000000000000000000000000000000000000714212d3a46535f697683909daab4bfcad4d0c1b7ada39c938e85807c797675757474747474706b6155483c2f23160900000000000000000000000000000000040c13181f282f353d43474e53575e6166696e72767a7d7f8183858790959fabb8b4a89c928d87858382807f7d7a76736f6c6663605b53504a4540393128231c150c06000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e3d6cabdb0a3978a7d7064574a3d3124170a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9ded2c5b8ab9f928578665c5145382c1f1306000000000b1724313e4a5764717d8a97a4b0bdcad7e1d6cbc0b6aea9a7acafb5bdc5beb9b3adaca49f9c9897928f8e8d8c8b8c8d8e909299999d9fa7acafb5bdc0c9cfd6d5cdc5bebaaea59e948e81776c605a50443b30241a0b02000000000000000000000000000004111d2a3744505d6a7783909090909090909090909090909090949fabb7c4d0c6b8aca0959190909090909090909090909090909090909090939aa4afbbc8c7b8aca096919090909090909090909090909090909090908b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b49535b656c78818e939ea5afb8c1cad4d0c7bdb5aba39992867d706a60584e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000009121b252e374044505b666d78818f949b9b9b9b9b9b9b9b9b9b9b9691837a6d675d5145392c201306000000000000000000000000000000000006111c2935414c56626f7c88949fabbbc4cfe0d4c7bbafa3998d8073675c5145382c1f13202c3945515d6775828f9cabb5c0cbd4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000000000000000000000713202d3a4653606d787f868f949ea2a9aa9e948a7e71685d52453d31272e39424f59616e7b85929fa7ada69f98928c847d6f6356493c302316090000000000000000000000000000000000000000000815222e3b4855616e7b88959fabbcc5d0d2c7bdafa59c918c8179736f6d66696867676767676361594f44382c201407000000000000000000000000000000050d161d2429313a40454e54585f62696e73777b7f83868a8c8e9092979d9fa7b1bcb9aea49c999792908f8d8b8a86837f7c7975706c65605c54514b433d342e261e180f080000000000000000000000000a1724303d4a5763707d8a96a3b0bdd0dbe7d8cbbeb1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedae3d7cbbfb5ab95887c6f6255493c2f2216090003101c2936434f5c6976828f9ca9b5c2cfdcdbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544b4034281c1004000000000a1623303d495663707c8996a3afbcd1dcddd1c5b9aea49d9a9fa3abb5bfc6c4beb9b6afaca9a9a29f9c9a999898999a9b9d9fa3abaaabb1b9bbc0c7cfd5d5cec9c2bbb3ada49d938e82796d655b50483e32291e120800000000000000000000000000000004111d2a3744505d6a7783909c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bcc7d3c8bdb1a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa4acb6c0ccc8bdb2a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b4149535b666d78818e939ea6b0b8c2cad4d0c7bdb4aba29892867c6f6a5f584e453c332920170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000009131c2528333f4a545c666d79828e8e8e8e8e8e8e8e8e8e8e8e8e8e8e837a6d6054473a2d21140700000000000000000000000000000000000b17222d3946525d6874818e9aa6b0bccdd6dfd2c5b9ac9f92877b6e61554b4034281c111d2935414b5565717e8b99a3afbbc7d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000916232f3c4956626f7c8992989fa6adb3b0a69e91857a6d60594f43392f34404b54606b75818e98a2aeb9b0aaa39f958a7d7164574a3e3124170b0000000000000000000000000000000000000000000c1925323f4c5865727f8b98a7b1bcced7ccc0b5ab9e938c7f746d6762605c545b5b5b5b5b5b57554f473e33281c10040000000000000000000000000000060e171f282f353d434b515860626a6e747b8084888c8f9299989a9c9ea1a9abb1b9c2bfb6aea8a9a29e9d9b9a989992908c8985827d78716d66605d554f443f383029211a110800000000000000000000000915222f3c4855626f7b8895aab4bfcad6e2d9ccc0b3a6998d8073665a4d402f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfdce0d3c7bbaea399877a6e6154473b2e21140800020f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c00000000000815222f3b4855626e7b8895abb5c0cbd7dbcec1b5a99d928d9299a3aeb4bcc3c9c7c0bbb9b6b3adaba9a7a6a5a5a6a7a8aaacafb5b6b8bcc3c7cbd1d4cec9c4bdb9b0a9a29f928d81786d675c53493f362c20170d0000000000000000000000000000000004111d2a3744505d6a7783909da9a9a9a9a9a9a9a9a9a9a9a9a9abb0b9c2cdd8cec3bab1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9acafb6bec7d2cec3bab2acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f414a545c666d78818f949ea6b0b8c2cad4cfc6bdb4aaa29892857c6f6a5f574d453b322920170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000010a1317222d38424a545c676d79818181818181818181818181818181817e7265584b3f3225180c00000000000000000000000000000000030f1c28333f4a54616d7a86929facb8c2cddfd4c8bdb1a89b8f8275695e5343392e23180d18242f3a4754616d7a86929facb9c5d2d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000000000000000000000815222e3b4754606a75828f99a3afb9beb9ada1978e81746b60554b40343845515c66707d89939eaab3bebcb0a69d9083786c605346392d2013060000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd4c7bbafa4998f81756d605d5553504a4e4e4e4e4e4e4a48443e352c21160b0000000000000000000000000000070f182029313a40454f555d606a6f757b81868d9196989c9fa3aba7a9abadb3b8bcc2cbc8bfb9b4b3adabaaa8a6aba39f9c9997928e8a837e79726d676059504a423b332c231a1007000000000000000000000714212e3a4754616d7a8798a2aebac7d3e0dbcec2b5a89b8f827568554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1dedfd2c5b9ac9f9286796c605346392d20130600010e1a2734414d5a6774808d9aa7b3c0cddaded1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c0700000000000714212e3a4754616d7a8799a3afbbc7d4dacdc0b3a79a8d8087929fa2aab1babec5c9c8c6c2bebab8b5b4b3b2b2b3b4b5b6b9bbc0c3c4c8cdd3d2ccc8c4bdb9b2aca69f97928a80786d665c554b41382d241a0e050000000000000000000000000000000004111d2a3744505d6a7783909daab6b6b6b6b6b6b6b6b6b6b6b6b7bcc2cbd4ded5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7d0d9d5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f38424a545c666d78828f949fa6b0b8c2cbd4cfc6bcb4aaa29792857c6f695f574d443b322920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000006111c262f38424b555d676d74757575757575757575757575757575726d62564a3d3124180b0000000000000000000000000000000006121f2b3844505b66727f8c98a2aebac7d3ded1c5b8aca095897d7063574d4230271d120713202d3946525e6876838f9ca9b6c2cdd4c8bdb1a8998c807366584e43372b1f1206000000000000000000000000000000000000000006131f2b37434e58626e7b87929faab4bfbeb3a99d93897d70675c51453c424d57606d7984919da5afbcc5b7ab9f948a7d70655b5044372b1f12050000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2c6b9ac9f93877b6e625b514b46443f4241414141413d3c38332c231a100500000000000000000000000000071019212a323b434b515960676d747c82878e92999ea0a8a9acafb5b4b6b8b9bec5c8cdd4d1cac4c5beb9b8b6b5b3b5afaca9a9a29f9b95908b847f79706b605c544d453d352c22190f060000000000000000000713202d3946525d687985929facb8c5d2dfddd0c4b7aa9d918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfded1c4b7ab9e918478665b5044382b1f120600000d192633404c5966737f8c99a6b2bfccd9dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000006131f2c3845515d677884919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000613202d394653606c7986929facb9c5d2d6cabdb0a3978a7d7e8a9298a0a7adb3b9bdc4c6c9cac6c5c2c1c0bfbebfc0c1c3c5c7cbd1d1d1cbc7c5c0bbb9b2aca8a19e948f857e736c665c544b43392f261b1208000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c3c3c3c3c3c3c3c3c3c3c4c7cdd4dde6ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c6c8ccd2d9e2ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3beb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f2f38424a545c666d79828f949fa6b0b9c2cbd4cec5bcb3a9a19791857b6e695e564d443a32281f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000a141d263039434b555d606768686868686868686868686868686865625b51453a2e221509000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d6cabeb4aa9d9184776b6054453b311e150b05111d2a36414c5665727f8b98a7b1bcc8d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000030f1b27323d47535f6a74818e98a2aebac4bbafa59e9184796d60584e4246535f69727f8c96a0acb7c1bbb0a69c9083766b6153493f33271b0f03000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcfc2b5a99c8f8276695f5345403a38342e3434343434302f2c28211a110800000000000000000000000000071019222b333c444c555d606b707980878f939a9fa3abacb2b6b9bbc0c1c3c5c6c9cfd4d8dfdcd5d0cfcac6c5c3c2c0c0bbb9b6b3adaba7a09d96918b847d736d665f574f473d342b21180e05000000000000000005111d2935414c566a7784909daab7c3d0dddfd2c6b9ac9f93867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4e0dccfc2b5a99c8f827669544a3f33281c0f0300000b1825313e4b5864717e8b97a4b1bed0dbe0d4c7bbafa499887b6e6255483b2f221508000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d000000000006121f2b3844505b667885919eabb8c4d1d7cbbeb1a4988b7e717e8691959fa2a9acb2b8b9bec1c3c5c7cbd1cacbcbcbcbcac9cfc9c5c4c2c0bbb9b6afaca8a19e96918a827b706c605b544a423931271d140a00000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cfcfcfcfcfcfcfcfcfcfd0d3d8d8dbdfe7dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfd2d4d8dddfe2e6e0d9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f323038424b545c676d79828f949fa7b1b9c3cbd5cec5bbb3a9a19791847b6e695e564c443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000020b151e273039434b51535b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120500000000000000000000000000000006121e2b37424e5764707d8a96a1acbcc6d0dbd3c6baaea2988b7f7265594f4433291f0c03010d1925303b4854616e7b87959fabb8c4d1d1c5b8aca096887c6f6255483c32261b0f0300000000000000000000000000000000000000000a15202b37434e58616e7b86929fa9b3bec0b9aca0968d80736a5f544a505a616e7b86929fa8b2bdc7b7ab9f94897d7063594f41382d22170b00000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ccbfb2a5998c7f7266574d42352f2b282328282828282423201c16100800000000000000000000000000050e19222b343c454d565e676d747d848d939a9fa4acaeb4b9bdc2c5c7cbd1cfd1ced1d2d5dae0dcd5d0cdccc9caccced1cbc7c5c3bebab8b1aca8a19e96918780786e6960594f463d332a20170d0300000000000000010d192430414e5b6874818e9ba7b4c1cedae0d4c7bbafa499887c6f6255493c2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97acb6c0ccd8e4d9cdc0b3a69a8d8073675a4d402d22170b000000091623303c4956636f7c8996aab4bfcad6e2d7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000915222f3c4855626f7b889aa4afbbc8d4e0d7cbbeb1a4988b7e7165584b3e3225180b0000000000030f1c28333f4a546a7784909daab7c3d0d9ccbfb2a6998c7f73717c838b92979ea1a8abadb3b4b7b9babfbdbdbebebfbebdbcbbbdb9b7b5b5afacaca49f9c96918b847d766e69615a504a423930271f150b0200000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacbcccfd4dae2e5e1ded6d1cecdcacacacacacacacacacacacacacacacacacacad2d3d6dbe1e5e1ded5d0cdcccacacacacacacacacacacabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32263039424b555d676d798290959fa7b1b9c3cbd5cdc5bbb3a9a19691847b6e685e564c433a31271e150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000030c151e2831394045474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f372d23180c010000000000000000000000000000000a14212e3a47535f6a76828f9ca8b2bdced8ded2c5b8ab9f92857a6d6054473d3321170d00000814202d3a46525e697683909da9b6c3ced4c8bdb2a8998c807366584e43372b1f12060000000000000000000000000000000000000000040f1a26313c46525e6973808d97a2adb9c4bdb2a89f92877c6f665b5055616c75828f98a2aebac3bdafa59c8f82766b6054473e2f261b110600000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c9bcafa396897c706356493d31241f1c171b1b1b1b1b171614100b0500000000000000000000000000030d17202b343d464e575f686e79818991969fa4acafb6babfc6c8ced2d2d0cac6c5c2c4c5c9ced6d1cac4c1bfbcbec0c2c5c6cad0cfcac6c3bcb8b2aca9a199938d837b706b60584e453c32291f150b0100000000000000081926323f4c5965727f8c98a5b2bfcedae3d7ccc0b5ab988b7f726553493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aa7b4c0d2dde3d7cbbfb4ab978a7e7164574b3e312418060000000814212e3b4754616e7a8798a2aebac7d3e0ddd2beb2a5988b7f7265584c3f32251909000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97acb6c0ccd8e3d7cbbfb4aa96897c706356493d3023160a0000000000000b17222d434f5c6976828f9ca9b5c2cfdacdc0b4a79a8d81746a6f787f858c91969a9ea1a9a7aaacaeb4b0b1b1b2b2b1b0afaeb2adaba8aba39f9c9a938f8a847e79706c615f5750443f382f271e150d030000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbebfc3c9d0d9e2dad2cbc5c2c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc5c6cad0d7e0dad1cac4c1c0bdbdbdbdbdbdbdbdbdbdbdbdb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225273039434b555d676d798390959fa7b1b9c3ccd5cdc4bbb2a8a09691837a6d685d554c433930271e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000030c161f282f35393a414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000006111b2935414b55626e7b88949fabbac4cee0d3c7bbb0a69a8d8074675d5145392c201305000005121e2a36424d5766727f8c99a7b1bcc8d4cec3b7aa9e9184776a5f53473b2e21150a0000000000000000000000000000000000000000000915202a36424d57606d7a85929ea8b2bdc3bbafa3999083786c60575d67707d8a949eaab4bfc0b5ab9e93897c6f62594f44352c1d140a0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbaea295887b6f6255483c2f2215100b060e0e0e0e0a0907040000000000000000000000000000010b151f29333d464e5860696e7a838e939ea1a8afb6bbc0c7cbd1d4cec9c5c4bebab8b5b7b9bdc4ccc8bfb9b4b3afb1b3b5b8babfc5c6cacfcec8c4bdb9b2aba49f9590867d706a60574d443b31271d1207000000000000000a1623303d495663707d8996a8b2bdc9d5e1ddd2c2b5a89b8f8275655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d0dde0d3c7baaea399887b6f6255483c2f2215090000000613202d394653606c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4131251a0e020000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfd2dde0d3c7baaea398877b6e6154483b2e211508000000000000061b2835424e5b6875818e9ba8b4c1cedbcec2b5a89b8f827568666d727a7f848a8e9197989b9d9fa3aaa3a4a4a5a5a4a3a2a2a8a19e9c999992908c87827e79726d67615a534d453e332d261d150c03000000000000000000000000000000000000000004111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b3b7bec7d0dfd2c8c0b9b5b4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b8babec5ced7d1c8bfb9b4b3b0b0b0b0b0b0b0b0b0b0b0b0b0a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32251e273039434b555d676d7a839095a0a7b1bac3ccd5cdc4bab2a8a09590837a6d675d554b433930271e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000040d161d24292c2d3435353535353535353535353535353532312e29231b1209000000000000000000000000000000000b17222d3945515d6774808d9aa6b0bbccd6ddd0c3b7ab9f94887b6e62554b4135291d11040000020e1a25303b4855626e7b8895a0acb8c5d1d2c5b8aca096887c6f6255483c32261b0f030000000000000000000000000000000000000000030e1a25303b45525d68727f8c96a1acb9c3c0b5ab9f958b7f72695e606d7984919ea6b0bcc6bbafa4998f82756a6054473d32231a0b0200000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e21140800000101010100000000000000000000000000000000000007121d27313b454e58606a6f7b8490959da5acb2bbc0c7ccd2d1cbc7c4bdb9b7b3adaba8abacb2bac4bfb6aea8a6a2a4a6a8acaeb4b8b9bec5c9cecec9c4bdb5afa79f9892867c6f695f564d43392f23180c040000000000000714212e3a4754616d7a8796a1acb9c5d2deded1c5b8ab9e9285796c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000005121f2b3744505b657784919daab7c4d0dddbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000000000000000000000000000004111d2935414b556774818d9aa7b4c0cddadfd2c5b9ac9f9286796c605346392d2013060000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d0c3b6a99d9083766a5c60686d72787d8185888b8e909298959797989898989796959496918f8c8a86837f7b76716d66605c555046423b3328221c140b0300000000000000000000000000000000000000000004111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7acb5becdd7cbc0b6aea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4abaeb3bcc5d0cabfb6aea8a6a4a4a4a4a4a4a4a4a4a4a4a4a4a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225151e273139434b555d686d7a839095a0a8b2bac4ccd6ccc4bab1a8a0959083796d675d554b423930261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000040c12181d2020282828282828282828282828282828282524221d18110900000000000000000000000000000000030f1b27333f4953606d7a85929fabb8c2ccded5c9bdb2a89c8f82766a5f53433a2f24180d010000000914212e3a47535f697784919daab7c4ced4c8bdb2a8998d807366584e43372b1f130600000000000000000000000000000000000000000009141f2935414c56606d7984919ea7b1bcc7bdb1a79f92867b6e616a73808d96a1acb8c1c0b5ab9f93877c6f62584e43352b2111080000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000050e18232f39434d57606a6f7c859196a0a7afb9bdc4ccd2d4cfc7c0bbb9b2acaaa9a29f9b9ea1a8b2bdb9aea49c999697999c9fa2aaabadb3b9bdc4cbd1d0c7c0bbb1aaa29892857b6e685e554b40342920150a0000000000000713202d3946525e687884919eabb7c4d2dddfd2c6b9ada197887c6f6255483c31261a0f01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464707d8a9aa4afbbc8d4e0dcd0c3b6a99d908376665c5144382c1f1206000000030f1b27333f49536875828e9ba8b5c1cedbded1c4b7ab9e918478695e53463a2d21140700000000000000000000000000000000000000000000000613202c3945515d677683909da9b6c3d0dcddd0c3b7aa9d908477665b5044382b1f12060000000000000c1926333f4c5966727f8c99a5b2bfccd8d1c4b7ab9e9184786b56565d60666d7074787c7e81848687888a8a8b8b8c8b8a898887868482807d7a76726e6964605c54514b433e3631292117110a020000000000000000000000000000000000000000000004111d2a3744505d6a77839097979797979797979797979797979797989ba3acbbc5cfc5b9aea49d9a979797979797979797979797979797979797979fa2aab3becac4b9aea49c999797979797979797979797979797978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322518151f28313a434c565d686d7a839096a0a8b2bac4ccd5ccc3bab1a79f959082796d675c544a42382f261b110600000000000000000000000000000000000000000000000000000000000000000000000606060606060606060606060606060606060606060b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0606060606060606060606060606060606060606060100000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000001070d1013141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120c06000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d3ded2c5b9aca1968a7d7064574e4231281d13070000000006121e2b37424d576673808c99a8b2bdc9d5cec3b7aa9e9184776a5f53473b2e21150a000000000000000000000000000000000001020203020d19242f3a45515c67717e8b95a0acb8c2c2baaea2988f82756c6e7c87929fa8b2bdc7bbafa3998e81756a5f53463d3223190f000303020100000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000020d17202934404b555e696f7c869297a0a8b1b9c0c9ced8cec8c2bdb5afaca8a09e9997928f9196a1acb9b4a89c928c898b8d8f92989a9ea2a9acb2bbbfc6cfd2ccc2bcb3aaa19791847a6e675c51453c31261b0f04000000000005111d2a36414c566774818e9aacb6c0ccd8e2d6cabeb3a9998c807366584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6674818e9bacb6c0ccd8e2d6cabfb4aa998c807366544a4034281c1004000000000b17222d3f4c5966727f8c99a5b2bfcedaded2c5b9aca196877b6e6154483b2e21150900000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d2dfdacec1b4a79b8e817468544a3f33281c0f030000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679685d5252545c6063656c6f727477797a7c7d7e7e7f7f7e7d7c7b7a79787573706d6766615e5753504a454039312a261f170f0600000000000000000000000000000000000000000000000004111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b919ba9b3becac2b5a99d928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9298a2aebac6c1b4a89c928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180d161f28313a434c565e686e7a849196a0a8b2bac4cdd5ccc3b9b1a79f948f82796d665c544a41382d2217130a010000000000000000000000000000000000000000000000000000000002070a0c0d121212121212121212121212121212121212121212121825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322518121212121212121212121212121212121212121212120d0d0b0703000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000010406070e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0905010000000000000000000000000000000000000613202d394653606c7884919daab4becad6d6cbbfb4aa9e9184786d6053463c3120160c0100000000020e1a26313c4955626f7c8896a1acb9c5d2d2c5b9aca096887c6f6255493c32271b0f030000000000000000000000000407090a0e0f0f101008131e2834404b55606c7883909da6b0bbc7bfb4aa9e948a7e7176828f99a3aebac4bfb4aa9f92877b6e61584e43342b20110610100f0f0e0a090704000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000009141f29333b45515c676e7b859198a1a9b2bac3cbd5d6ccc3bdb8b0aba39f9b96918c89858284919eabb7b3a6998c807c7e808285898d92979ea1a8aeb5bdc3cbd7cec5bcb3a9a1969083796d60584e43372b20150a0000000000010d1925303e4a5764717e8a9aa4afbbc8d4e0dacfc4b7aa9d9184776a5f5347392f23180c00000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d2dde0d3c6baaea298897c706356493d2e23180c0000000000061723303d4a5663707d8996a8b2bdc9d5e1d5c9bdb2a8978b7e7164584b3e31261a0e02000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3afbbc7d3e0d7cbc0b5ab988b7f7265584c3f2d22170b000000000000000a1724303d4a5763707d8a96a3b0bdc9d6d3c7baaea398877a6d6054474a5053535b60626568656c6d6f707171727271706f6f6e6d66696663605d5554534d46443f38342f271f1a140d0600000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e8b97a1adb9c6c0b4a79a8d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e85929fabb8c5c0b3a6998d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0d161f28313a444c565e686e7b849196a1a8b2bbc4cdd5cbc2b9b0a69f948f82786d665c53493f3327261c130a010000000000000000000000000000000000000000000000000000070e1317191a1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f25323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f32251f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e080100000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000010202020202020202020202020202020000000000000000000000000000000000000000000005121e2a36424d5763707d8996a0acbcc5d0dbd3c7baaea3988c7f72665c5044382b1f12040000000000000915212e3b47535f6a7884919eabb7c4cfd5c9bdb2a8998d807366584e43372b1f130600000000000000000000050b101416171b1b1c1c1d1d1e18232e3944505b66707d8a949fabb7c1c5bcb0a69e92857a7e8a949fabb5bfc7baaea3988e8174695f53463c31221c171e1d1d1c1b1b171613100b0500000000000000000000000000000916222f3c4955626f7c8895a9b3bec9cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000030c1a25303b45515b606d79839097a1aab3bbc4ccd5d0cac0bab2aca69f99928f89847f7c7976838f9ca9b6b2a5988b7f72717375797d80858b91969fa3abb1b9c2cbd4cec5bbb2a8a0958d80736a5f53473c32261b0f0100000000000814212e3a4754616d7a87939facb9c6d2dfded1c5b8aca095887b6f62554b4034291b110600000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8997a2adb9c6d2e4dfd2c5b8ac9f9285796d6053463a2d20130700000000000714212e3a4754616d7a8796a1acb9c5d2dedacec1b4a79b8e817468574d42372b1e120500000000000000000000000000000000000000000005111d2935414c566773808d9aabb5c0cbd7e0d4c7bbafa399897c6f6256493c2f231606000000000000000916222f3c4955626f7c8895a2afbbd0dbd7cbbfb4aa95887b6e6255483f44464950535558535b60616264646565656564636261605c54595754514b4846423b38342e29231d150d09030000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717885929eabb8c5c0b3a69a8d8073717171717171717171717171717171717176828f9ca9b6c2bfb2a5998c7f727171717171717171717171717171716e695e53463a2d21140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c040d161f28323a444c565e696e7b849196a1a9b2bbc5cdd4cbc2b8b0a69e948e81786d655b504440382e251c1309000000000000000000000000000000000000000000000000020a12191f2326272c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b02000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7dfd2c5b8ac9f92867a6d61544a3f34281c100300000000000006131f2b37434e586773808d9aa9b3bec9d5cec4b7aa9e9184776a6054473b2e22150a000000000000000000080f161c202223282829292a2a2b2b2328333f4a54616b76828f9ca5afbdc7c1b9ada1978e8185919ea6b0bdc6bfb4aa9f92867b6e61574d42342d2c28232b2a292928282322201c160f08000000000000000000000000000714202d3a4753606d7a8697a1adb9c6ccbfb3a6998c807366594d4033261a080000000000000000000000000000000000000000000a151e2a36424d57626d75818e959fa9b2bcc5cdd6cec6bfbaafa8a09d948f87827d78736f6d76838f9ca9b6b2a5988b7f726566676d7074797f848c9299a0a7b1b9c2cbd4cdc4bab1a79f92877c6f62584e43372b1e130800000000000713202d3946525e687783909daab6c3cdd9e0d4c8bcb1a7998d8073675c5145382d22170b0000000000000000000000000000000000000000000000000000000000000000000b13202c3945525d6874818e9ba9b3becad6e2d7cbc0b5ab9c8f8276675c5145382c1f130600000000000713202d3946525e687884919eabb7c4d1deded1c4b7ab9e918478695f53463a2d2114080000000000000000000000000000000000000000000713202d3946525d687783909daab6c3d1dcdfd2c5b9ac9f92867a6d6053473a2d201407000000000000000815212e3b4854616e7b8794aab3becad6dcd1bcafa396897c706356493d383a3f4446494b49505354555757585859585756555453514b4d4a4745413b3a36312c28231c18120b0300000000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646975828f9ca8b5c2c2b6a99c8f8376656464646464646464646464646464646673808d99a6b3c0c1b5a89b8e8275686464646464646464646464646464615e574d42362a1e120500111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00040d162029323b444d575e696e7b849197a1a9b3bbc5cdd4cac2b8b0a69e938e81776c605c524a40372e251b120900000000000000000000000000000000000000000000000a141c242a2f3233393939393939393939393939393939393939393939393939393e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f393939393939393939393939393939393939393939393939393433302b241c140b010000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd4c7bcb1a79b8e8174685e5242382e23170b00000000000000030f1b26323c4956636f7c8997a1adb9c6d2d2c5b9aca096887c6f6255493c32271b0f030000000000000008111a21272c2f3034353536363737382e34383a424f59626f7c89939eabb5c0c9beb3a99e938e9197a1adb8c2c6baaea2988d8073695e52453b3a3a38342e373736363534302f2c27211911080000000000000000000000000613202c3945515d677885919eabb8c4cec1b4a89b8e8175685b4e423025190e020000000000000000000000000000000000000006111c26303846525e69727f8b939ea7b1bbc4ced6ccc4bcb4aea59d96918a827c75706c65626976838f9ca9b6b2a5988b7f7265555c6063676d72787f8790959fa7b1b9c2cdd6ccc3bbaea3998f82756a5f54473a2f24190d010000000005111d2a36414c566673808d99a7b1bcc8d4e3d9cec3b8ab9e9285796d6053493f33271c12070000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7a86929facb8c5cfdbe0d4c7bbafa3998b7f7265554b4034281c1004000000000005111d2935414c566875818e9ba8b4c1ced9dfd2c5b9ada196887b6e6155483b3024190d0100000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfddd0c3b6aa9d908377675d5145392c1f1306000000000000000714202d3a4753606d7a8698a2aebac6d3d7cabdb1a4978a7e7164574b3e312d3337393c3f3f444647494a4b4b4c4c4b4a494847464540403d3a39352f2d2a251f1c17110c070100000000000000000000000000000000000000000000000000000000000004101c27333d474f5456575757575757575757575757575757596673808c99a6b3bfc5b8ab9f9285796c60575757575757575757575757575764707d8a97a8b2bdc4b7ab9e918478685e5757575757575757575757575754534d453b31251a0e0200111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000040e172029323b454d575f696e7b859197a1a9b3bbc5ced4cac1b8afa59e938e80746e645c524940372d241b120900000000000000000000000000000000000000000007121c262e353b3f4045454545454545454545454545454545454545454545454545454b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b4545454545454545454545454545454545454545454545454545403f3c362e261c12080000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d99a4afbbc7d4ddd1c4b8ab9f95887c6f62564c4130261c110600000000000000000a13202d394653606c7985919eabb8c4d0d5c9bdb2a8998d807366584e43372b1f1306000000000000050f1a232b33383c3d414242434344444445404546474754606a75818e99a3afbbc6c5bbafa59e9b9ea1a9b3becabeb3a99f92867a6d61574d48484746443f454443434242413d3c38332b23190f05000000000000000000000004111d2935404b55697683909ca9b6c3cfc3b6a99d9083766a564c41362a1e1105000000000000000000000000000000000000000c17232e38424f59616e7b86929fa5afb9c3cdd5ccc4bab2aaa29f928e847d766f6a63605b536976838f9ca9b6b2a5988b7f7265585153555d60666d737c8390959fa7b1bbc5cfd7cbbfb5ab9e94887c6f62564c4135291d110400000000010d1925303b4855626e7b8895a0acb8c7d2dddfd2c6b9ada1978b7e71655b5044392e23180c020000000000000000000000000000000000000000000000000000000000000c18232e3844505b66727f8c98a2aebac7d7e1dfd2c5b9ac9f92867a6e6154473b2e23180c000000000000010d1925303e4b5865717e8b98a8b1bdc8d4e1d5c9bdb2a8988b7e7165564c4135291d11050000000000000000000000000000000000000004101d2935404b5564707d8a99a4afbbc7d4e0d6cabfb4aa998d807366554b4035291d10040000000000000006131f2c3845515c677885929fabb8c5d2d8cbbfb2a5988c7f7265594c3f3222272b2d2f2d3337393a3c3d3e3e3f3f3e3d3c3c3b3a38342e302d2c2924211e1a14100c06000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5763707d8a96a8b2bdc6baada297887b6e61554a4a4a4a4a4a4a4a4a4a4a4a54616e7a8796a1adb9c5b9ada196877a6e61544a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000050e172029333b454d575f696e7c859297a1a9b3bcc5ced3cac1b7afa59d928d80746e635b51493f362d241b120800000000000000000000000000000000000000020e19242e3840474b4d5252525252525252525252525252525252525252525252525252525865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265585252525252525252525252525252525252525252525252525252524d4c4740382e24190e0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5c0ccd7d5c9beb3a99d9083766a6054443a301e140a00000000000000000006121f2b3844505b6674818e9aa9b3becad6cec4b7ab9e9184786a6054473b2e22150a0000000000000b16212b353d44484a4e4e4f4f50505151524b515354545558616e7b87929faab4bfcac1b7afaaa8abadb3bbc4c6baada2978c8073685e565555545453504a515150504f4e4e4a48443d352b21160b0000000000000000000000010d18242f414e5b6774818e9aa7b4c1cdc5b8ab9f928578685e5246392d20140700000000000000000000000000000000000003101c28343f4a54606b75818e98a2aeb7c1cbd4ccc4bab2a8a198928a8179706b625f5853505c6976838f9ca9b6b2a5988b7f7265584c464b51545c606a6f7a8390959fa9b3becad6d1c6bdb0a69b8e8175685d5245392c20130600000000000814212e3a47535f6a7783909dabb5c0ccd7e2d6cabeb3a99d9083786c60544a4034281f1409000000000000000000000000000000000000000000000000000000000006101c2834404b54606c7884919eaab4bfcad6e2d6cabfb4aa9c8f8276685e5246392d1d1207000000000000000815212e3b4854616e7b8795a0acb8c5d1dedacfc2b5a89b8f8275685d5246392d20160b0000000000000000000000000000000000000006131f2c3945515d6774818e9babb5c0ccd7e0d3c7baaea298897d706356493d2f24180c000000000000000004101c2934404b556b7784919eaab7c4d1d9cdc0b3a69a8d8073675a4d4034271b1f202222272b2d2e2f31313232323231302f2e2d2c28232421201d1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e4754616d7a8796a0acb9c5beb3a9978a7e7164574b3e3e3e3e3e3e3e3e3e3e46525e697884919eabb8c4bdb2a8978a7d7064574a3e3e3e3e3e3e3e3e3e3e3e3b3a36312921170d030000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000050e172029333b454d575f6a6f7c859297a2aab3bcc5ced3c9c1b7afa59d928c80736d635b51483f362d241a110800000000000000000000000000000000000007131f2a35404a52575a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f65717e8b98a4b1becbd7e4d8cbbeb1a5988b7e72655f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5965717e8b97a2adbdc7d2ddd2c6b9ada1978a7e7164584e4332281e0c02000000000000000000030f1c28333f4a5463707d8997a2adbac6d3d2c5b9aca196887c6f6255493d32271b0f000000000004101c27333d474f54565b5b5c5c5d5d5e5e5e5f5c6060616162626974808d98a2aebac6c9c1bab6b5b8b9bec4cdc5b8ab9f92857a6d64636362626160605c5f5e5e5d5c5c5b5b56544f473d33271c10040000000000000000000000071926333f4c5966727f8c99a5b2bfd2c6baaea298877a6e6154473b2e21140800000000000000000000000000000000000006121f2c3844505c66707d89939eaab4bfc9d3cdc4bab2a8a19691867e746d676159534e46505c6976838f9ca9b6b2a5988b7f7265584c3f40454a50585f686d7a839097a2adb9c2cdd8cfc1b9ac9f92867a6d6054473a2d22170b000000000006121f2b37434e5865727f8c99a4afbbc7d4e0dacfc5b8aca0958a7e71665c51443b3025191007000000000000000000000000000000000000000000000000000000060f1a242c3845515c66717e8b96a0acbcc6d0dbe0d3c6baaea2988a7e7164564c41362a1e0b00000000000000000714202d3a46525e697784919daab7c4cfdadfd2c5b9ac9f92867a6d6154473d32271b0b020000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dddfd2c5b8ac9f9286796d6053463a2d2013070000000000000000000c18232f43505d697683909ca9b6c3cfdbcec1b4a89b8e8175685b4e4235281b121316171b1f20212224242525262524232221201f1c18171413110d07050200000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30313131313131313131313131313946525e687784919eaab7c4c0b3a69a8d80736753493f333131313131313136424d566875828f9ba8b5c2bfb3a6998c80736653493f333131313131313131312e2d2a251f170f05000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000050e172129333c454e575f6a6f7c859298a2aab4bcc6ced2c9c0b7aea49c928c7f726d625a50483e362c231a110800000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c717e8b98a4b1becbd7e4d8cbbeb1a5988b7e726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b15222f3b4854606b7783909da9b3bed0d9d7cbc0b5ab9e9285796d6053463c3220160c00000000000000000000000b17222d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d807367584e43372b1b1106000000000714202c38444f59606367686869696a6a6b6b6c666d6d6e6e6f6f70707a85929facb8c5d2ccc6c3c1c4c6c9cfccbfb2a5998c7f72717170706f6e6e6d6d666b6b6a6a696968676360594f44382c20130700000000000000000000000a1724313d4a5764707d8a97abb5c0cccabeb3aa96897c706356493d3023160a0000000000000000000000000000000000000713202d3a4653606d7883909da5afbcc6d0cfc5bbb2a8a09691847c716c605c554f474343505c6976838f9ca9b6b2a5988b7f7265584c3f35383f444e565d686d7a85929ea6b0bbc7d3d3c7baaea3988b7e7165544a3f33281c0f0300000000020f1a26313c4754616e7b87939facb9c2cdd8e1d4c8bcb1a79e9184796d60564d42362a22190e0500000000000000000000000000000000000000000000000000040d18212a36414c56606d7984919ea8b2bdced8e2d7ccc0b5ab9f92867a6d6053473b3025190d000000000000000005121e2a36424d576774808d9aa8b2bdc9d5e0d3c7baaea3998b7e7265594f44382c1d140a000000000000000000000000000000000008131f2b37434e5864717e8a98a2aebac6d3e3d7cbbfb5ab9c8f8276675c5145382c1f1306000000000000000000071c2935424f5c6875828f9ba8b5c2cedbcfc2b6a99c8f8376695c50432e23180c06060b0f12131416171818191918171615141313100c070706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242a36414c566875818e9ba8b5c1c2b6a99c8f8376655b5044372b242424242425303f4c5966727f8c99acb6c0c2b5a99c8f8276655b5044372b242424242424242421211e1a140d0500000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000050f17212a333c454e585f6a6f7c869298a2aab4bcc6cfd2c9c0b6aea49c918b7f726d625a50483e352c23191007000000000000000000000000000000000c1926323f4b57636e737878787878787878787878787878787878787878787878787878787878787e8b98a4b1becbd7e4d8cbbeb1a5988b7e787878787878787878787878787878787878787878787878787878787878736e64584c3f3326190d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57636f7c8995a0acbbc5cfe0d3c7bbafa3998c8073665c5145382c1f1305000000000000000000000006121f2c3844515c6675818e9baab4bfcad6cec4b7ab9e9184786a605447382d22170b000000000916222f3c4854606b707475757676777777787879797a7a7b7b7c7c7d7e828f9ca9b6c2cfd7d2cfced1d2d5daccbfb3a6998c807f7e7d7d7c7c7b7b7a79797878777676757574706b6054483c2f22160900000000000000000000000915222f3c4855626f7b8899a4afbbc7d0beb1a5988b7e7265584b3f32251807000000000000000000000000000000000006131f2b37434e5864717e8b95a0acb7c1ced1c7bdb3a9a09691847b6e6a615a514b433e3743505c6976838f9ca9b6b2a5988b7f7265584c3f322e343c434c565e68717e8b949fabb7c5d0d7cbbfb4aa9b8f8275665b5044382b1f120600000000000a15202d3a46525e6975828f9ba7b1bcc7d3dfd9cec3b9aca0968b7f72695e52463f342b20170d040000000000000000000000000000000000000000000000030d16202a333c46525e68727f8b96a1acbac3cee0e0d4c7bbafa4998e8174675d514539291e14080000000000000000020e1a25303d495663707d8996a1adb9c5d2dfd7cbbfb4ab9d9083776b6054483d2f261b1106000000000000000000000000000000050e1a242e3b4754606a7683909caab4bfcad6e0d3c7bbaea3998b7e7265554b4034281c10040000000000000000010e1b2734414e5a6774818d9aa7b4c0cddad0c3b7aa9d9084776a544b4034281c1004000003050607090a0b0b0c0c0b0a0909080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013161617171717171717171717171925303f4c5965727f8c98abb5c0c5b8ab9f9285796c605346392d201717171723303d495663707c899aa4afbbc5b8ab9f9285796c605346392d20171717171717171514120e09030000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f18212a333c464e58606a6f7d869298a2aab4bcc6cfd2c8bfb6ada39b918b7f716c615a50473e352b231910070000000000000000000000000000000d1a2733404d5a66738085858585858585858585858585858585858585858585858585858585858586929facb8c5d2dfebdfd2c5b8ac9f92868585858585858585858585858585858585858585858585858585858585858073675a4d4034271a0d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a46525e6975828e9ba7b1bccdd7dfd2c5b9ac9f92867b6e61544b4034281c1004000000000000000000000004101c2834404a5464707d8a98a2aebac7d3d2c5b9aca196897c6f6253493f33271b0f030000000a1723303d4a5663707d8181828283838484858586868787888889898a8a8f949fabb7c4d0dddedcdbdedfe1dacdc1b4a89c928c8b8b8a8a8988888787868685848483838281817d7063564a3d3023170a00000000000000000000000714202d3a4753606d7a86939facb9c6cdc0b3a79a8d8074675a4d412f24180d01000000000000000000000000000000000815222e3b4754606a7683909da7b1bcc9d7cbc0b5aba19791847b6e695f5850454039313643505c6976838f9ca9b6b2a5988b7f7265584c3f322328313a434c56626c76828f9caab4becad6d1c5b8ab9f9285796c605346392d201306000000000005111e2a36424d56636f7c89959fabb7c3ced9dfd4c8bdb2a89f92857b6e615a50463c32291f160e05000000000000000000000000000000000000000000040d151f28323c46505a616e7a85929fa8b2bdccd5e0d9d0c6b9ac9f93877b6e62554b4035291d11040000000000000000000913202d394653606c7884919eabb8c3ced9dcd1c6b8ab9f95897d7063584e41382d22170b0200000000000000000000000000020b17202b37434e58626f7c89949fabbcc5d0dbdfd2c5b9ac9f92867a6d6154473a2e23180c000000000000000000000d1a2633404d596673808c99a6b3bfccd9d1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b081623303c4956636f7c8999a3afbbc6baaea298887b6e6155483b2e2215060b14212d3a4754606d7a86939facb9c6baada297887b6e6255483b2f2215070b0b0b0b0b0807050200000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000060f18212a343c464e58606a6f7d869298a3aab4bdc6cfd1c8bfb5ada39f93877e716c61594f473d352b2219100600000000000000000000000000000e1a2734414d5a6774808d92929292929292929292929292929292929292929292929292929292929298a2aebac7d3e0ece0d3c7baaea2989292929292929292929292929292929292929292929292929292929292928d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cedfd4c8bcb1a79b8e8275695e5242392e23180c000000000000000000000000000c18232e3a4753606d7986929facb8c5d1d5c9bdb2a89a8d8073655b5044372b1f12060000000d192633404c5966737f8c8e8f8f909091919192929993949495959696979c9fa6b0bbc7d3dfebe8e8ebebe9ddd0c4b9aea49c999898979696959594939992929191908f8f8e8c7f7266594c3f3326190c000000000000000000000006131f2c3845515c677884919eabb7c4cfc2b5a99c8f827669554b4035291d110400000000000000000000000000000004111d2935414c56626f7c88959fabb9c3cecec6bbafa39992857b6e695f574e463e342f273643505c6976838f9ca9b6b2a5988b7f7265584c3f32251f28313a44505a64717e8a98a2aebac6d3d3c6baada297887c6f6255493c2f2216090000000000020e1925303b4854606b7683909da7b1bcc8d4e1d9cec3baada2978f82756c62584e443b312820170e0600000000000000000000000000000000000000060d161f27313a444e58616c75828f97a2adbac4cededdd2c7beb0a69b8f8275695f53433a2f24180d0100000000000000000006121f2b3844505b6673808d9aa7b1bcc8d4e1d4c8bcb1a79c8f82766a6053493f33271d140a000000000000000000000000000a141d29323b47535f6a75828e9ba6b0bbced7e2d6cabeb4aa9c8f8275685e5246392d1d1207000000000000000000000c1825323f4b5865727e8b98a5b1becbd8d2c6b9ada29786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5beb3aa978a7e7164574b3e2d22170b0613202c3945515d677784919daab7c4beb3a9978a7e7164574b3e2e23180c00000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000060f18222a343d464e58606b707d869298a3abb5bdc7cfd1c7bfbbafa49992877e716b61594f473d342b22180f06000000000000000000000000000e1a2734414d5a6774808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa2aab4bfcad6e2efe2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3afbbc7d3ded1c5b8aca095897c7063574d4230271d12070000000000000000000000000007131f2c3945515d6775828f9babb5bfcbd7cec4b7ab9e9184786c605346392d22170b0000000d192633404c5966737f8c999b9c9c9d9d9e9e9f9fa3a0a1a1a2a2a3a3a4a9abb0b8c2cdd8e4eff5f4f7f8ede1d5cabfb6aea8a6a5a4a4a3a3a2a1a1aba39f9e9e9d9d9c9c998c7f7266594c3f3326190c000000000000000000000004101c2934404b556976828f9ca9b5c2cfc4b7ab9e918478675d5145392c2013060000000000000000000000000000000613202c3945525d6874818e9aa7b1bcc4ccc6bcb0a69f92877d70695e574d453c332923293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225161f29323e4753606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e3125180b00000000000009141f2c38434f5964707d8a95a0acb8c1cfd8e0d6cabeb3a99e948b7e716a60564c433a32292017110a02000000000000000000000000000000030910181f283139434c565f6a717e8a939ea9b3beccd6e0d8ccc0b6ac9f94897c6f63574d4231281d130700000000000000000000030f1c28333f4a54626f7c8895a0acb8c4cfdad8cdc3b7aa9f94897c6f655b50443b2f261c1107010000000000000000000007111b262f3b44505a626f7c87939facb9c2cddfdfd3c6baaea2988a7e7164564c41362a1d0b00000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7d6cabeb3a994877b6e6154483b2e211508060606060606060606060606060606060606060606060606060606060606060606060606060606040402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677783909daab7c3c0b3a69a8d80736753493f33271b0f04111d2935414c556874818e9ba7b4c1c0b3a79a8d807467544b4034281c1004000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000061018222b343d464f59606b707d869299a3abb5bdc7d0d7ccc0b5aba39992877d706b60594f463d342a21180f060000000000000000000000000e1a2734414d5a6774808d9aa7abababababababababababababababababababababababababababacaeb4bcc6d0dbe7f3e7dbd0c6bcb4aeacabababababababababababababababababababababababababababa79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb5c0cbd7d6cabeb3a99d9083776b6054453b301e150b000000000000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d2c5b9ada196897c6f6253493f33271b0f0300000d192633404c5966737f8c99a6a9a9aaaaaaababacafb5adaeaeafafb0b0b6b7bbc2cad4dee9f4fffffffdf2e6dcd1c8bfb9b4b3b2b1b0b0afafaeaeb4aeacababaaa9a9a5998c7f7266594c3f3326190c0000000000000000000000000c18232f414e5a6774818d9aa7b4c0cdc5b9ada196867a6d6053473a2d2014070000000000000000000000000000000714212d3a4754606d7a85929fa4adb2bac1bfb4aa9e948c7f726b60574d453b332a2118293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251917202c3945515d6775828f9ba8b5c2cedbd0bfb3a6998c807366594d4033261a0d000000000000020f1b27323d4653606c7884919da6b0bdc6d1dcdbd0c5bbb0a69f92867c6f685e564c443b3228221c140b0a04010000000000000000000004090e151a222a313a434b555d686e7c86929fa5afbbc5d0deddd4c8bbafa49a9083766b6054453c311f160c0100000000000000000000000b17222d3847535f6a7783909da9b3bec9d5dfd3c7bbb0a69d9083786c60564d42382d2218120b0300000000000000030b1218222d38414c56616c76828f99a4afbbc7d4e0d7cbc0b5ab9f9285796d6053473a3025190d00000000000000000000000a1623303d495663707c8996a3afbcd1dcdbcfbcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121211100e0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aa7b4c1c2b6a99c8f8376655b5044372b1f12050d19242f3f4b5865727e8b98aab4bfc3b6a99d908376665c5145382c1f1306000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000071019222b343d474f59606b707d879299a3abb5bdc7d0d2c7bdb5aba39992867d706b60584e463c332a21180f0500000000000000000000000e1a2734414d5a6774808d9aa7b3b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8babfc6ced8e2edf8ede2d8cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc7d1cecec6baada2978b7e7265594f4433291f0c030000000000000000000000000000000c18242f3a4754606d7a86929facb9c5d2cec9bdb2a89a8d8073655b5044372b1f120600000d192633404c5966737f8c99a6b2b6b6b7b7b8b8b9bbc0babbbbbcbcbdbdc2c4c7cdd4dce6f0fbfffffffff8ede3dad1cac4c1bfbebebdbdbcbbbbbabfbab9b8b7b7b6b2a5998c7f7266594c3f3326190c000000000000000000000000071926323f4c5965727f8c98a5b2bfcbc9bdb2a895887c6f6255493c2f2216090000000000000000000000000000000815222e3b4855616e7b848d929ea1a8afb9baaea3988f82756d62594f453b332921181d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519101d2935404b556773808d9aa6b3c0cdd9cec1b4a89b8e8175685b4e4235281b0f000000000000000a161f2b3744505b65707d8a949eabb5bfcbd7e1d7cdc1baaea29891847a6e685d564c443d332d261d1b15110d0707050100010507070c10151a20262b343c434c555d676d7a849198a2aeb7c1cdd7e0d6cabfb4aa9f93877c6f62594f43332a1f0d0400000000000000000000000006111c2b37434e5865717e8b97a1adb9c6d0dbd8ccc2b8ab9f958b7e71695e544a3f3329231d150d0a06040104060a0c151c2328333f49535e68717e8a949fabb5c0ccd7e0d3c7bbafa3998d8073675d514539281e130800000000000000000000000815222f3b4855626e7b8895abb5bfcbd7d6cabdb0a3978a7d7064574a3d31241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b17110b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3e4b5865717e8b98aab4bfc5b8ab9f9285796c605346392d2013060816222f3c4955626f7c8898a3aebac5b9ac9f9286796d6053463a2d201307000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000071019222b353d474f59616b707e879299a3abb5bec7d2d0c7bdb5aba39892867d6f6a60584e453c332a21170e05000000000000000000000e1a2734414d5a6774808d9aa7b3c0c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cad0d8e0eae3e3e3eae0d8d0cac7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7683909da9b3bec1c1c1c1c0b6ac9f9285796d6053473d3220170d000000000000000000000000000000000713202c3945525d6876828f9cabb5c0c1c1c1c1b7ab9e9184786c605346392d22170b00000d192633404c5966737f8c99a6b2bfc2c2c3c4c4c5c5c7cbd0c7c8c9c9cacfd0d3d8dee6eef8fffffffffffdf3eae1dad3cecbcac8c7d1cbc7c5c5c4c4c3c3c2c2c1bfb2a5998c7f7266594c3f3326190c0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfcfbdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000714212d3a46535f696e79808991969da5adb2a89f92867b6e615b51473d332921170f1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c18242f3f4c5965727f8c98a5b2bfcbd8cfc2b5a99c8f8276695c4f4336291c1000000000000000030f1b27333f4953616b75828f99a3aebbc3cfd8dfd6cabfb4aaa19690837a6d685e564f443f382f2b26201d181413110d080d111314181d1f262b31373e464e565d676d79828f96a0aab4bec9d3dfd7cec5baaea2988e81746a6054463d3221180e00000000000000000000000000000f1b26323c4653606d7985919eaab4bfcad6ded4c7bcb1a79e92857b6e665b50443f342f271f1b1413110d1013131b1e272e343f44505b656e7a85929ea6b0bdc7d2ddd8cec5b9ac9f92867b6e61554b4035291d100400000000000000000000000714212e3a4754616d7a8799a3aebbc7d3d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27221d160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6baaea298887b6e6155483b2e2215060713202d3a4653606d7986929facb9c5baaea398887c6f6255493c2f221608000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000071019232b353d474f59616c717e879299a4acb6c0ccd8cfc6bdb4aaa29892867c6f6a5f574e453b332920170e050000000000000000000e1a2734414d5a6774808d9aa7b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d6dbd6d6d6d6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfd6d2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c89959fabb4b4b4b4b4b4b4afa49a8d8074675d5145392c2013050000000000000000000000000000000004111d2935414c5665727e8b99a4afb4b4b4b4b4b4ada196897c6f6353493f33271b0f03000d192633404c5966737f8c99a6b2b5b5b6b6b7b7b8b8babfbabbbbbcbcbdc2c4c7cdd4dce6f0fbfffffffff6ebe1d8cfc8c2bebdbbbbbabfbab9b8b8b7b7b6b6b5b5b4b2a5998c7f7266594c3f3326190c0000000000000000000000000915222f3c4855626f7b8895a9b3becaccbfb2a6998c7f7366594c403326190700000000000000000000000000000005121e2a36424d575f676d747d848e939ea1a9a1968c7f73695f53493f352b21170f101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519071825313e4b5864717e8b97a4b1becad7cfc3b6a99c908376695d5043362a1d1000000000000000000b17222d38414f59626e7b87929fa8b2bdc6d1dcdbd0c6bcb2a89f9590837a6e686059504a423d37322c292421201e191d191e202124292c31373c424750585f686d79828f949fa8b2bcc5d0dbdbd0c5bcb1a79f92867b6e61584e43342b210f0600000000000000000000000000000a151f2c3845515c67737f8c98a2aebac4cfdad8cdc2b9ada1978f82786c605b51454039312c2720201d181c1f20272b30394044515b606c77828f97a1adb8c2d0d9dcd0c6bcafa59b8e8175695e5343392f24180c0000000000000000000000000613202d394653606c7986929facb9c5d2d9ccbfb2a6998c7f7366594c40393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e2720170e040000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5beb3aa978a7e7164574b3e2d22170b06131f2c3845515c667683909da9b6c3bfb4aa988b7e7265584b3f2f24190d010000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000071119232c353e47505a616c717e87939aa4afbbbfc7d1cfc6bcb4aaa29892857c6f6a5f574d453b322920160d0400000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3c9c9c9c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874818e9ba7a8a8a8a8a8a8a8a8a89f93877b6e61554b4035291d100400000000000000000000000000000000010d19242f3b4754616e7a86939fa8a8a8a8a8a8a8a8a89a8d8074655b5044372b1f1205000d192633404c5966737f8c99a6a7a8a8a9a9aaababacaeb4adaeafafb0b0b6b7bbc2cad4dee9f4fffffffbf0e4dacfc6bdb7b2b0aeaeadb4aeacababaaaaa9a9a8a8a7a7a5998c7f7266594c3f3326190c0000000000000000000000000714212d3a4754606d7a8797a2adbac6cec1b4a79b8e8174685b4e412f24180c000000000000000000000000000000020e1a26313b454d555d606b707a818a91979e9e9184796d60574d42372d23190f05101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c1926323f4c5965727f8c98a5b2bfcbd8d0c3b6aa9d9083776a5d5044372a1d11000000000000000006111b262f3e47535f6a73808d96a0abb5bfcbd7ddd8cec4bab1a79f9590837a6f6b605b544e47433c39352f2e2d2a252a252a2d2e2f35383c42474e535a616a6f7a828f949fa6b0bac3ced7ddd6cabfb4aa9f958c7f72685e52463d3222190f00000000000000000000000000000004101c2834404b55616d7a86929fa8b2bdc9d5e0d5c9beb3a99f948d80736d635b514b433d38322d2c2924282c2d32373d424a515b626d73808c949fa9b3becad4e2d6cbbfb4aa9e93887c6f62574d4231271d120700000000000000000000000005121f2b3744505b657885919eabb8c4d1dacdc0b4a79a8d8174675a4e454545454545454545454545454545454545454545454545454545454545454545454545454545454545454544433f39322920160b00000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3c0b3a69a8d80736753493f33271b0f04101c2834404b546774808d9aa7b3c0c1b4a79b8e817468554c4135291d11040000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d6d6cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000007111a232c353e48505a616c717e88939fa3adb5bfc8d1cfc6bcb3aaa29792857c6e695f574d443b322820160d04000000000000000e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6bdbdbdbdbdb8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929b9b9b9b9b9b9b9b9b9b9b9b8f8276695f5343392f24180d0100000000000000000000000000000000000814202d3946525e687683909b9b9b9b9b9b9b9b9b9b9b9184786c605346392d201306000d192633404c5966737f8c999a9a9b9c9c9d9d9e9e9fa3aaa1a1a2a2a3a4a9abb0b8c2cdd8e4eff4f4f8f9eadfd3c8bdb4aca6a4a2a1a1a0a39f9f9e9e9d9d9c9c9b9b9a9a998c7f7266594c3f3326190c0000000000000000000000000613202c3945515d677885929fabb8c5cfc3b6a99c90837669554b4035291d100400000000000000000000000000000009141f2a333b434b515960686d747d858e93988b7f72675c51453b31251b110700101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190f1b27333f49536673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d100000000000000000000a141d2b37424e57606d79849199a3aebbc2cbd5dfd6ccc2b9b1a79f9590847d726c666058534e4745413d3a393630373036393a3d4045474d53575f626c717c848f949fa6b0b8c2ccd5ded4cbc2baaea2989083786d60564d41342b201007000000000000000000000000000000000c18232e3946525e6873808c96a1adb9c2ced7dacfc5bbb0a69c928c7f726d605c554f48433d3a39352f34383a3c43474f545c606d727f8b929ca6b0bbc5cfdcd9d0c7baaea3988e81756a5f53453b311f150b01000000000000000000000000030f1b27333f49536a7783909daab6c3d0dbcec2b5a89b8f8275685c525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252514f4a443b32271d1106000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0c2b6a99c8f8376655b5044372b1f12050c18232e3e4b5764717e8a97a9b3bec4b7aa9d918477675d5145392c2013060000000000000000000000000000111e2b3744515e6a7784919daab7c4c9c9c9c9beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000008111a232c363e48505a626c727f8b919ba3adb6bfc8c9cec5bcb3a9a19791847b6e695e564c443a32281f160c010000000000000e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b0b0b0b0b0b0b0ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8e8e8e8e8e8e8e8e8e8e8e8e8e8a7d7063574d4231281d120700000000000000000000000000000000000005111e2a36414c5665727f8c8e8e8e8e8e8e8e8e8e8e8e8e897c6f6356493c30231609000d192633404c5966737f8c8d8d8e8e8f8f909191929298939494959696979c9fa6b0bbc7d3dfeae8e7ecece6dacec2b7aca29a9795949493999292919190908f8f8e8e8d8d8c8c7f7266594c3f3326190c00000000000000000000000004111d2935414c556a7783909daab6c3d0c4b8ab9e918578675d5145382c1f1306000000000000000000000000000000030e18212a313940454f565d606c707a818a92857a6d60554b4033291f13090003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519121f2b3744505b6575818e9ba8b4c1cedbcec2b5a89b8f8275685c4f4235291c0f000000000000000000020b1a26313c45515d676f7c87929fa6b0b9c3cdd6ded4cbc2b9b1a7a09691877f786f6a625f5854514b4a4746414443444146474a4b5153575f616a6e767e8691969fa6b0b8c2cad4ded5ccc2b9afa59f92867b6e665c50443b3022190f000000000000000000000000000000000007121d2935414c56606d7984919ea7b1bcc6d0dbd7cdc2b8aea49c918c7f746d676059544e4947454043404546494e545960666d747f88939fa4aeb8c2cdd6ddd2c7beb2a99f92867b6e61584e4333291f0d0300000000000000000000000000000b17222d434f5c6976828f9ca9b5c2cfdcd0c3b6a99d9083766a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5b554d44392e22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3e4a5764717d8a97a9b3bec5b8ab9f9285796c605346392d2013060715222f3b4855626e7b8897a2adbac6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000111e2b3744515e6a7784919daab7bdbdbdbdbdbdb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008111a242c363e48505a626d727f8b919ca3adb6bdbdbdbdbdbbb3a9a19691847b6e685e564c443a31281d13070000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8174675a4e4134271b0e00101d2a3643505d697683909ca3a3a3a3a3a3a3a3a39f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a677380818181818181818181818181818181786c6053463c3120160c01000000000000000000000000000000000000020e1925303b4854616e7b81818181818181818181818181817e7164574a3e3124170b000916232f3c4956626f7c7f8080818282838384848585868787888889898a8f949fabb7c4d0dddedbdadfe0e3d7cbbeb2a69a908a8888878786868585848483838282818180807f7c6f6256493c2f231609000000000000000000000000010d19242f424f5b6875828e9ba8b5c1cec6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000060f181f282f353d434c525a61686d757e858074675d5143392f21170d010003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251919202d394653606c7885929eabb8c5d1dacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000915202935404b555f6a727f8c949fa7b1bbc4ced7ddd4cbc3b9b1a9a199928c837c756f6a64605d555654524c5150514c525456555d6064696e747b828b9298a0a8b0b8c2cad4dcd6cdc3bab1a79e938b7e71695f544a3f32291f10070000000000000000000000000000000000000d1925303a45515d67717e8a959faab4bfcad6ded4cac0b6ada39b918c8179706b6260585653514b504b5153565860626b6f78818b939aa4afb6bfcad4dfd8ccc0b6aca1968c8073695e53463c3221170d000000000000000000000000000000061b2835414e5b6874818e9ba7b4c1cedad1c4b7ab9e9184786c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000615212e3b4854616e7b8797a1adb9c6baaea298887b6e6255483b2f2215060613202d394653606c7985929fabb8c5bbafa49a897c706356493d302316090000000000000000000000000000111e2b3744515e6a7784919daab0b0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00000000000000000000000000000000000008121a242d363f48515b626d727f8c919ca4aeb0b0b0b0b0b0b0b2a9a19691847a6e685e564c433a2f24180d0100000000000e1a2734414d5a6774808d9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968d8174675a4e4134271b0e00101d2a3643505d6976839096969696969696969696969285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737575757575757575757575757575746c665b5044382b1f120400000000000000000000000000000000000000000814212d3a46535e696e7575757575757575757575757575716c6155493c3023170a000815222e3b4754606a6f727374747575767677787879797a7a7b7c7c7d7e828f9ca9b6c2cfd6d2cfcdd2d3d7dccabdb0a4978a7e7b7b7a7a7979787877777676757574747373726f6a6054473b2e22150800000000000000000000000000081a2734404d5a6773808d9aa6b3c0cdc8bbafa49a887b6e6255483b2f2215080000000000000000000000000000000000060d161d2429313a414550565e616c717a7b6e61554c4131271d0f06000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251a232a36424d57626f7c8997a1adb9c6d2d9ccbfb3a6998c807366594d4033261a0d00000000000000000000030d18242f39434e58606c77828f95a0a9b2bcc5ced6ddd4cbc3bbb2aba39f959087817c76716d676563615e565d5d5d565e616365676d70757b81868f949fa2aab2bac2cad4dcd6cdc4bbb2a89f958e81756c62574d42382e20170d0000000000000000000000000000000000000008131e2935404b55606c77839098a2aebac1ccd5dcd1c8bfb5ada39b938e837d756f6a6663605d555d555c6063666a6f757c838e939fa4acb6c0c8d1dcd7cdc5bbafa49a9184796d60574d42342a200f050000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d2c5b9ac9f92867978787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787771675b4f43362a1d100400000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8bdbeb3aa978a7e7164574b3e2d22170b05121f2b3744505b6576828f9ca9b5bdc0b6ac998c7f7266594c3f3025190e0200000000000000000000000000111e2b3744515e6a7784919da3a3a3a3a3a3a3a3a3a3988b7e7265584b3f3225180c0000000000000000000000000000000000000008121b242d363f49515b636d737f8c929ca4a3a3a3a3a3a3a3a3a3a8a09690837a6d685d554b4035291d110400000000000e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675a4e4134271b0e00101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a86796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c6467686868686868686868686868686867605b544a3f33281c0f03000000000000000000000000000000000000000005121e2a36424d575e61686868686868686868686868686864615a5045392d2114080006131f2b37434e586062666667676869696a6a6b6b666d6d6e6e6f6f707a85929facb8c5d2cbc6c2c1c5c7cbd1cdc1b4a79a8e81746e6e6d6d666c6b6b6a6a69696868676766666260584e43372b1f1306000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbccc0b6ac968a7d7063574a3d3024170a000000000000000000000000000000000000040c12181f282f353e444c525a61686e6e695e53433a2f1f150b00000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225232c353d46535f6974818d9aa9b3bec9d5d6cbbfb4aa988b7e7265584b3f3225180c000000000000000000000007121d28313c44505b656d7a839196a1aab3bcc4cdd5ddd5cdc4bdb5aea7a099938e88827e7a7572706d686b6a6a6a6b686d707275797d82878d92999fa6aeb4bcc3ccd4dcd5ccc4bbb3a9a0969083796d605a50453b30261c0e0500000000000000000000000000000000000000020c18242f3944505b656e7b86929fa5afbac3ccd6dad1c7bfb5ada59e959089817c7773706d676a6a6a676d6f72777c818790959da5afb6bec7d2dad7cec5bbb1a79f93887d70675d51453b3122180e000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d3c7baaea3998985858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858583776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b0b0b0b0a69a8d80736753493f33271b0f030f1b27333f49536673808c99a6b0b0b0b0a89b8f827568564d42362a1e110500000000000000000000000000111e2b3744515e6a7784919696969696969696969696968b7e7265584b3f3225180c000000000000000000000000000000000000000009121b242d373f49515b636d73808c92969696969696969696969696969590837a6d675d5145392c20130600000000000815222f3b4855626e7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6f6255483c2f22150900091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2a36404a52585a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504a42382d22170b000000000000000000000000000000000000000000020e1a25313b454d53545b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110500030f1b27323d464e5456595a5a5b5b5c5c5d5e5e5f5c60606161626974808d98a2aebac6c9c0bab6b4b9babfc6cfc5b9ac9f92877b6e6160605c5f5e5e5d5d5c5c5b5b5a5a595956544e463d32271b0f03000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000001070d161e2429323a414650565e61615e574d4231281e0d0300000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a353e47515b616e7b86929facb9c5cfdad3c7baaea398897d7063564a3d3023170a0000000000000000000000010c161f27333f49535d686e7b849198a2aab3bbc3ccd7dcd6cfc6bfbbb1aba49f9b948f8a86827f7d7a787877767778787a7d7f82858a8f93999fa3abb0babfc5ced5dcd6cbc3bab2a9a19791847a6d675d51483e332a1e150a00000000000000000000000000000000000000000007121d27333f49535f69717e8b939ea8b1bac4cdd7d9d1c7bfb7afa7a09d938e89837f7c7a7877767778797c7f83888e939aa0a7afbbc0c7d0d9d8cfc6bcb3a9a0958d80736b60554b4033291f1006000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d7cbbfb4aba29792929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000020e1a2531404c5966737f8c99a3a3a3a3a3a39c8f8376655b5044372b1f12050b17222d3d4a5764707d8a97a8a3a3a3a3a39e918478695e52463a2d20140700000000000000000000000000111e2b3744515e6a77848a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7265584b3f3225180c00000000000000000000000000000000000000000009121b252d373f49515b636e7380898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a837a6d6053473a2d20140700000000000814212e3a47535f6a6e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473a2e211508000915222f3b4854606b6f70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e19242e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261c11060000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c0000000a16202b343d4347494c4d4d4e4f4f505051514a5053545458616e7b87929faab4bfcac0b7afa9a7acaeb4bcc6c7bbafa3998e81746a5f53504a52515150504f4f4e4e4d4d4c4947433d342b20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000040c1319202830363e444d525454534d453b311f160c0000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f475059626d75818e99a3aebbc7d6dfd2c5b8ac9f92867a6d6053473a2d201407000000000000000000000000040d17222d38414c565e696f7c869298a1a9b2bac2cbd1d9d8d1cbc3bdb5afaca69f9c98928f8c89878584848384848587898c8f92989b9fa4abaeb4bdc2cad0d7d8d0cbc1b9b1a8a09791857b6e685e554b40362d21180c03000000000000000000000000000000000000000000010b17222d38414d57626c75818e95a0a8b2bbc5cdd6d9d1c9c1b9b1aca59e9b95908c8986858483848586898c90959b9fa4acb1b9c0ccd2d9d7cfc6bdb4aaa1979083796d60594f43392f21170d00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dcd1c6bdb3a9a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000091724303d4a5763707d8a96969696969696969285796c605346392d2013060614212e3b4754616e7a87969696969696969696877a6e6154473b2e211408000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e2115080000000000000000000000000000000000000000000009131b252d374049525c636e737d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000006121f2b37434e585f626363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f12060007131f2c38434f596063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121c262e363b3f404242424242424242424242424242413938332d261d140a0000000000000000000000000000000000000000000000030d17212931363a3b42424242424242424242424242423e3c39332c241a1005000000040f19222b32373b3c3f4041414242434344453f44464754606a75818e99a3afbcc6c3b9afa59d9a9fa3aab4bfcbc0b5ab9f92877b6e62584e4345444443434242414140403f3c3b37322b22190f0400000000000000000000000000000916222f3c4955626f7c8895a2afbbc8cdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000001080e161e252a323b4146474846423b33291f0d040000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f343b4246515a616b727f8b939eabb5bfcbd7dccfc2b5a99c8f8276675d5145392c1f13060000000000000000000000000006111b262f3a444d575f6a6f7d869197a0a8b0bbc0c7cfd7dcd7d0c7c0bbb9b0abaaa39f9c989698929190909091929896989b9fa2aaacafb5babfc6cfd6dbd6cec6bfbab0a7a09691857c6f695f564c43392f241b0f06000000000000000000000000000000000000000000000006111b262f3c45505a606d7a839196a1a9b3bbc4ccd7ddd2cbc3bcb8afaaa7a09d99999392919091929299999d9fa7acafb6bec3cbd8ddd5cdc5bdb4aba29892857b6e665c51473d31281d0f0500000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd0dbe2d8cfc5bcb3adabababababababababababababababababababababababababababababababababababababababababababababab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a878a8a8a8a8a8a8a8a8a887b6e6255483b2f2215080714202d3946525e6878848a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a000000000000000000000000000916222f3b4854606b7070707070707070707070707070706e695e53463a2d211407000000000000000000000000000000000000000000000009131c252e37404a525c636b7070707070707070707070707070707070706e695f53463a2d2114070000000000020f1a26313c464e5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c31261b0f0300030f1b27323d464f54565757575757575757575757575756554f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f33343535353535353535353535353535342d2b28221c140b02000000000000000000000000000000000000000000000000050f171f252a2d2e353535353535353535353535353531302d28221a1208000000000007101920272b2e2f3333343435363637372e3438424f59626f7c87939fabb5c0c7beb1a79d938e9298a3aebac4c7bbafa3998e81756a5f53473d32373736363535343433332f2e2b27201910070000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000000000000000000050c131920293036393b3b3a36312921170d000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3f444d525b626c707d87929fa5afbdc6d1dcd4c8bcb1a7988b7f7265554b4035291d100400000000000000000000000000000a141d28323b454e58606b6f7c8591969fa6afb5bdc4cbd1d8d9d2ccc7c2bbb7b4aeaca8a5aaa29f9e9d9d9d9e9fa2aaa5a8acaeb4b9bbc0c7cbd1d8d7d0cac3bcb4aea69e9590847b6f6a5f574d443a31271d1209000000000000000000000000000000000000000000000000000a141d2a333f45525d686e7b849197a2a9b2bac2ccd2d9d5cec8c1bab6b1acaaaba49f9e9d9d9d9e9fa3abaaabb1b9bbc0c7d0d5dad5ccc4bbb3aba39992867c6f695f544b40352c1f160c0000000000000000000000000000000000000815212e3b4854616e7b8794a9b3becad6e2e1d7cec5bebab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e21140705111e2a36414d56626f7c7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000000000000000000000713202c38444f5960636363636363636363636363636363615e574d42362a1e12050000000000000000000000000000000000000000000000010a131c252e37404a525960636363636363636363636363636363636363615f574d42362a1e12050000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a0000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a12191f232627282828282828282828282828282828201f1c17110a020000000000000000000000000000000000000000000000000000050d141a1e212128282828282828282828282828282423211c17100800000000000000070f161b1f2223262727282829292a2b28333f4a54616b76828f9aa4afbdc7c0b6aca0958e8186929fa8b2bdc9c0b5ab9f93877c6f62584e43372b2a292928282727262623221f1b150f07000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000002080e171f252a2d2e2e2d2a251f170f05000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c444a50575e616d727e869299a3aeb7c1cfd8dbd1c4b8ab9f95887b6e6255483b2f24180c000000000000000000000000000000020b162029333c464f59606a6f7b848f949fa3abb2babfc6ccd2d7d7d4ccc7c6bfbab9b5b2b4aeababaaa9aaababaeb4b2b5b8babfc6c7ccd2d7d7d2ccc5bfbab1aaa39f948f837a6e695f584e453b32281f150b0000000000000000000000000000000000000000000000000000020b18212935414c565e696f7c859297a0a8b1bbc0c7d0d6d9d4ccc6c3bcb8b7b5afacabaaa9aaabacafb5b6b8bcc3c8ccd2d9d7cfc9c1bab2a9a29992877d706a60574d42392e231a0d040000000000000000000000000000000000000713202d3a4653606d798697a2adbac6d3dfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4b7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56606b70707070707070707070706d685e5246392d201307020e1925303b4854606a6f707070707070707070706e695f53463a2d2114070000000000000000000000000004101b27323d474f5456575757575757575757575757575754534d453b31251a0e02000000000000000000000000000000000000000000000000010a131c252e3840474f5456575757575757575757575757575757575755534d453b31261a0e02000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000040a0f131516191a1a1b1c1c1d161f2b3844505b66707d89949facb6c0c8bbafa49a918379808c96a0acb9c1c7bbafa49a8f82756a6054473d32271b1c1c1b1b1a1a191615130f0a0400000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000050d14191e202121211e1a140d0500000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584950545c60696e757f879298a2abb5bfc9d3ded3c7bbb0a69d908376695f53473a2e1d120700000000000000000000000000000000040d17212a343d474f585f696e7a828c9299a0a8aeb4bbc0c7cbd1d5d8d3d1cbc7c5c2bfbebab8b7b7b6b7b7b8babebfc2c5c6cad0d4d7d5d1cbc7c0bbb4aea7a098928b82796e685f574e463c332920160d03000000000000000000000000000000000000000000000000000000060f1924303a444d575f6a6f7d8591969fa7afb5bdc3cad0d5d7d2cec8c5c3c0bbb9b8b7b6b7b8b9bbc0c3c4c8cdd4d8d6d1cbc4beb9afa8a09792877e716b60584e453c30271d11080000000000000000000000000000000000000006131f2c3845515c667885929fabb8c5d2d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1c4b7ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444f59606363636363636363636363615e564c41362a1d11050008141f2c38434e58606263636363636363636363615f574d42362a1e120500000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000000000000000000000000010a131c262e353d44484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000060f1820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620181006000000000007101921272c2f3030303030303030303030303030302f2c27211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070b0d0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e060603000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000000030608090c0d0e0e0f08131e2834404b54606c7883909da6b0bec7beb2a99f93887c6f7984919ea5afbcc5c0b6ac9e93897c6f62594f43382c21160b0e0e0d0d0c09080603000000000000000000000000000001040607090915222f3b4855626e7b8895a1aebbc8d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000000000000000000000000002080e1114141514120e09030000000000000003101d293643505c6976838f9ca9b6b2a5988b7f726558535b60666d727b828b9399a2aab4bdc6d1dbd5ccc3b7ab9f94897d7063574d42372b1e0b010000000000000000000000000000000000050f18222b353d464e575f686d787f8791969fa3aaafb6bbc0c7c9cfd2d5d7d3d2cfd0cac6c5c4c3c3c3c4c5c6cad0ced2d3d6d5d2cec9c6bfbab5afaaa29f9590867f756d675e564d453c342a21170e04000000000000000000000000000000000000000000000000000000000008131e28323b454e58606b6f7c8490959fa4abb2babec5c9cfd3d7d4d1d2ccc7c6c5c4c3c4c5c5c7cbd1d1d4d7d4d0cac6bfbab3ada59e9691857d716c61594f463d332a1e150b000000000000000000000000000000000000000004101c2834404b546a7784919daab7c4c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c4b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f55565757575757575757575754524c443a3025190d0100020f1b27323d464e54565757575757575757575755534d453b31261a0e020000000000000000000000000000040f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d03000000000000000000000000000000000000000000000000000000010a141c232b33383c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921180d03000000000000000000060e151a1f2122242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e0600000000000000070f161b1f2223242424242424242424242424242323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010d19242f3845515c66717e8a95a0acb8c2c5b9ada1978d80746b707d8a939eaab4bfc7beafa59c8f82766b6054483d32271c1005010100000000000000000000000000000000000001070d111314151516232f3c4956626f7c8995a2afbcc8d0c4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000020507080807050200000000000000000104071d293643505c6976838f9ca9b6b2a5988b7f72655c60656c71787e858f949fa4abb4bcc6cfd8d7cec3baafa59c8f82766b6054453c31261a0e00000000000000000000000000000000000000061019232b343c454d565e666c737c848d92989fa4acafb5b9bec4c5c9cfd1d2d4d7d6d3d2d1d0d0d0d1d2d3d6d7d3d2d0cec9c5c4bdb9b4aeaba49f98928c837c726d605d554c443b332a22180f06000000000000000000000000000000000000000000000000000000000000020c162029333c464f59606a6e7a838d9399a0a8adb3b9bec5c7cbd1d2d4d7d4d2d1d0d0d0d1d2d3d7d5d2d2ccc7c6bfbab4aea9a19e938e847b706b615a50473d342b21180c030000000000000000000000000000000000000000000c18232e43505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202c353d44484a4a4a4a4a4a4a4a4a4a4a4746413a32291e13080000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000007111921272c2f3030303030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000020a111921272c2f3030303030303030303030303030303030302e2d2a261f180f060000000000000000000000030a0f12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171515120f0a04000000000000000000040a0f13151617171717171717171717171717171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090b0c0c0d0d0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000004111d2935414c55606d7984919ea7b1bcc5bcb0a69e91847a6d606b75828f98a2aebac3c1b7aa9e94897c6f63594f44382c21160b00000000000000000000000000000000000000040c13181d202122222223313d4a5764707d8a97a3b0bdcad0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111318293643505c6976838f9ca9b6b2a5988b7f7265676d71787e848b92979ea6afb5bdc6ced8d9d0c5bcb2a89e93897c6f63594f44332a2015090000000000000000000000000000000000000000071119222a333b444c545b606a6f7980868e939a9fa3abadb3b7b9bdc2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c1bdb9b7b2acaba39f99938e867f796f6a625b514c433b322a211810060000000000000000000000000000000000000000000000000000000000000000040e17212a343d464f575f686d79808791969fa2a9adb3b9babfc4c6c7ccd2cdcdcecfcececdcccec9c5c4c0bbb9b4aeaaa39f97918a817a6e69605950483e352c22190f0600000000000000000000000000000000000000000000071c2935424f5c6875828f9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33383c3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c02000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3b3a36312921180d030000000000000000000000000000000000070f161b202223242424242424242424242424242421211e1a140d050000000000000000000000000000000000000000000000000000000000000000080f161c202223242424242424242424242424242424242422211e1a140d060000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707070c10131415161718191a1a1b1b1b191815120d0600000000000000000000000000000000000000000000000000030e18212c3945515d67727f8b96a1acb9c3beb4aa9e938a7e71685d616e7b86929fa7b1bec7bbb0a69c8f82766b6054483e33281c0b020000000000000000000000000000000000040d161d24292c2d2f2f2f2f36424d576673808c99a6b3bfcccfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d2024293643505c6976838f9ca9b6b2a5988b7f726e73797e838a91969fa2a9b0bbc0c7d0d8d8d0c7bdb3a9a0968e81756b6054473d3321180e030000000000000000000000000000000000000000000710182129323a424a505860676d737b81878f92999ea1a9abadb2b5b7b9bbc0bfbfc0c1c2c2c1c1c0bfbfc0bbb9b7b5b2acaaa8a19e99928e87817a736d675f585145413a312920180f0600000000000000000000000000000000000000000000000000000000000000000000050f18222b343d454e565e676d737c848c92979ea1a9acaeb4b7b9bbc0bfc0c1c1c2c2c1c0bfbebdb9b7b5afacaaa29f98928d857d756d685f574f473e362c231a100700000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30303030303030303030302e2d2a251e170e05000000000007101921272c2e2f303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000040b1013161617171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000050b1013161717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d11131417181c1f20222324252626272727282524221e1811090100000000000000000000000000000000000000000000000915202a36414d56606d7a85929ea8b2bdc7baaea2988f82756c61565e69727f8c95a0acb6c0c2b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000010c161f282f35393a3c3c3c3c4046535f6976838f9ca9b6c2cfcec1b4a89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12181c1f24292c2f353843505c6976838f9ca9b6b2a5988b7f767b80858b90959ea0a8adb3bcc1ccd2d9d6cec6bdb5aba2979184796d60594f43352b210f060000000000000000000000000000000000000000000000060f1720292f383f444e555d60696e757c82878c91979a9ea1a8a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a09e9a96918c86817c746e68605c554e463f352f281f170e06000000000000000000000000000000000000000000000000000000000000000000000000061019222b333c444c555d606b6f7980858c92979c9fa3abaaacafb5b2b3b4b5b5b5b4b3b3b1b2acababa49f9c98928d86817a706c615e564d453d352c241a11080000000000000000000000000000000000000000000000000d1a2633404d596673808c96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232424242424242424242421201d19130c0500000000000000070f161b1f22232424242424242424242422211e1a140d06000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a0602000000000000000000000000000104060707070707070707070707070707070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114191d20212423292c2d2e30313233333434343432312e29231b130900000000000000000000000000000000000000000000020e1a26313946525e6873808c97a1adbac4bdb1a79f92867b6e615a5057606d7883909aa4afbbc5bbb0a69d9083766b6155483e2f261b110600000000000000000000000000000007131d28313a414547484848494b515a616e7b87939facb9c6d2cbbfb4aa998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000060b0f161b1d23292c2f35393a4045474a5c6976838f9ca9b6b5a99c8f8283878c92979da0a7acb2babec5ced7dbd6cdc4bcb4aba49992857b6e675d51463d32231a0f00000000000000000000000000000000000000000000000000060e171d262d333d434b51575e616a6f757b80858a8e9196989b9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918d8a847f7a756f6a615e56514b433c3429241e160d050000000000000000000000000000000000000000000000000000000000000000000000000000071019212a323a434b515960676d737a7f858b8f92999b9d9fa4aba6a6a7a8a9a8a7a7a6a5a8a19e9b9993908b86807b746d68615a524c443c332b231a1208000000000000000000000000000000000000000000000000000c1825323f4b5865727e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a84786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617171717171717171717171413110d0802000000000000000000040a0f131516171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000001080d111314141414141414141414141414141413100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20252a2d2e312f34383a3b3c3e3f3f40404141413f3e3a342d251b110600000000000000000000000000000000000000000006121e2b37424d57616e7b86929fa9b3bec0b5ab9f958b7f72695e5244505c666f7c88939fa9b3bec2b7ab9f958a7d70635a5041382d22170b0000000000000000000000000000010d18242f3a434b515455555556555c606c75818e9aa4afbbc8d3c7baaea398897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000060c11171b1f272c2f34383a4145474b5153545b6976838f9ca9b6b7ab9f948f90939a9ea1a9acb1b9bdc3cad0d7d8d0cac3bbb3aaa29993877d70695f554c41342b2111080000000000000000000000000000000000000000000000000000050b141c2228313a41454d53586062696e73797d8184888c8f9193999799999a9b9b9c9b9b9a9999979992918e8b8884807d78726e68625f58524c454039312a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000070f182029313940454f555c60676d72797e82868a8e91939998999a9a9b9c9b9b9a99989696918f8b86837f7a736e68605d565046413a322a2119110800000000000000000000000000000000000000000000000000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0707050100000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313121211100f0d0b0906060300000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000040c13191d20212121212121212121212121212120201d18120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e252a2d3036393a3d4040454748494a4b4c4d4d4e4e4e4c4a463f372d23180d0100000000000000000000000000000000000000000814212e3a47535f6974818e98a2aebbc5bbafa3999083786c60574d424a54606b74818e97a2adb9c2bcb1a79d9083776c6153493f33271b0f030000000000000000000000000004111d2935414b555d606262626364676d737e8b939eacb6c0cccfc5b8ac9f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000030a11171b22272b3238394045474c5254555d6063666c76838f9ca9b6bbb0a69f9c9d9fa4acadb3b8bcc3c8ced6dad5cec6bfbab1a9a19892877f726b61574d433a2f22190f00000000000000000000000000000000000000000000000000000000020a11171f282f353b42464e54575e61666d7074787b7f828486888a8c8c8d8e8f8f8e8e8d8c8c8a888684827f7b7774706d66615e56534e46413b342f271f18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171f272f353d434b51555d60676d71757a7e818486898b8c8d8e8e8f8f8e8d8c8b898784827e7a76726d68615e56524c443e35302820180f070000000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1f1e1d1b1a181513120f0b0607050200000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a000000000000040d161e24292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a3036393b4146474a4d4b51535556575859595a5a5a5b585651493f34291e12030000000000000000000000000000000000000006131f2b38434e58626e7b87929faab4bfbdb2a89f92877c6f665b50453b424f59616d7a85929ea7b1bdc2b8ab9f958a7d70655b5044372b1f1205000000000000000000000000000613202c3945515d676d6f6f6f6f7174797f88939fa5afbec7d1c6bdb0a69b8e8275675d5145392c2013060000000000000000000000000000000000000000000000000000000000000001070c151c23282d33373d44484b5153565d6064676d7074797c84919eaab7c2b8b0aba9a9acafb6b9bec5c8ced4d9d4cec9c2bcb4aea7a09791867e726d62594f453c31281e1007000000000000000000000000000000000000000000000000000000000000060d161d242931363d43474d52545c6064676a6f7275777a7b7d7f8080818282828180807f7d7b797775726e696763605c54524c47433c363029231d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429313940454c51555d6065686d7175777a7c7e7f80818282828180807e7c7a7875726e6865615d56524d45413a3229251e160e060000000000000000000000000000000000000000000000000000000005111e2a36424d575e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c171414110e080400000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c110700000000020c161f282f35393a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39352f281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141c222831363b4146474c5254575a555c606163646566666767676765625b51463a2e1f1409000000000000000000000000000000000000000815222e3b4754606a75828f99a3afbcc1b9aca0968d80736a5f544a3f333d46525e68717e8b959fabb5c0bcb1a79d9083786c605346392d201306000000000000000000000000000714212d3a4754606d797b7b7b7c7d80848c939aa4afb7c1d0c7bfb4ab9f948a7d7063554b4135291d1104000000000000000000000000000000000000000000000000000000000000040c12181e262e34383f44464f54555c6064686d7175797d8185899196a0acb8c5c2bbb7b5b6b9bbc0c7c9cfd4d8d4cec8c4bdb9b0aaa29f9590857c706c625b51473e332a1f160c0000000000000000000000000000000000000000000000000000000000000000040c13181f252a32373b42464a515357585f626568676d6f717273747475767574747372716e6d666865625f575753504a46413b37312a251e18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f272f343a41454b5153565d606468676d6f71737374757675747473726f6d686865615e5654524c46413b3530282019130c040000000000000000000000000000000000000000000000000000000000020e1a25303b454d52545757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020202020202020201b1a18140f080100000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393939383837363534322f2d2b282221201e1914100c07010000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d020000000a141e28313a414547474747474747474747474747474745403931281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333b42464c5254565e61646669676d6e6f7172727373747474726d62564a3b31261a0e020000000000000000000000000000000000000916232f3c4956626f7c89939fa2aaafb9afa59e9184796d60584e42382d36414c56606c78839099a3afbab2aca69f958a7e7164574a3e3124170b000000000000000000000000000a1724313d4a5764707d888888898a8d91969fa4acb6c0c7c3bdb5aea3999083766b6155433a2f24180d010000000000000000000000000000000000000000000000000000000000070d161d242930383f44495053596063676d71757a7e82858a8e91979ea0a8b2bdc8ccc7c3c2c3c6c8ccd2d5d5d2cdc8c3bcb8b2aca69f98928c837b6f6a615a51493f352c21180d0400000000000000000000000000000000000000000000000000000000000000000001070d141a20272b3036394044464a4e535559555c60626466666768686968686766666462605c545855534d4a46443f3836302b262019140c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d151d23292f35394045474c525457555d6062656667676869686867666563605d565854524c4746413a363029241e160e08020000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464545444342403e3c3938332d2e2d2a251f1d18120f0a0400000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e1206000006111c26303a434c52545454545454545454545454545453514b43392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f444d53565e6165686d707376787a7b7c7d7e7f80808181817f7265574d42362a1e12050000000000000000000000000000000000000915222f3c4855626f7c838b92989ea5ada99e93897d70675d51463c2f26303a44505b656f7c87929fa9aea8a09e948f877f7266594c3f3326190c000000000000000000000000000a1724313d4a5764707d8a959596979a9ea1a8afb6bec0bbb9b2aba49f92867c6f62594f4431281d130700000000000000000000000000000000000000000000000000000000000810191f282f353d424a50535b60646b6f74797d82868b8f92989a9ea1a9acb2bac3ced8d3d0cfd0d2d4d6d3cfc9c6c2bcb8b1aca8a19e948f867f786e69605850473f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000003090e161b1f252a2e34383a3d4347484c4b5153555759595a5b5c5c5b5b5a5959575553514a4c4847423d3a38342e2a251e1b150e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292f35393a4145474b4b51535658595a5b5b5c5c5b5a59585654524c4b4746413b3935302a251f19130c04000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535352525251504e4d4b4846443f3d3b3936302c29241d1b15100b05000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a00000b17232e38424c565d6060606060606060606060606060605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e273038424a50575f61686e72767a7d8082848688898a8b8c8c8d8d8d8e8478695f53463a2d2114070000000000000000000000000000000000000815212e3a47535f6a6f787f868f939ea1a1978e81746b60554b40342a1d27333f49535f6a74808d97a1a29f96918a827c726d63574b3e3225180c000000000000000000000000000a1724313d4a5764707d8a97a2a2a4a7abadb2bbc0bdb5afaca8a099938b7e716a6054473e331f160c010000000000000000000000000000000000000000000000000000000009111a222b313940454e545c60656c70767c81858a8f92989b9fa2aaabadb3b8bdc3ccd5e0dfdddbd6d3d0cbc7c5beb9b8b1aba7a09d96918a827b726d665e574e463e352d251b1108000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2d31373a3c3f404547484a4c4d4d4e4f4f4f4e4d4d4c4a484644403f3b3a37312d2b28231c19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d24292c2f35393a3e404547494b4c4d4e4f4f4f4e4d4d4b494745413f3b3936302d29241e19140d08020000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f43444646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5e5c5b5a585553504a4a4746413b38352f2b26201c160d080200000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c0003101c28343f4a545d686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039424a545b60696e747a7f83878a8d8f91939996979899999a9a9a96887b6e6155483b2e22150900000000000000000000000000000000000006121f2b37434e585f666c727b828a91969e92857a6d61594f43392f2217222d38414e58606d7a84919e98928c847d766f6a635b51463b2f22160a000000000000000000000000000a1724313d4a5764707d8a97a3afb0b3b8b9bdc4c0b5aba49f9b9691877f726c62584e43352c210d040000000000000000000000000000000000000000000000000000000109121b232c343d434b515860666d71787d83898e92989b9fa3aaacaeb4b8b9bec4c8ced5dedad5d2d0cac6c5bfbab8b3adaba79f9d95918b847e766e69605c544d453c342c231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f20262b2e2f2f34383a3c3e3f4041414243424141403f3e3b3a38342e2f2e2b26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d12181d1f24292c2d2f35393a3c3e4040414243424141403f3c3a39352f2e2d2a25201d19130e08020000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242322201c160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f51535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a6968676562605b545754524c4745403937312c272119130c0400000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c0006121f2b3844505c66767a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424b545c666c737b81868c90939a999c9e9fa4aba4a5a5a6a6a7a8978b7e7164584b3e30251a0e020000000000000000000000000000000000030f1b26313c464e545b60696e757d848d928b7e71685e52473d31271d111b262f3c45515d67717e8a938e867f79706c625f58514940352a1e1206000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc0c4c5c9c7bbafa499938f8a847d726d625a50463c32231a100000000000000000000000000000000000000000000000000000000009131b242d353e464f555d606a6f787e838a90959b9fa2aaacaeb4b8babfc4c6c9cfd4d9ded6cfc9c5c4bebab8b4aeaca9a19e9a95908a837e78716c615f57504a423b332b221a110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131b1f212223292c2d2f313333343535363535343333312f2d2c282322211e1a1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d202124292c2d2f3233343435363535343332302d2c292421201e1914110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141417171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e606060606060606060606060605b58534a41362b201408000000000000000000000000000000000000000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979787877767573716f6c666664615e5653514b47433c383329241e160e08020000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000713202d3a4653606d7886878787878787878787878787878275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2834404b545c666d787f868e92989c9fa4aca9abacafb5b0b1b2b3b3b4a79b8e817468574d42362a1e12050000000000000000000000000000000000000a15202a343c424a50575e616c7079808682766c61564c41352b1f150b141d2935414c55616c768286817b726d67615a534e4640372e23180d02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad1d2d2c6b9ac9f9386827e78706b625b51483f342b20110800000000000000000000000000000000000000000000000000000007111b252d363f474f5960676d737c838b90959d9fa7abaeb3b9babfc5c6cad0d2d5dae1e0d6ccc4bdb9b7b3aeabaaa39f9b97928d89837d78716d66615a534d443f383029211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060a0f121515181c1f20222426262728292928282726262422201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314181d1f202325262728282929282726252321201d191414110e080501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686858585848381807e7b797673706e6864605d55534e48443d3530282019140d0500000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515c666d78818c92989fa3aaacafb6b5b7b9bbc0bdbebfbfc0b7aa9e918477695e52463a2d201407000000000000000000000000000000000000030e18222a2f383f444d525961676d737c7b6e615a50443a3023190d030b19242f3a43505a616e7b7c746e68605c555047433c342e251c120700000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad0d1d4c7bbafa4999184807a726d605c544a3f34281e150b0000000000000000000000000000000000000000000000000000050e19232d373f485059616b6f79808790959da0a7abb1b8babec5c7cbd1d3d4d1d0d1d2d5dacfc4bab2adabaaa29f9b98928e8a85807c76706c65605c545046423b342e261e170f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608070c1013141517191a1a1b1c1c1c1b1a1a1917151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c1013141618191a1b1c1c1c1b1a1a18161413110d0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a36434f5b67717779797979797979797979797979746f64584c4033271a0d010000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939a93929291918f8e8d8b888583807d7a76716d67625f58544f45413a322a251e170e06000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c000713202d3a4653606d798693a0a0a0a0a0a0a0a0a0a09c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424f59606d78818e939fa3aaaeb4b9bbc0c2c4c6c7ccd2cbccccc5b9aca096877b6e6154483b2e211509000000000000000000000000000000000000000610181d262d333b42464f555d606a6f6e695f53483e32281e11080008131e28313e46535f696e6f6a615e56514b433e37312a221c130a0000000000000000000000000000000a1724313d4a5764707d8a97a3b0bcbfc4c5c8ccc0b5aba096918d867f756d665c50443e30271d1207000000000000000000000000000000000000000000000000020c16202b353f49515a626c707d848d9399a0a7acb1b8bcc2c6cad0d3d4d1cdc8c4c3c4c6c9cfc9bdb2a8a19e9a98928e8a86817d79746f6a64605b53504a423e363128231c150c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0d0e0f100f0e0e0d0c0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f13131313131313131313131313131313131313070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7783868686868686868686868686868174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9e9d9c9b9a9898928f8d8a87837e79746f6a636059524c443e36302920180f070000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acadadadadadadada89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c75818f939ea5aeb4babfc6c8ccd2d1d2d1d0cdcbc9d2c9bdb2a8978a7e7164574b3e3025190e0200000000000000000000000000000000000000060b141c222830363e434b51585f62615f574d42362d20160c0000010c161f2a36424d575f61626058524d454039302b262018100a010000000000000000000000000000000a1724313d4a5764707d8a97a3aeafb2b7b8bdc3c7bdb2a8a09e98928c81786d605a5043392e23180c00000000000000000000000000000000000000000000000008131e28323d47515b626c717e8691969fa4abb1b8bcc3c7cdd3d6d3cec8c5c3bcb8b7b8b9bec4c5b9ada196918d8985827e7a75706d66626058535049443f38302a261f17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c202020202020202020202020202020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a77849193939393939393939393938e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb6afacacababaaa9a8a6aaa29f9c999794908b85807c76706b605d565046413b322a2119100700000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9bababababab5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66707d8a939ea5afbabfc6cbd1d4d8d2cdc8c4c3c0bebcbbc0bbb4a79a8e817467564d42362a1e11050000000000000000000000000000000000000000020a11171f252a313a40454e545555534d453b31241b0e05000000040d1a26313b454d535556544e46413b342e271e1b150e0600000000000000000000000000000000000a1724313d4a5764707d8a97a1a1a3a6aaacb2bbbfc4bab2acaaa29f938d80746c61554b4034281c100400000000000000000000000000000000000000000000010d1925303a444f59626d727e879298a1a8afb5bdc3c8ced4d6d0cac7c3bcb8b7b1acaaabadb3bbc4b7ab9e9184807d7975716d6763605c54544e46443f38342e261e1a140c0600000000000000000000000000000000000000000000000205070809090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080806020000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0909070300000000000000000000020507080a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000306060a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b8b7b6b4b3b3aeaba9a6a69f9c97928d88837d746d68615a524c443c332b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7883919da5afb7c1cbd0d7dcd3ccc6c3bcb8b6b4b1afaeb6afacaa9e918477695e52463a2d20140700000000000000000000000000000000000000000000060b141a1f282f353c4347494846423b33291f1209000000000009141f2a333b4246484947433d363028231d150c0a030000000000000000000000000000000000000a1724313d4a5764707d8a94949596999da0a8aeb5bdc4bdb9b4aea59d928a7e71675c5145382c1f14090000000000000000000000000000000000000000000005111d2a36414c56606b727f8b9299a2aab2bbc0c7d0d4d7d0cac6bfbab8b1acaaa7a09d9ea1a9b3beb2a5988b7f74706d6664605d5553514a47433d37332d28231c150c09030000000000000000000000000000000000000000000003090e121415151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514120e09030000000000000000000000050b101316161717171717171717171615130f0a0400000000000003090e121415171717171717171717171413100c070100000000000000000000000002080d1113141717171717171717171717171614100b050000000000000000000000000000000000000000060b0f1213171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c161e262c313536393939393939393939393939393939393939392e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daaacacacacacacaca79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d2ccc8c6c5c5c4c4c2c1c0bebab8b6b3b0aba9a29f9a959089817a716c615e564d453d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d3cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b95a0acb8c1c9d6dcdad1c9c1bab6b1acaaa7a5a3a1a0a49f9f9f96877b6e6154473b2e211408000000000000000000000000000000000000000000000002090d161d242932373b3c3b3a36312921180d000000000000030e18212a31363a3b3c3b37322a251f18120b0300000000000000000000000000000000000000000a1724313d4a5764707d87878788898c91969fa3abb5bec7c5bfbaaea49e9184796d6053463b3025190e020000000000000000000000000000000000000000040f19222d3946525e686f7d87929fa3abb4bcc4ccd2d9d5cec5bebab4aeaca7a09d9995909197a1adb9b2a5988b7f7265605c5454514c4644403938322b27221b17110a030000000000000000000000000000000000000000000000050d141a1e21212222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222211e1a150e06000000000000000000070f161c20222324242424242424242423221f1b160f0700000000060d141a1e212224242424242424242424201f1d18120b0300000000000000000000050c13191d202124242424242424242424242323201c1610080000000000000000000000000000000000020a11171c1f202423201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1e2830373d4142464646464646464646464646464646464646463a3935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7b9b9b9b9b9b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d2d2d1d1d0cfced0cac6c5c2c0bcb7b3adaba79f9d938e857e756e685f574e463d332a20170b0200000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919ea7b1bccad3dbdcd1c8bfb7afaaa7a09d9a989695949a939292928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000040c131820262b2e2f2e2d2a261f180f0600000000000000060f181f262a2d2e2f2e2b272019140c07000000000000000000000000000000000000000000000714202d3a4753606d797b7a7b7b7c7f848b9299a3acb6c0cccac0b9aca1968b7e7265564d42362a1e110500000000000000000000000000000000000000000a15202c38444f59616d7a849199a3afb5bdc6ced7d6cec9c0bcb4aeaaa29f9a95918c888385919eabb8b2a5988b7f726558514a4745413a38342e2b271f1b17110c06000000000000000000000000000000000000000000000000050f171f252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620180f060000000000000007111921272c2f303131313131313131312f2e2c27211910070000060f181f262a2d2e313131313131313131312d2c29241d150d030000000000000000050e171e252a2d2e3131313131313131313131302f2c27211a1108000000000000000000000000000000030b141c22282b2d302f2c282119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620303a42494e4f535353535353535353535353535353535353534746413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4c6c6c6c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8cacdcfd2d3d6d3d2cfcdc7c5bebab8b1aba59d97918a827a6e6960584e453c32291d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8896a0acb9c3cedcded3cabfb6aea59e9b95908d8b8988878686868585858073675a4d4034271a0d000000000000000000000000000000000000000000000000000001070d151b1f222222211e1a140d06000000000000000000060e141a1e212223221f1b150e0802000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e7073787f87929aa4afbbc7d1c9bdb2a89c908376695e52463a2d20140700000000000000000000000000000000000000030f1b27323c4855606b75828f96a1abb5c0c7cfd8d4ccc4bdb9afaaa29f98928e89847f7b77828f9ca9b6b2a5988b7f7265584c403a39352f2c28231c1b160f0b0600000000000000000000000000000000000000000000000000030d17212931363a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000050f19232b33383b3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f04030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3a38352f271f150b01000000000000020c1720293036393a3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000030c151d262d3338393d3c383329241e160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2832424c545a5c6060606060606060606060606060606060605f54524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0d2cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d7cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9babfbbbcbdc0c3c5c6cad0d3d6d8d3d0cac6c2bcb8afa9a19e938f847b6f6a60574e443b2f261c1106000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a8b2bdcbd5dfd7ccc1b8aea49c938e8883817e7c7b7a7a7979797878736e64584c3f3326190d00000000000000000000000000000000000000000000000000000000040a0f1315161514120e0903000000000000000000000003090e1214151615130f0a040000000000000000000000000000000000000000000000000004101c2934404b555c606161616263666d727d88939fabb5c0cbcec4b9ac9f93877b6e6154473b2e2114080000000000000000000000000000000000000006131f2b37434e5863707d89949ea8b2bdc7d1d9d4cbc2bab2aca59d98928d86817c77726e76838f9ca9b6b2a5988b7f7265584c3f2e2c29241f1c18120f0a0300000000000000000000000000000000000000000000000000000009141f29333b424648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847423c332a20150900000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4948433d342b21160a09141f29333b4246484a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b000000000000000000000000040d151e262f383f44464a48443e35302820170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a44545e65696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c615e564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c6bcb4aeacacacacacacacacacacacacacacacacacacacacacacacacacaeb4aeafb1b3b6b8babfc5c6cad0d4d9d6d3cdc7c1bbb3ada69e9691857c6f6a5f564d42382d22170b030000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8b5c1cedbdfd3c7bbb0a69c928c817c777472706e6d6d676c6c6c6c67645c52473b2f23170b00000000000000000000000000000000000000000000000000000000000003060809080705020000000000000000000000000000000205070809080603000000000000000000000000000000000000000000000000000000000c18232f39434b515354545455545c606b74808d99a3afbbc7d3c8bbafa49a8a7d7064574a3d3124170a000000000000000000000000000000000000000815222e3b4754606a76828f9ca6b0bac4cfd9d4cac2b9b1a8a09e938e85807a746f6a666976838f9ca9b6b2a5988b7f7265584c3f32251d1913100c070000000000000000000000000000000000000000000000000000000000020e1a25313b454d53545555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555534d453c31261a0e0200000004101c27333d474f545657575757575757575756544e463d32271b0f0e1a26313b454d53555757575757575757575753514b43392f24180c0000000000010d1925303a444c5254575757575757575757575756554f473d33271c100000000000000000000000050d161f273038424a505357554f45413a322921170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566570757979797979797979797979797979797979797975685e5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aaa1a2a4a6a9acaeb4b8babec5c8cdd6dbd8d4cdc4beb9b0a8a19792857c6e685e544a3f33282015090000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c4d0dddcd0c3b7aa9e948c80756f6a6765636261605c5f5f5f5f5a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139404547474748484a5059616e7b86929facb9c5d2ccc0b6ac998c807366594d4033261a0d000000000000000000000000000000000000030f1c28333f4a54626f7c88949fabb8c1ccd6d5ccc2b8b0a79f969189817a736d686260586976838f9ca9b6b2a5988b7f7265584c3f3225190d08040000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e6162626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262625f574d42372b1e12060000000713202c38444f5960636464646464646464646260584e43382c1f13121e2a36424d575f6164646464646464646464605d554b4035291d10040000000005111d2a36414c565e6164646464646464646464646361594f44382c1c1106000000000000000000050e171f283139424a545b60636159524c443b332921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687582868686868686868686868686868686868686877a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea2989292929292929292929292929292929292929292929292929298949595979a9c9fa2aaabadb3b8bcc3cad0d7dfd6cfc9c1bab2a9a19791847a6e665b50443c31261a0e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd6cabeb3a99c8f82756e6260585856555453514b5252524d4c4740382e24190e020000000000000000000000000000000000000000000000000000000000030607090a0b0c0d0e0e0d0d0c0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3f46525e6875828f9ca8b5c2cfd2c1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000006121f2b3844505b6675818e9ba6b0bbcad3d9d0c3bab0a69f9590847d746d68615e56545c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000000004080a0b07060400000000000000000000000000000000000000000714212d3a46535e696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2e2114080000000916222f3b4854606b707070707070707070706f6a6054483b2e221514212d3a46535f696e707070707070707070706d675d5145382c1f1306000000000713202d3946525e686d7070707070707070707070706b615548382d22170b0000000000000000050e172029313a434b545c666c706b605d564d453b33291f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a869293939393939393939393939393939393998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858585858585858586868788898a8d9092989a9fa2a9abb1babec5ced3dcdad5ccc4bbb3a9a1968f82786c60574d42372b20160a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3aebbc7d3dfd3c6baada297897d70635b544e4b494847474540464545403f3b362e261c120800000000000000000000000000000000000000000000000000000306060c101213151718191a1b1b1a191918161413110d070705020000000000000000000000060606060606060606060606060000000000000000000000000000030d151d23292c2d2e2e2e2e36414d5666727f8c99a5b2bfcccfc2b6a99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7985929fabb8c2cdddd2c7beb2a89f948f827a706b615e56524c505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000050b101416171413100c070100000000000000000000000000000000000815212e3b4854616e7b7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6255483b2f2215080000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231615222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d796d6053473a2d201407000000000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7063544a3f33281c0f03000000000000020d172029323a434c555d666d787d756d685e574d453b31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a797979797979797979797979797979797979797979797979797a7b7c7e808385898d92979da0a7aeb3bcc1cad2dbded6cdc5bbb2a89f948c7f72695f53473d32271b0f02000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895abb5bfcbd7ded2c5b8ab9f9285786b605447433f3d3b3a3a38342f393934332f2b241c140a01000000000000000000000000000000000000000000000000060b0f1213171c1f2022232425262728272626242220201d181514120e0905020000000004080a0a131313131313131313131313130b0a08040000000000000000000000030b12181c1f2021212125303d4a5663707d8996a3b0bcc9d0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000916222f3c4955626f7c8897a2adbac6d4d8ccc0b6aca0968f82796d686059524c4641505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0000000810171c212324201f1d18120b03000000000000000000000000000000000f1c2935424f5c6875828888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888883776a5d5144372a1e11000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8276695c504336291d1926323f4c5965727f8a8a8a8a8a8a8a8a8a887b6e6255483b2f221508000000000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8578665b5044382b1f120600000000000009141f29323b444c555d676d78818a827a6e695e574d43392f24180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5acacacacacacacacacacacacacac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6d6e6f717376797c81858a90959fa2aab0b8c1c9d2dbdfd7cdc4bab0a69f92867b6e62584e43382b1e1408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000040607090b0c0d0e0e0e0d0d0b0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcd1dcdccfc3b6a99c90837669594f443732302f2e2d2c29232c2c2726231f19120a020000000000000000000000000000000000000000000003090e11171c1f2023282c2d2f303132333434343332312f2d2c292422211e1a14120e0903050b1014161720202020202020202020202020171614100b050000000000000000000001070c101314141416222f3c4955626f7c8895a2afbbc8d0c4b7aa9d9184776a5e5144372b1e110400000000000000000000000000000000000c1925323f4c5865727f8b98a9b3becad6d4c8bbafa49a91847a6d675e564f46413a43505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c000008121a22282d30312d2c29241d150d060000000000000000000000000000000f1c2935424f5c6875828f95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959083776a5d5144372a1e11000005121f2c3845525f6b788592979797979797979084776a5d51442d2217192633404c5966737f8c9797979797979796897c6f6356493c30231609000000000b1724313e4a5764717d8a9797979797979797979386796c605346392d2013060000000000020e1925303b444d565e676d79828e938f847b6e695e554b4035291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9b9b9b9b9b9b9b9b9b9b9b9b9bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000002020505050505050505050505050505050505050505050505050505050505050505050505050505050505111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e050505050505050500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f555c606162626467666c6f74797e838b92989ea6afb7c0c9d2dcdfd6ccc2baaea3998e82756a6054473b3025190e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0406070c1013141618191a1b1b1a1a1918161414110e080806030000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dacdc1b4a79a8e8174675b4e413327232221201f1c181f1f1a1917130e0801000000000000000000000000000000000000000000030a0f141a1c22282b2d2e34383a3c3d3e3f40414140403f3e3c3a39352f2e2d2b26201e1a141010171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000040607080815222e3b4855616e7b8894a1aebbc7d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d0dbd2c6b9ac9f93877c6f685d554c443d353043505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00040d1a242c33393c3e3a39352f271f18100801000000000000000000000000000f1c2935424f5c6875828f9ba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9084776a5d5144372a1e11000005121f2b3744505b657985929fa3a3a3a3a39e9184786b544a3f33281c1a2734404d5a6773808d9aa3a3a3a3a3a3968a7d7063574a3d3024170a000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a49a877a6d6054473a2d211407000000000005111e2a36424d565e686d79828f949e9691847b6e675d51453e30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7c6c6c6c6c6c6c6c6c6c6cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1212121212121212121212121212121212121212121212121212121212121212121212121212121212121e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1212121212121212120a090704000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154525252525252525252525252525252525252524b515354555657545b6062676d71787f858f949ea5afb7c0cad3e0ded7cbbfb4ab9e93897c6f62564c41362a1e11050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0c101314181d1f20222426272728272726252321201e191515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccc0b3a6998d8073665a4d4033271a15141413100c07120d0d0b070200000000000000000000000000000000000000000002080d151b1f252a2d3338393c3f4446484a4b4c4d4e4e4d4c4c4b494745403f3b3a37312d2a251f1b1a22282d30313939393939393939393939393931302d28221a12080000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a99b8e81756a60564c433a32293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c010c16202c363e44494a47454039312a2219130c040000000000000000000000000f1c2935424f5c6875828f9ba8aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa9d9084776a5d5144372a1e1100000613202d394653606c7986939facb0b0b0ab9f928578665b5044382b1f1b2734414e5a6774818d9aa7b0b0b0b0a4978a7e7164574b3e3124180b000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b6a194877b6e6154483b2e21150800000000000714202d3a46525e696e7a8390949ea6a0969083796d605a5042392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7d2d2d2d2d2d2d2d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000002090f15191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281f1f1f1f1f1f1f1f1f1f171614100b0500000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154474646464646464646464646464646464646464045464748494b4a5053555c60666c727b828e939da5afb8c1ced7e1dcd1c6bdafa59b8f8275685e5246392d2014080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c181d1f2024292c2d2f313333343434333331302e2d2a2522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccbfb2a6998c7f7366594c403326190d0707060400000601000000000000000000000000000000000000000000000000050d131920262b3136383f4446494a505355565758595a5b5a5959575553514b4b4846423c3a36302c27232c33393c3d464646464646464646464646463e3c39332c241a100500000000000000000000000000000815222e3b4855616e7b8894a1aebbc7cfc2b6a99c8f8376695c504336291d10030000000000000000000000000000000004101d2935404b556b7885919eabb8c4d1d2c6b9ada197897c6f62584e443a3129293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c08131e28323e4850555753514b433c3429241e160d0700000000000000000000000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb7aa9d9084776a5d5144372a1e1100000714202d3a4753606d7a869aa4afbbbdb9ac9f9386796c605346392d201b2835414e5b6874818e9ba7b4bdbdb2a5988b7f7265584c3f3225190c000000000c1926333f4c5966727f8c99a5b2bdbdbdbbafa295887c6f6255493c2f22160900000000000814212e3b4754616e7b8490959fa6b0a8a0958e81746c61544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7dfdfdfdfdfdfdfe0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000030c141b202528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342c2c2c2c2c2c2c2c2c2c2c2322201c160f08000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a393939393939393939393939393939392e34383a3a3b3c3e3f44464b51545b60686e78818e929da6b0bcc5d0dbe2d8cfc1b9ac9f92867a6e6154473b2f24190d0100000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291f24292c2d2f35393a3c3e3f4041414140403e3c3b3936302f2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000060e171e252a31373b42464a505355545c60626364656667676766656462605d555855534d4846423b38322b353e44494a535353535353535353535353534a49443e362c22170b00000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000006131f2c3845515d677985929facb8c5d2d1c5b8ab9e9285796c6053463c32281f293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0d19242f3a44505a6164605d554e463f352f281f191008020000000000000000000f1c2935424f5c6875828f9ba8b5c2c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c3b7aa9d9084776a5d5144372a1e1100000814212e3b4754616e7a8794a1b6c0c8bbafa49a877a6d6054473a2d211c2835424f5b6875828e9ba8b5c1bfb2a6998c7f7366594c403326190d000000000d1a2633404d596673808c99a6b3bfcac9bcafa396897c706356493d3023160a00000000000713202d3a4653606d7980889197a1a9b1a79d938a7d70665c5144382c1f160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e3edececececececefe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000020c151e252c31343538383838383838383838383838383838383838383838383838383838383838383838383838383838383838383844515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41383838383838383838383838302f2c27211a11080000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c23282c2d2e2f2f2d33383940454a50565e666d78808e949eaab3becad6dfe0d3c7bbafa3998c7f7266564c4135291d110400000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236282b2f35393a3d404547494b4c4d4e4e4d4d4c4b494746413f3c3b37322d2a261f1b150e08020000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000020a1117202930363c43474d53545b606265666d6f707172737474737372716f6d676865615f5754524d48443d373e4750555760606060606060606060606060575550483e33281c1004000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cfc2b5a89c8f8275665b5044382b2016293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c111d2935414c56616c716d675f585045413a312b2219130c0400000000000000000f1c2935424f5c6875828f9ba8b5c2c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c3b7aa9d9084776a5d5144372a1e1100000815222e3b4855616e7b8894a1aebbccc0b6a194887b6e6155483b2e221c2936424f5c6975828f9ca8b5c2c0b3a79a8d8074675a4d4134271a0e010000010d1a2734404d5a6773808d9aa6b3c0cdcabdb0a3978a7d7064574a3d3124170a000000000006131f2c3845515c666d737d859197a1abafa59e9184796d6053463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7e3f4ece8e6e5e6e8ece8dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e454545454545454545454545453d3c38332b231a0f0500000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211f1f1f1f1f1f1f1f1f1f1f1f1f1f181c1f2021222322282b2f34383f444d545c666c75828f98a2aebac3ced9e3d7cbc0b5ab9d908376685d5245392c20130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f422d3338394045474a4b51535557595a5a5b5a5a59585654524c4c4847433c3a36312b262019140b0600000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000030c141c2328323a41464e53575e61666c6f7275797b7d7e7f808181807f7f7e7c7a7875726e6966615e57544f474244505a61646c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d211408000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6cdc1b4a79a8e817467544a3f3328191d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190b17212c3945525d68717d796f6a625a514c433c3429241e160e07000000000000000f1c2935424f5c6875828f9ba8b5bababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab7aa9d9084776a5d5144372a1e1100000915222f3c4855626f7b8895a2aebbd2bbafa295887c6f6255493c2f221d293643505c6976838f9ca9b6c2c1b4a79b8e8174685b4e4135281b0e020000010e1b2734414e5a6774818d9aa7b4c0cdcabeb1a4978b7e7164584b3e3125180b000000000004101c2834404b545c606b707b859199a3afaca0968b7f7265594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7e6e0dcd9d8d9dce0e6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000040f1b25303942494d4f52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525e6a7784919daab7c4d0dacdc1b4a79a8e8174675b52525252525252525252525252524a48443d352b21160b00000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114131313131313131313131313070c101313141516171c1f23292d333b424a545b616e7b85929fa7b1bcc8d4e0dcd1c5b9ac9f92867a6d6054473a2d21140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42383f44464b515357555d606264666667676766666463615e565955534e4846423b37312a251f17110a020000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000030c151e262e343d444c52585f62696e74797c7f828588898a8b8c8d8e8d8c8c8a888684827e7b77736e69636059534d4955616c7079797979797979797979797979716c6155493c3023160a000000000000000000000000000b1825313e4b5864717e8b97a4b1becacbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000714212e3a4754616d7a8794aab4bfcad6cdc0b3a69a8d8073675a4d402d22171d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519141d2834404b54606d7a86837c716d605d554e463f353028201910070000000000000f1c2935424f5c6875828f9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9084776a5d5144372a1e110000091623303c4956636f7c8996a2afbcc9bcafa396897c706356493d30231d2a3744505d6a7783909daab6c3c2b5a89b8f8275685c4f4235291c0f020000020e1b2835414e5b6874818e9ba7b4c1cecbbfb2a5988c7f7265594c3f3226190c0000000000000c18232e39424b51596069707d87929fa7b1a89d9184776b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8b99a3aebbc7d3e3e3dbd5d0cdcccdd0d5dbe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000915202c37424b53595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6a7784919daab7c4d0dacdc1b4a79a8e8174675f5f5f5f5f5f5f5f5f5f5f5f5f5f5f56544f473d33271c1004000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060600000406070708060b0f12181c22283038424a525e69727f8b95a0acb8c5d1dee0d4c7bbafa3998a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f40454a5053555d606367676d6f7172737474747373716f6e686865625f5855534d47433c363027221b140b0400000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000020b151e2730383f444f565e616a6f747b8085888c8f9298969798999a9a9a9998979a93918f8b8884807b75706b625f57505764707d868686868686868686868686867e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccccc0b6ac968a7d7063574a3d3024170a00000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cec1b4a79b8e817468544a3f33281c1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225191b262f3845515c66727f8c91867e756d6760585146413a322b22190f0400000000000f1c2935424f5c6875828f9ba1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19d9084776a5d5144372a1e1100000a1723303d4a5663707d8996a3b0bcc9bdb0a3978a7d7064574a3d31241e2b3744515e6a7784919daab7c4c3b6a99c908376695d5043362a1d07000000020f1c2935424f5c6875828f9ba8b5c2ceccbfb3a6998c807366594d4033261a0d00000000000007121d27303940454f56606b727f8c95a0acaca095897c6f6356493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3d9d1cac4c0bfc0c4cad1d9dcd1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000000c1925313d49535d65686b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7784919daab7c4d0dacdc1b4a79a8e81746b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6360594f44382c201407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000003070c11171e262f38424d57606c7884919daab7c3cdd9e3d7cbc0b5ab998c7f7366594c403326190d00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4b51545b6063676d7073777a7c7e7f80818180807f7e7c7a7875726f6a66615f57534e46413b332d261d160d06000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000a141d273039424a505960686d757c81868d9297989c9fa2aaa4a5a6a7a7a6a6a5aca49f9e9b9896918c87827d756e69605c5464707d8a93939393939393939393938a7d7164574a3e3124170b000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc8bbafa49a887b6e6255483b2f221508000000000000000000000000000000000006131f2c3845515d677985929facb8c5d2cfc2b6a99c8f8376665b5044382b1f14293643505c6976838f9ca9b6b2a5988b7f7265584c3f322517222d38414d57606d79849198928b817a6f6a625b524c443d342b21160a00000000000f1c2935424f5c6875828f94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949084776a5d5144372a1e1100000a1724313d4a5764707d8a97a3b0bdcabeb1a4978b7e7164584b3e31251e2b3845515e6b7884919eabb7c4c3b7aa9d9084776a5d51442e23180c00000003101c2936434f5c6976828f9ca9b5c2cfcdc0b3a79a8d8074675a4d4134271a0e010000000000000b151e272e343d444f59606c7883909daab1a89a8e817467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d1c7bfb8b4b2b4b8bfc7d1ded3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787884919daab7c4d0dacdc1b4a79a8e817878787878787878787878787878787878706b6054483c2f221609000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000060c141d26303b44505b65737f8c99a7b1bcc8d4e0dcd1c1b4a89b8e8175685b4e4235281b0600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c50555d60666c7075797d808386888a8c8d8d8e8d8d8c8b898785827f7c77736e69625f58524d443f382f281f180f060000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000006111b262f39424b545c606b707a82878e92999ea2a9a8acaeb4b1b2b3b4b4b3b2b2b6afacaba8a8a09e99928f89827b736d665e64707d8a979f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000004101d2935404b556a7783909daab6c3d0d1c4b8ab9e9185796c6053463c30261c293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252427333f49535e69727f8c96a19f938e847c726d615d564f473d32271b0f03000000000f1c2935424f5c6875828787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878784776a5d5144372a1e1100000b1825313e4b5864717e8b97a4b1becabfb2a5988c7f7265594c3f32261f2c3845525f6b7885929eabb8c5c4b8ab9e9185786b544b4034281c1004000003101d2a3643505d697683909ca9b6c3cfcec1b4a79b8e8174685b4e4135281b0e020000000000020a11171d2328323d44505b65727e8b98a2aeaa9e918477695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d9d0bfb5ada7a5a7adb5bfccd6d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000000f1c2935424f5c687581858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858587929facb9c5d2dfd2c5b9ac9f928685858585858585858585858585858585857d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000020b141f27333f4953616e7b8895a0acb8c4d1deddd0c3b6aa9d9083776a5d50442d22170b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569545b60676d72787d81858a8d90939a9799999a9a9a9999979697928f8c88847f7b756f6a615e565049413a312a2118100600000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000060f17222d38414b545c666d737d858f939a9fa3abadb3b5b8babfbdbebfc0c1c0bfbfc0bbb9b7b5b2acaba39f9c938f8780786d6864707d8a97a3acacacacacacaca4978a7d7164574a3e3124170b00000000000000000000000005111d2935414c566a7784909daab7c3d0c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000c18242f424e5b6875818e9ba8b4c1ced2c6b9ada197897d7063584e42382e23293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a363e44505b656e7b86929fa8a59e9691867f756d6860594f43382c1f1307000000000714212e3a4754616d7a7b7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6e6154473b2e21140800000c1825323f4b5865727e8b98a5b1becbbfb3a6998c807366594d4033261f2b3844505b667985929facb8c5c5b8ac9f928579665c5145382c1f1306000004111d2a3744505d6a7783909daab6c3d0cec2b5a89b8f8275685c4f4235291c0f0200000000020c141c23282b3939333f4953606d7a86929facaca096887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7ddd2c7bdada39c999ca3adbac4cedad1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929299a3afbbc7d4e0d3c7baaea39892929292929292929292929292929292928a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000020b17222d3847535f697783909daab6c3d0ddded1c4b8ab9e9185786b5e4a3f33281c0f03000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960666c71797e84898e92989a9d9fa4aca5a6a7a7a7a6a6a4a9a19e9b9895918c87817c756e68605b534c433c332a22181006000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000030e182127333f49535c666d78808791979fa4acafb5b9bec2c5c6cad0cbcccdcdcdccd2ccc8c6c4c2bdb9b5afaca69e99928c827a6e69707d8a97a3b0b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000713202d3946525e687885929fabb8c5cfc3b6a99c90837669554b4034281c1004000000000000000000000000000000000000071925323f4c5865727f8b98a8b2bdc8d4c9beb3a99b8e81756a5f544a3f342e263643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f48505a606c77828f98a2aeafa8a099928b827a6f6b6054483b2f221509000000000713202d3946525e686d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d20140700000c1926323f4c5965727f8c98a5b2bfcbc0b3a79a8d8074675a4d413427202d394653606c798698a2aebac7c6baaea29886796d6053463a2d201307000004111e2b3744515e6a7784919daab7c4d0cfc3b6a99c908376695d5043362a1d0600000000000a141e262e34384646464645515d6774818e9ba7b2a8978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcd7ccc0b5ab9c918c919ca8b2bdc9d5d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9c9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa3abb5c0cbd7e3d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000006111b2b37424d576774818d9aa7b4c0cddadfd2c5b8ac9f928579665b5044382b1f1206000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696a6f787e858b91969b9fa2aaaaacafb6b2b3b4b4b3b3b2b1b3adaba8a8a09d99928e87817b726c655d564e453c342a22180f050000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000915202a333c44505b656d78828c9399a1a9afb6bbc0c7cacfd2d3d6d4d2d0cccac9c8c7c7c8c9cbcec9c7c0bbb9b0aba39f948f847b6e707d8a97a3b0bdc6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000714212e3a4754616d7a8798a2aebac6cec1b4a79b8e8174685b4e412e23180c000000000000000000000000000000000000000815222f3b4855626e7b8896a0acb8c6d1cfc4b9ac9f92877c6f665c50443f38303643505c6976838f9ca9b6b2a5988b7f7265584c3f343a4146515a616c73808c949eaab4bab2aba39f948f847d6f6356493c302316090000000005111d2935414c565e6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161615e564c41362a1e110500000d1a2633404d596673808c99a6b3bfccc1b4a79b8e8174685b4e413528202d3a4753606d7a8693aab4bfcacabfb4aa94877a6e6154473b2e211408000005121e2b3845515e6b7884919eabb7c4d1d0c3b7aa9d9084776a5d51442e23170b0000000006111c2630383f4453535353534c5565717e8b98a4b1a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e0d4c7bbafa4998c7f8c96a1acb9c5d2d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9abababababababababababababababababababababababababababababababababababababababababababababababacafb5bdc7d1dce7dcd1c6bcb4aeacababababababababababababababa3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000e1a2631404c5966737f8c99a6b2bfccd9dfd3c6baaea29886796c605346392d201306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c727c838b92979ea0a8acaeb4b7b9bbc0bfc0c0c1c0c0bfbebeb9b8b5b1acaba39f9a938e857f776d685f574e463c342a21170c0300000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000020b1a26313c46515b606c77818e949fa4abb2bbc0c7cbd1d6dad5d2ccc7c6c3c0bdbcbbbababbbcbec1c3c6c7c7c1bdb5aea69f9691847b707d8a97a3b0bdcad2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000916222f3c4955626f7c8895aab4becaccbfb2a6998c7f7366594c4033261907000000000000000000000000000000000000000814212e3a47535f697784919eabb4bfcbd4c7bbafa3999083786d605b504a423b3543505c6976838f9ca9b6b2a5988b7f7265584c3f3f444c525b626c717e88939fa6b0bcc4bdb4aea69e968e8175685b4e4235281b0f02000000010d1925303a444c52545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454524c443b3025190d0100010d1a2734404d5a6773808d9aa6b3c0cdc2b5a89c8f8275695c4f423629212e3a4754616d7a8794a0adbad0d0bbaea195887b6e6255483b2f221508000005121f2c3845525f6b7885929eabb8c5d1d1c4b7ab9e9184786b544a3f34281c10030000000b17232e38424a505f60606060606063707d8996a3b0a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7dfd2c6b9ac9f93867a84919eabb7c4d1dcd1c5b9ac9f92867a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbc0c7cfd9e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000091825313e4b5864717e8b97a4b1becad7e0d4c7bbafa399867a6d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275777f8790959ea1a9acb2b8babfc3c6c8ccd2cacbcdcdcccccfc9c6c5c2bdb8b5afaca49f97928b827a6e6a5f584e463c33291e150b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000a141d2b37434e58626d73808d939ea6afb5bdc4ccd2d7dcd7cfc9c7c0bbb9b6b3b0afaeadaeaeafb1b4b7b9bbc0c7c6bfbbb0a8a19691847a7d8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000b1724313e4a5764717d8a97a4b0bdd0ccc0b6ac978a7e7164574b3e3124180b0000000000000000000000000000000000000006121e2b37424d5766727f8c99a3aebac4cfcbc0b5ab9f958d80736d605c544d454143505c6976838f9ca9b6b2a5988b7f7265584c454a50565e616d727e87929aa4afb8c1cec6bfb9ac9f93877c6f6255483c2f221509000000000008131e28323a414647474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746413b32291e14080000010e1b2734414e5a6774818d9aa7b4c0cdc3b6a99c908376695d5043362a222e3b4855616e7b8894a1aebbc7c8bcafa295897c6f6256493c2f231609000006121f2b3844505c667986929facb9c5d2d2c5b8ab9f928578665c5044382b1f1206000003101c28343f4a545c6c6c6c6c6c6c6c6c6e7b8895a1aea99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcddd0c3b6aa9d908377818e9ba7b4c1cedad3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1d9e1ebf4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd2c5b9ac9f928679675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8279818c9299a0a7adb3b9bdc3c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d1cec8c7c0bbb6afa9a29f948f847c6f6a5f584e453b30271d1207000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000006111c262f3847535f6a727f8b929da5afbbc0c7d0d8ddd8d1cbc5beb9b5afacaaa6a3a2a1a0a1a2a3a4a7aaacafb5b8bcc3c2bab2a8a0968e817e8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000020e1a26313c4754616e7a86929fa9b2bdc9d1c7bdb1a79d928c7f736d665e57524c47505c6976838f9ca9b6b2a5988b7f7265584b51545c60686d757f889299a3acb6c0cad0c5bbb0a69c8f82756a5f53473a2e2115080000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d020000020e1b2835414e5b6874818e9ba7b4c1cec3b7aa9d9084776a5d51442e23222f3c4855626f7b8895a2aebbc8c9bdb0a3968a7d7063574a3d3024170a00000713202d3a4653606d798698a3aebac7d3d3c6baaea29886796d6053463a2d201307000006121f2b3844505c66767979797979797979798693a0ada99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d7cbc0b5ab9a8d80737e8b97a8b2bdc9d5d7cbc0b5ab9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d4d7dce3ebf3fcf3eae2dcd7d3d2d1d1d1d1d1d1d1d1d1d1d1c9bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ded2c5b8ab9f9285786c554b4034291c1004000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f82828f939fa3abb1b9bec5c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced4d1cbc7c0bbb3ada69e9691857c6f6a5f574d43392e23180d040000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000b17222d38424f59626e7c87929fa4aeb7c1ccd2d9ded6cfc6bfbab3adaba49f9d9997969594949596989a9d9fa4abacb1b8bcc3bab2a89e938d818d9aa7b4c0cdd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000915202d3946525e6873808d96a1adb9c2cdcfc3b9aea49c918c80786e69605d56534e5c6976838f9ca9b6b2a5988b7f726558555c60666d717a818b939aa3abb5bec7d2cabeb3a99e94897c6f62584e43372b1f1206000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000020f1c2935424f5c6875828f9ba8b5c2cec4b7ab9e9184786b544a3f3428232f3c4956626f7c8995a2afbcc8cabdb1a4978a7e7164574b3e3124180b00000714212d3a4754606d7a8793aab4bfcbd7d6cabeb3aa94877a6d6154473a2e21140700000713202d3a4653606d788686868686868686868b95a2b7aa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e0d3c7bbafa3998a7d707b8796a1acb9c5d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcdededededad5d2d1c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0f7eee5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ded1c4b7ab9e9184786b5e51452f23180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3ddd0c4b7ab9f948f8f949ea5aeb5bdc3bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d2ccc5bebab0a8a09792857c6f695e554b4034281f160c0100000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1c28333f4a54606b75828f99a3afb6c0c9d7ddddd5ccc4bcb4aea9a19e9993908d8a8988878788898b8e9093999da0a7acb1babfbaafa59f9386939facb9c6d2d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b556976838f9ca9b6c2cfc4b7ab9e918478675d5145392c1f1306000000000000000000000000000000000000000005111e2a36414c56606d7984919ea6b0bbc5cecbc0b6ada39c928d837b736d68625f585c6976838f9ca9b6b2a5988b7f72656064676d71787e858f939fa4acb5bdc6d0cbc3baada2978f82756a6054463c31261b0f0300000000000000040c13191d20212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201e19140d050000000003101c2936434f5c6976828f9ca9b5c2cfc5b8ac9f928579665c5044382c23303d495663707c8996a3afbcc9cbbeb2a5988b7f7265584c3f3225190c00000814212e3b4754616e7a8794a1adbad1dcdbd0bbaea194887b6e6155483b2e22150800000713202d3a4653606d79869393939393939393959da7b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcdfd2c5b9ac9f92867a6d7884919eabb7c4d1ded3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e9dfd7cfc9c6c5bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8efe5dbd3ccc6c3c2bbbbbbbbbbbbbbbbbbbbbbbbbbb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7dccfc2b6a99c8f8376695c504336291d0700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd3c7bbb0a69f9c9c9fa6afbbbfbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d8d0cac1bab2a9a19792857b6e675c51453e31281d120700000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b66707d89949eabb5c0c8d2dbdfd5cbc3bab2aaa39f97928c8783807d7c7b7a7b7b7c7e8183868c91959da0a7aeb4bcbbafa49a939aa4afbbc8d4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000613202c3945515d677885919eabb8c4cfc2b5a99c8f827669554b4035291d10040000000000000000000000000000000000000000010d1925303b45515d67717e8a949fa9b3bcc5cfc8bfb5ada49c949085807a736f6a66646976838f9ca9b6b2a5988b7f72676d7074797e848b92979ea5afb6bec6cfccc3b9afa59f92857b6e61584e43342a20150a00000000000000000002080d111314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110d0802000000000003101d2a3643505d697683909ca9b6c3cfc6baaea29886796d6053463a2d24303d4a5763707d8a96a3b0bdc9ccbfb2a6998c7f7366594c403326190d00000815222e3b4855616e7b8894a1aebbc7d4d5c8bbafa295887c6f6255493c2f22160900000713202d3a4653606d7986939f9f9f9f9f9fa0a2a7afb7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dccfc3b6a99c9083766774818e9ba7b4c1cfdad7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e1d7cdc5beb9b8afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0e8ddd3c9c1bbb6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaea3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000007121e2a36424d576773808d9aa6b3c0cdd9dacdc1b4a79a8e8174675b4e4134281b0e01000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d8ccc2b8b0aba9a9abb0b8bfbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6ccc3bbb3a9a1979083796d60594f43392f24180d02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7883909da6b0bdc7d1dae1d6ccc3b9b1a8a098928c857f7a7773706f6e6d6e6f707174777b7f848a90959fa2aab2bab6aca49fa4acb6c0ccd8d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000714212d3a4754606d7a8797a1adb9c6cdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000008141e2935404b55616c76828f97a1aab4bdc6d0c8bfb6aea69f98928c85807b7773706e76838f9ca9b6b2a5988b7f7477797d81858b91969ea1a9afbbc0c7d0ccc3bab1a79e938a7e71695e52463d3222180e03000000000000000000070e1317191a1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1a18140f09010000000004111e2a3744515d6a7784909daab7c3d0cabfb4aa94877a6d6154473a2e24313e4a5764717d8a97a4b0bdcacdc0b3a69a8d8073675a4d4034271a0d01000915222f3c4855626f7b8895a2aebbc8d5d6c9bcafa396897c706356493d3023160a00000713202d3a4653606d798693a0acacacacacadaeb2b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e2d6cabfb4aa998c807366717e8b97a8b2bdc9d5dcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce6dacfc5bbb3adaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2abacb2bac4cedae3d7ccc1b7afaaa8a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000040d19222d3a46535f6976838f9ca9b6c2cfdcd4c8bcb1a7988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfded4cac2bbb7b6b5b7bbbcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d5cdc5bbb3a99f958e81746b61554b4035291f1408000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000003101c28343f4a5464707d8a95a0acb8c1cfd9e3d9cfc4bab1a7a09691867f79726d6866646362616162636567696e72777d838b9298a0a8b0b8b6afacafb6bec7d2ddd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000916222f3c4955626f7c8895a9b2bec9cbbeb1a4988b7e7165584b3e3225180700000000000000000000000000000000000000000000020d18242f3a43505a616e7b859298a2abb4bdc5cdc8c0b9b0aaa29f97928c8884807d7b78828f9ca9b6b5a89b8f818183868a8e92979ea0a8adb3bbc1ccd2cbc3bab2a8a0958f81756c61574d42342b2110060000000000000000010a12191f23262629292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929282724201a130b0200000005111e2b3844515e6b7784919eaab7c4d1d0bbaea194887b6e6155483b2e25323e4b5865717e8b98a4b1becbcec1b4a79b8e8174685b4e4135281b0e02000916232f3c4956626f7c8995a2afbcc8d5d6cabdb0a3978a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9b9b9b9b9babec4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce0d3c6baaea298897c6f636e7b8896a1adb9c5d2dfd3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2d0d9e3d5c9beb3a9a19e96959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5dfd2c6bbafa59e9b959595959595959595959595959595958a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000060d161f2834404a54616e7b87939facb9c6d2dfd1c4b8aca095877b6e6154473b2e21140800000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe6dcd4ccc7c4c2c2c1b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d7cdc5bbb1a79d938a7d70675d51453b3025190e020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006121f2b3844505c6674818e9ba7b1bccad3e1dcd1c7bdb2a8a09590847c726d67615d565756555454555658575e61666b70787e8691969fa6b0b9bbb9bbc0c7d0d9e4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabeb3a996897c6f6356493c30231609000000000000000000000000000000000000000000000007131d28313e47535f696f7c869299a3abb3bbc2cccbc2bcb3aea9a29f9996918d8a888686929facb8b6aa9e938f8e9092999b9fa2a9acb2b9bec5cdd0cac0b9b1a8a09690837a6d615a50453b3022190f0000000000000000000a131c242a2f3233363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363533302b251d140b01000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f25323f4c5865727f8b98a5b2becbcec2b5a89b8f8275685c4f4235291c0f02000a1623303d495663707c8996a3afbcc9d6d7cbbeb1a4988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6c6c6c6c7d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b8ac9f9285796d60697884919eabb7c4d1ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2bdc7d2ddd2c6b9ada1979289888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2dccfc3b6aa9e938f88888888888888888888888888888888887d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000003090f181f28313a44515c6673808d9aa4afbbc8d4ddd0c3b7aa9d908377695e52463a2d20140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeee6ded8d3d0c9c1b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d6cdc3b9afa59e9184796d60564d41362a1e13080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cedee3d7cbc0b5aba19690837a6f6a605d55524c4a4948474848494b4d52545961666d717c848f949fa7b1bac4c8ccd2d9e2ebd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000d192633404c5966737f8c99a6b2bfccc6baada297877a6d6154473a2e2114070000000000000000000000000000000000000000000000010c161f2b37424d57606a707d879299a2a9b1bbc0c7cec5bebab3adaba8a09d999798929298a3aebabbafa59e9b9a9d9fa3ababadb3b9bdc4c9cfcbc5bebaaea7a09691847a6d685d52483e33291f1007000000000000000007121c252e353b3f404343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434341403c362f261d1309000005121f2b3744505b657985929facb8c5d2c9bcb0a396897d7063564a3d3026333f4c5966727f8c99a5b2bfcccfc3b6a99c908376695d5043362a1d0700000a1724303d4a5763707d8a96a3b0bdc9d6d8cbbfb2a5988c7f7265594c3f3226190c00000713202d3a4653606d798693a0acb9c6d2d2d3ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3dbcfc2b5a89c8f8275665c6874818e9ba7b4c1ced9dcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e96a1abb5c0ccd7d1c5b8ab9e92857d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c84919eabb7c4d1dbcec2b5a89b8f817c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000002050a0f151a2129313a434e58606d7985919eacb6c0ccd8d5c9bdb2a8998d807366574d42362a1e110500000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfecf1e7ddd3cac1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd4cbc0b9aca1968d8073685e52463a3025190d0100000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a1623303d495663707c8997a2adb9c6d2dfe0d4c7bbafa39991847b6e685f58514b46413d3c3b3a3b3c3d3e4246474f545c606a6f7a828f95a0a8b2bec7d2dde4ebe3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec5b8ab9f928578685e5246392d201307000000000000000000000000000000000000000000000000040d1a26313c454e58606b717e8792979fa7afb6bec3c8cac5bebab8b2acaaa6aaa29f9fa3aab4bfc1b8afaaa8a7aaacaeb5b8babec5c9ceccc6bfbbb4aea49d9590847b6e685e564c41362c20170d0000000000000000020e19242e3740474b4d505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e4c4841392f251a0f03000613202d394653606c7986939facb9c6d2cabdb0a4978a7d7164574a3e312633404d596673808c99a6b3bfccd0c3b7aa9d9084776a5d51442e23180c00000b1824313e4b5764717e8a97a4b1bdcad7d9ccbfb3a6998c807366594d4033261a0d00000713202d3a4653606d798693a0acb9c6d3dfe0ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a8988b7f72655464717e8b97a8b2bdc8d4e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000714212e3a4754616d7a849199a4afbbc2ced2c6b9ada1978e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7784919daab7c4d0dacdc1b4a79a8e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c201306000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060000040607080809090e12151a20262b333b434c56606a727f8b97a1adbec7d2ddd2c5b9aca096897c6f6356493c30251a0e0200000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dff3e9dfd5cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6ddd5c9bdb2a89f92867b6e61564c41362a1d110500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010e1a2734414d5a6774808d9aa9b3becad6e2d6cabfb4aa9f92877c6f695e564e4540393530302f2e2e2f3030363a3e424a50585f686d79839096a0acb6c0ccd8e1ebe3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111d2935414c566a7683909da9b6c3d0c3b6a99d9083766a564c41362a1d11050000000000000000000000000000000000000000000000000009151f2a333d464f59616c717e8590959fa4acb1b8bcc3c8cac6c3bdb8b7b3b4aeacacaeb4bcc6cac1bbb6b5b4b6b9bbbfc5c6cacec9c7c0bbb5aeaaa29f928d837b6e695e564c443a30241b0e05000000000000000007131f2a35404a5257595c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b59534b41362b201408000714202d3a4753606d7a869aa4afbbc8d4cbbeb1a4988b7e7165584b3e322734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a4034281c1004000b1825323e4b5865717e8b98a4b1becbd7dacdc0b3a79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3ded2c5b9aca196887b6e6255616e7b8796a0acb8c5d2ded7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000713202d3946525e68707d87939fa7b1bcc5d0c9beb3a99d938a7e716962626262626262626262626262626262626262626262626262626262626a7784919daab7c4d0dacdc1b4a79a8e817467626262626262626262626262626262605d554c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21141313131313131313131313130c101314141516171a1e21262b31373d454d555d686f7c87929fa9b3bed0d9d4c8bcb1a79e9184786d6053463a2d2013090000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dacec4baaea3988d8073685e5246392d20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfdbe0d3c7baaea2988e81746a5f574d443c352f2924232221212223252a2d30383f444e565d676e7a84919aa4afbbc4cfdae6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413025190d0100000000000000000000000000000000000000000000000000030e18212b343d47505a616c707b838d939aa0a7acb1b8bcc3c4c8c8c5c4c0bfbab8b8babfc6ced3ccc6c3c2c1c3c5c7cbcec9c5c4bdb9b6afaba39f98928a80796e695e574d443a32281e12090000000000000000000a17232f3b47525c63666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968645d53483c3024180b000714212e3a4754616d7a8794a0b6c0ccd8cbbfb2a5988c7f7265594c3f322734414e5a6774818d9aa7b4c0cdd2c5b8ac9f928579665c5144382c1f1206000c1925323f4c5865727f8b98a5b2becbd8dbcec1b4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e918478695f535e697784919eaab7c4cedadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000005111d2a36414c56606b73808c959fa9b3becacfc5bbafa59f92857b6e665c55555555555555555555555555555555555555555555555555555e6a7784919daab7c4d0dacdc1b4a79a8e8174675b555555555555555555555555555554514c433a2f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2120202020202020202020202020181c1f2021222324262b2d31373c43474f575f676d7a849199a3aebbc4cfd7cdc5b8aca0958a7e71665c5044382b1f12060000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6154473d32271b0f03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000714202d3a46525e697985929facb8c5d2dfdfd2c5b8ac9f92867b6e61584e453b3229241d191615141515161a1e20262e343c434c555e686f7c88939fa9b3bec9d5e3e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a8797a2adbac6ccbfb3a6998c807366594d4033261a08000000000000000000000000000000000000000000000000000000060f19222b353e48505a61696e78808890959da0a7acb1b6b8bcc2c5c6c9cac7c5c5c7cbd0d8e0d7d2cfced0cac6c5c3c0bdb9b7b2acaca49f99928d867e746d675e574d453b322920160c000000000000000000000c1926323f4b57636e7376767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676746f64594c4033271a0e000815222e3b4855616e7b8894a1aebbd2ddccbfb3a6998c807366594d40332835414e5b6874818e9ba7b4c1ced3c6baaea29886796d6053463a2d201307000c1926333f4c5966727f8c99a5b2bfccd8dbcfc2b5a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d807367574d576773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000010d1925303a444f59606d78839097a2adbac0cccdc0baada2979083786d60594f4848484848484848484848484848484848484848484848515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e484848484848484848484848484745413a31281e130800000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d23292c2d2e2f2f3131373a3c43474e535960696e79828f96a0abb4bfcdd6cfc5bbb1a79d9083786c60544a3f34281c10030000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6dcd0c6baaea2988c7f7266584e43372b1f1306000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6d3dfd7cbbfb4aa9a8e8174695e52463c33292018120d0808070809090e11141c2328313a434c56606b74808d97a1adb9c6d1dce7d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000916232f3c4956626f7c8995a9b3becacabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000007101a232c363e4850575e666d737d838a90959da0a7aaacb1b5b8b9bebdbfc1c5c6cad0d7d3ccc6c3c2bdbebab8b6b4b2acaba8a19e9a938e86807a716c605c554d453b332920170e04000000000000000000000d1a2633404d59667380838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838174685b4e4135281b0e000915222f3c4855626f7b8895a2aebbc8d5cdc0b4a79a8d8174675a4e41342935424f5c6875828f9ba8b5c2ced6cabfb4aa94877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfccd9dccfc3b6a99c908376695d5043362a1d0600000713202d3a4653606d798693a0acb9c6d3dfe1ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f62564956626f7c8996a1acb9c5d2ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbac3cfcabeb3a99f958c80736b60564c413c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e413c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c0100000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a3939393939393939393939393939392f34383a3b3b3c3e404246484e53585f626b707b838f949fa8b2bdc6d1d1c7bdb3a99f958a7d70665b5042382e23170b000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd6cabfb4aa9d9184776a6054473b2e221509000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000915222f3c4855626f7b8895aab4bfcad6e0d3c7baaea3988a7d7064574d42342a20170d070100000000000002050a11171f28313b444f59606d7a85919eabb5bfcbd7e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4b1bdcfc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000008111a242c363e454d545c606b70787d838a9095999da0a7a9abadb3b1b3b4b8babec5cdcac1bbb6b5b0b4aeabaaa7a8a19e9a96918c87817b746e68615a514b433b332921170e0500000000000000000000000f1c2935424f5c6875818f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f83776a5d5144372a1e11000916232f3c4956626f7c8995a2afbcc8d5cec1b4a89b8e8175685b4e42352936434f5c6976828f9ca9b5c2cfdbd0bbaea195887b6e6255483b2f221508000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a5d51442e23170c00000713202d3a4653606d798693a0acb9c6d3d5d5d5d1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e9184786c60534654606a7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da8b1bcc6d0c5bcb1a79f93877d70685e52463f342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342f2f2f2f2f2f2f2f2f2f2f2d2c29241e160d040000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544746464646464646464646464646464646464045474748494a4d4d5355585f626a6e757d8591959fa6b0bac4cfd2cbc0b5aba1979083766c61544a3f30261c1106000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6dbd0c6b8aca095897c6f6256493c31251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000091623303c4956636f7c8996a2afbcd0dbdfd2c5b9ac9f92867a6d6053473b3020190e050000000000000000000000060d161f29323d45515d6773808c99a3aebbc7d3e0d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000008121a232c333b424a515961656c70787d83888c9095989c9ea1a9a4a6a8abadb3bbc5c1b8afaaa8a4aaa29f9d9a9796918e8984807b756e69615e5650454039302921170f050000000000000000000000000f1c2935424f5c6875828f9b9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9084776a5d5144372a1e11000a1723303d4a5663707d8996a3b0bcc9d6cfc2b5a89c8f8275695c4f42362a3643505d697683909ca9b6c3cfd5c8bcafa295897c6f6256493c2f231609000e1b2734414e5a6774818d9aa7b4c0cdd5d5d1c4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d798693a0acb9c6c8c8c8c8c8c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d8074655b50444e586773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000050e17232e38424d57616c74818e95a0aab4bfcbcec2bbafa49991847a6d615b51463c312722222222222222222222222222222b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134282222222222222222222221201d19130c04000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61545353535353535353535353535353535353534b5153545556575a575f61666a6f747b82899297a0a7b0b8c2ccd0c7c0bbafa39992857b6e615a5042382d1e140a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd4c8bcb1a79a8d807467574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c908376675d5145392c20130700000000000000000000000000040d17202935414c55616e7b86929facb9c5d2dfd7cabdb0a4978a7d7164574a3e3124170b000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000008111a2129303940444f535b60656c70777c7f83878b8f92979597999b9fa2a9b3bebbafa59e9b97959892908d8a8784817d78736e69615f57524c443e342e271e170f05000000000000000000000000000f1c2935424f5c6875828f9ba8a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99d9084776a5d5144372a1e11000a1724313d4a5764707d8a97a3b0bdc9c9c9c3b6a99c908376695d5043362a3744505d6a7783909daab6c3c9c9c9bdb0a3968a7d7063574a3d3024170a000f1b2835424e5b6875818e9ba8b4c1c8c8c8c8c5b8ac9f928579665c5044382c1f1206000713202d3a4653606d798693a0acb9bbbbbbbbbbbbbbb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f4956626f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f241815151515151515151515151e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1515151515151515151413110d080100000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6160606060606060606060606060606060606060605c60616262646669696e73777b81878f939ea1a9b1b9c2cacfc6beb6afa49f92877d70695e53483e2f261c0c0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8d9cec3b7aa9d918477695e53463a2d2114070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dbcec1b4a89b8e817568554b4035291d10040000000000000000000000000000050e19242f3a46525e6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec7baada194877a6e6154473b2e2114080100020202020000000000000000000000000000000000000000000000000000080f171e272e343d414950535b60646a6f73777b7f828587898a8c8e9297a2adbab6aa9e938f8a89878583817e7b7874706c65615f57534d46413b3228231d150c0500000000000000000000000000000f1c2935424f5c6875828f9ba8b5b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdb7aa9d9184776a5e51442e233744515e6a7784919daab7bdbdbdbdbdb1a4978a7e7164574b3e3124180b000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbaaea29886796d6053463a2d201307000713202d3a4653606d798693a0acaeaeaeaeaeaeaeaeaeaa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346394653606c7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c0909090909090909111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e090909090909090907060401000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e6f717375787b7f84888e92999ea5adb3bbc3cccac3bcb4aca49f928c7f726b60574d42362c1d140a0000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4ded1c5b8aca096877b6e6154483b2e2115070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dacdc0b3a79a8d8074675a4d412f24180d0100000000000000000000000000000008131e2a36414d566673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004101d2a3743505d6a7683909da9b6c3d0c8bbaea295887b6f6255483c2f2214110d070f0f0f0f0b0a08040000000000000000000000000000000000000000000000050c151c23282f383f44495053585f6266696e7276787a7c7e808185929fabb8b5a89b8f817e7c7a787774716e696763605b53534d46423b3630292018120b030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b7aa9d9084776a5d5144372a1e11000c1825323f4b5865727e8b98a5b0b0b0b0b0b0b0ab9e9185786b554b4034283845515e6b7884919eabb0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00101c2936434f5c6976828f9ca9aeaeaeaeaeaeaeaeb4aa94877a6d6154473a2e211407000713202d3a4653606d798693a0a2a2a2a2a2a2a2a2a2a2a29e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a99a8d8074655b50443744505b6574808d9aa9b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4bab0a69f92867c6f675d51453e33291e140a00000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a79797979797979797979797979797979797979797979797a7a7b7c7d808285888c90959a9fa3abafb9bec5cbc5bebab1aaa39a938c80746d63594f453b31241a0b020000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd4c8bdb2a8988b7e7165584b3e2e23180c0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190700000000000000000000000000000000010e192530404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa396897c706356493d2f26201d181c1c1c1c1c171614100b0500000000000000000000000000000000000000000000030b12181d262d33383f44464e5355575e616569686d6f717376838f9ca9b6b2a5988b7f726f6d686a6764615e575653504947423c36312a251e170e0700000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc3b7aa9d9084776a5d5144372a1e11000c1926323f4c5965727f8c98a3a3a3a3a3a3a3a3a39f928579675c5145382c3945525f6c7885929fa3a3a3a3a3a3a3a3a3998c7f7366594c403326190d00101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a194887b6e6155483b2e221508000713202d3a4653606d788693959595959595959595959595959184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f333f4953636f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989183796d605a50453b30261c1106000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d4c8bbafa2978c878686868686868686868686868686868686868686868686868788898a8d8f9197999da0a7acafb5bdc1c8c6bfbbb4aea8a09892887f746e645b51473d33291f1108000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcd9cec1b4a89b8e817568554b4034281c100400000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000081a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004111e2a3744515d6a7784909daab7c3d0ccbfb2a6998c7f7366584e4238302c292428282828282423211c1710080000000000000000000000000000000000000000000000070b141b22272d33373c4347494d535458565d6062646976838f9ca9b6b2a5988b7f7265615e565a5754524d4946443f3837312a261f19140d050000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b7aa9d9084776a5d5144372a1e11000d192633404c5966737f8c96969696969696969696969886796d6053463a2d3844505c6679869296969696969696969696968d8073675a4d4034271a0d00111d2a3744505d6a77839095959595959595959595959595887c6f6255493c2f221609000713202d3a4653606d788688888888888888888888888888888884776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346392d394653606c7884919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958e81746c61574d42382e23170e040000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbfb3a89e979493939393939393939393939393939393939393939393939394959597999c9ea1a9aaacb1b9bbc0c4c1bcb8b5aeaaa29f9591867e726d645c53493f352b21170d00000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd8cbbeb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd0c3b7aa9d908477675c5145382c1f130600000000000000010507070a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0808080706040100000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfcfc2b6a99c8f83766a5f544a413a39352f353535353531302d28221a12080000000000000000000000000000000000000000000000020a11171b22272b32373b3c4246484c4c5254565c6976838f9ca9b6b2a5988b7f726558524c4e4b4846423d3937332d2b261f1a140d0802000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3aa9d9084776a5d5144372a1e11000d1a2734404d5a6773808a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e00111e2b3744515e6a77848888888888888888888888888888887d7063564a3d3023170a0006121f2b3844505c66767c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb2a99a8d8074655b5044372b3844505b6674808d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e71695e544a3f342820160c0200000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbd0c4bab0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a2a4a6a8abadb3b7b8bcc0bbb9b7b4b1acaba39f98928c847c716c635b534a41372d23190f0500000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7cabeb1a4978b7e7164584b3e3125180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c5b9ac9f9286796d6053463a2d201307000000000002080d111314141723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322519141414141413110d08010000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000020e1b2835414e5b6874818e9ba7b4c1d1d0c4b7ab9f94887c6f665b524c4745404242424242423e3c39332c241a1005000000000000000000000000000000000000000000000000060b11171b1f262b2e31363a3b3f414547505c6976838f9ca9b6b2a5988b7f7265584c41413e3b3a36302d2b27221b1a150e09030000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69d9084776a5d5144372a1e11000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222f3b4855626e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070003101c28343f4a545f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2d21140800000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c6f6353493f3328333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9afa59f92857b6e665c50443d32281e130800000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e1d6ccc2bab3afadacacacacacacacacacacacacacacacacacacacacacacacadadaeafb0b3b5b8b9bec3c7beb6afacaaa8a7a09d99928e867f786f6a615a514941382f251c11080000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d8ccc0b6ac978a7d7064574a3d3124170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd3c7bbafa399887c6f6255493c2f22160900000000040c13191d2021212123303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225212121212121201d19130c0400000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000d1a2733404d5a6673808d99abb5c0cbd3c7bbb0a69c8f82786c615e5653514b4f4f4f4f4f4f4a49443e362c22170b0000000000000000000000000000000000000000000000000000060b0f151b1f21252a2d2e2f353943505c6976838f9ca9afafa5988b7f7265584c3f30312e2d2a25201f1b17110e090300000000000000000000000000000000000000000000000f1c2935424f5c6875828f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999084776a5d5144372a1e11000815212e3a47535f6a6f70707070707070707070707070706d675d5145382c3844505c666d70707070707070707070707070706f6a5f54473b2e221508000814212e3a47535f696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c20130600000b17232e38424e585f62626262626262626262626262626262615f574d42372b1e12060000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9184786c605346392d222d394653606c7985919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0ccccc0baada2979082786d60594f443a3024191006000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e8ded4ccc4bfbbbab9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9babbbcbdc0c2c4c6c9c7bdb5aca49f9d9b9895908b86817b726d66605850483f372f261d130a000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7e0d4c8bbafa49a887b6f6255483c2f221509000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd7cbc0b5ab978b7e7164584b3e3125180b000000040e161e25292d2e2e2e2e303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322e2e2e2e2e2e2d2c29241e160d04000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1825323e4b5865717e8b99a3afbbc7d4cdc2b7aa9f948d80756d6863605d555c5b5b5b5b5b575550483e33281c1004000000000000000000000000000000000000000000000000000000030a0f13151a1e212124293643505c6976838f9ca3a3a3a3988b7f7265584c3f322521201e1a13120f0b0600000000000000000000000000000000000000000000000000000f1c2935424f5c6875818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d83776a5d5144372a1e110006121f2b37434e585f626363636363636363636363636363605d554b403529343f4a545c606363636363636363636363636363625f584e43372b1f13060006121e2b37424d575f62626262626262626262626262626262605d554b4135291d1104000006111c26303c464e535555555555555555555555555555555555534d453c31261a0e020000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8074665b5044382b1f2b3844505b6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cfcabeb3a99f948c80736b60564c41352922180d030004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e6ded6d0cbc8c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7c8c8cacccfd1d2cbc0b5aba39a93918e8c88837f7a746e69605c544e463e362e251d140b01000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcdfd2c6b9ac9f9386796d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddadcd1bfb2a5998c7f7266594c3f3326190c0000020c1620283035393a3b3b3b3b3d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3b3b3b3b3b3b3b3a39352f281f160c010000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a86929facb9c5cfd3c7bbb0a69d928d817a74706d676969686868686864615a5044392d21140800000000000000000000000000000000000000000000000000000000000306090e12141519293643505c6976838f9696969696968b7f7265584c3f32251914120e090503000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080807f7265584c3f3225190c00030f1a26313c464e5355575757575757575757575757575753514b43392f242e38424a5053575757575757575757575757575755544e463c32261b0f0300020e1a26313c454d535555555555555555555555555555555554514b433a2f24180d010000000a141e2a343c4347484848484848484848484848484848484847423c332a1f150900000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c28333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6d0c5bbb0a69f93877d70685d52463f342a1f150b0104111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdcac8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9cacbcdcfd2d3d6d4c7bbafa399928884817f7c77726d68615e56514a423d342c241c130b0200000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3ddd0c3b6aa9d908377675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b3a79a8d8074675a4d4134271a0e000008131e28323a41464747474747474a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c47474747474747474745413a31281e13080000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e6876828f9ca9b3bec9d5ccc2b8aea49d938f86817c7a7776757575757575716c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000020507081d293643505c69768289898989898989897f7265584c3f3225190c0502000000000000000000000000000000000000000000000000000000000000000a1724303d4956616c7173737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373726d62564a3e3125180b00000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d2630383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009151f2a333c4247484848484848484848484848484848484745413a31281d130700000000020c18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d2217222d3a4653606d7985929eabb8c5cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa49991847a6d615b51463c31271d120700111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbec0c3c5c6cad0c5b9ac9f92867f7b77736f6a65615e56524d444039302b221a120a010000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff3e9e0d5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1e1d5c9bdb2a8998c7f7366554b4034291c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00010d1925303a444c52545454545454545663707d8996a3b0bcc9d6d8cbbeb2a5988b7f72655854545454545454545454524c433a2f24190d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36414c5664717e8b97a1adb9c1ccd3cac0b6aea59e98928e898684838282828282827e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7d7b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000815212d3945505a61646666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665625b51463a2e2216090000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38352f271f151e262e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000030e18212a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c01000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8174665b5044382b1c121f2b3844505c6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f24180f05111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafb0b1b3b6b8babfc5c7bbafa399928c8783807a746e69605b534c443b332a2019100800000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff2e9e2d9cec4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4deded2c5b9aca196887c6f6255483c2f23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d100005111d2935414c565e616161616161616163707d8996a3b0bcc9d6d8cbbeb2a5988b7f726561616161616161616161605d564c4135291d110400000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000010d1925303a4754606d7a85929ea5afbac3cbd6c8c0b7afaaa29f9a999391908f8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000815222e3b47545f6a6f70707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000005111d28343e485056585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a585651493f34291e120600000006101820262b2e2f30303030303030303030303030302d2c29241d150d141c23282b2d30303030303030303030303030302f2e2b26201910070000000000060f181f262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c29241d160d0400000000000000060e151a1f212222222222222222222222222222222222211e1a150e060000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c101c28343f4a5463707d8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb3aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a3a4a7a9acaeb4b8babfb5aba39f9895908c86807b726c655e564d453b332920160c02000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e0d7d0cac6c2b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedce3d7cbbfb4ab9e9184786a5f53473b2e1d120700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e11000713202d3946525e686d6e6e6e6e6e6e6e6e707d8996a3b0bcc9d6d8cbbeb2a5988b7f726e6e6e6e6e6e6e6e6e6e6e6d685d5245392c20130600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000813202c3945515d67717e8a939ea8b1b9c2cad0c9c1bcb4aeacaba49f9d9c9c9b9b9b98887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4a463f372d23180d0100000000060e151a1f21222424242424242424242424242424201f1d18120b030a11171c1f20242424242424242424242424242422221f1b150e0700000000000000060e151a1e212222222222222222222222222222222221201d18130c04000000000000000000030a0f1215151515151515151515151515151515151514120e090300000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d22170b17232e3a4653606d7985929eabb8c5cfdbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4baafa59f92867c6f675d51453e33291e140a1e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa1999595959595959595959595959595959595959595959595959697989a9c9fa2aaacaeb4bbb5afaca7a09d98928d867f776d685f574d453b32281e1308000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d7cec5bebab8bab8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5dfdcd3c7baaea3998d807467584e43372b1f0b0100000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ddd1c4b7aa9e9184776b5e5144382b1e11000714212e3a4754616d7a7a7a7a7a7a7a7a7a7a7e8a97a4b1bdcad7d9ccbfb2a6998c7f7a7a7a7a7a7a7a7a7a7a7a7a7a6d6054473a2d21140700000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b55616c75818e96a0a7b0babfc6cecec6bfbab8b5afacaaa9a8a8a89f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5455565656565656565654524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403f3e3a342d251b1107000000000000030a0f12151517171717171717171717171717171413100c07010000060b10121317171717171717171717171717171615130f0a0400000000000000000003090e1214151515151515151515151515151515151413110d07010000000000000000000000000306080909090909090909090909090909090908080602000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665b5044382b1c1106121f2c3844505c6674818e9aa9b3becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989083796d605a50453b30261c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb1a4998e898888888888888888888888888888888888888888888888898a8b8d9092989b9fa3aaafb5bbb9b1acaaa29f99928c827a6e695f574d443a3024190d030000000000000000000000000713202d3a4653606d798693a0acb9c6d3e7dbd0c5bcb4aeabaeb4b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddddd5c9beb3a99f92867b6e6155483c32261b0f0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a77838787878787878787878a909aa6b2bfcbd8dacdc0b4a89c918c8787878787878787878787878175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010d18242f3a43505a616d7a8490959fa6aeb4bcc1c5c8cac6c5c0bbb9b7b6b5b5a99c908376655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494846423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000009121b22282d30313333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332312e29231b1309000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000306070a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000002060808090909090909090909090909090909070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c0a03101c28343f4a5463707d8997a2adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958d80746c61574d42382e23171e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7c7d7e808385898e92989fa3abb1b9bcb8b4aeaba39f948f847b6e695e564c4135291f150b0100000000000000000000000713202d3a4653606d798693a0acb9c6d3e2d6cabeb4aaa29fa2aaafb7b3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbddd4cbc2b9ada1978d8073695f53463a2a20150a0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f1200111d2a3744505d6a7783909494949494949494979aa2acb7c2cedadcd0c4b8ada39c9994949494949494949494948e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000007131d28313e46525e686e7b8390949fa2aaafb7b8bcc1c3c5c7c7c6c4c3c0b4a79a8d81746753493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000040e19222a32373b3c3d3d3d3d3d3d3d3d3b3a36302921170d03000000000000000000000000000000000000000000000000000000000000000000000000000910171d212425272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2d22170b000c17232e3a4653606d7985929eabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e70695e544a3f342820162b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7070717476797d81868d92999fa7b0b8c2bfbab4aea69e9691847b6e685d52463d31271d120700000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd3c6baaea29892989ea5afbbbab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9ded5cbc2b9b0a69e92857a6d60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f1300111d2a3744505d6a7783909da1a1a1a1a1a1a1a4a6acb4bec8d3dfe0d5cabfb6ada8a6a1a1a1a1a1a1a1a1a1a19b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000010c161f2a36414c565e696e7a828c92989ea5aaacb1b4b6b9babfbbbcbcc0b5ab988b7e7165584b3e2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000007101920262b2e2f30303030303030302e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070708090a0b0b0c0c0b0b0a090807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665c5044382b1c11060006121f2c3844505c6674818e9ba9b3becad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49f92857b6e665c50443d32281e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6262626262626262626262626262626262626262626263646567666d70757a808790959fa6b0b8c2c6bfbab0a8a19691837a6d61594f43392f24180c00000000000000000000000713202d3a4653606d798693a0acb9c6d3ded2c5b8ab9f92858f939ea9b3bbbeb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dadbd6ccc3b9b0a69e938b7f72685d52453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f1200111d2a3744505d6a7783909daaadadadadadadb1b2b7bec6d0dae5e6dbd1c8bfb8b4b2adadadadadadadadada89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000040d1925303a444d575e686d797f868e93999da0a7a7aaacaeb4afafafafafa499897c6f6256493c2f231606000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f2222232323232323232321201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c101313141516171718191818171716151413110d070a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a000003101c28343f4a5463707d8a97a2adbac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0baada2979082786d60594f443a30242b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61555555555555555555555555555555555555555555565758545c6063686d737c838f949fa6b0bbc5cbc2bab2a8a0958e81746b60554b4035291d1004000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82828f97a1a9b3bbc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4dcd7d0cac1bab1a79f948f82786d60564c4133291f1409000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a7783909daab6babababababdbfc2c8d0d8e2ecede3dad1cac4c0bfbabababababababab4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000008131e28323b454d565d676d737b81888c9195989a9d9fa3aba2a3a3a3a39f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407090e12141517181c1f202122222324252525252424232220201d1819171514120e0907040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b0000000c17232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60564c4135292b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544848484848484848484848484848484848484849494a4b4a5053565d606a6f79828f949fa9b3becaccc4bab1a79e93897d70675d5145382c1f150a000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859197a2a9b1bbc0c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d6d1cbc5bebaafa8a0959082796d665c50433a2f21180d03000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e1100111d2a3744505d6a7783909daab6c3c7c7c7c7cad1d2d5dae1e8f1f5ece3dbd5d0cdccc7c7c7c7c7c7c7c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000020c162029333b444c555c60696e757b7f84888b8e90929994959696969696918477675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060708090a0b0b0b0c0c0b0b0a09080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e20212423282c2d2e2e2f3031323232313131302e2d2c2924262421211e1a1413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8e8174665c5044382b1c110600000006121f2c3844515c6674818e9baab3becad6e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d52453f342a3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3d3e3f44464c52585f676d79828f97a1adb9c3cdccc3b9afa59e9184796d6053473c32271b0f030000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757c859297a0a7afb5bdc2c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d7d3d0cac7c0bbb3ada59d9691837a6d675d544a3f31281e0f0600000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c3b7aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daab6c1c1c1c1c1c1c5c6c9cfd6dfe8f1e7ddd5cdc8c4c3c1c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000050e172029323a434b51575e61696e73777c7e818386878888898989898989817568554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709060b101213141617171818191818171716151312100c07090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312e34383a3a3b3c3d3e3e3f3f3e3e3d3c3b3a39352f33312e2d2a2521201d1913100c0701000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a0000000004101c2834404a5463707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605b51463c313744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f30312e34383a41454e555d676d7a85929ea7b1bcc8d4ccc1b9aca0968b7e7165584e43372b1f13060000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756f7c8590959fa3abb0b9bbbfc5c7cbcac6c5c4c5c6cad0cdd0d1d2d1d1cbc7c5bfbab5afa9a29f938e847b6e685d554b42382e1f160c0000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000111d2a3744505d6a7783909daab4b4b4b4b4b4b4b8b9bec5cdd6e1eadfd5cbc3bcb8b6b4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000050e172028313940454d52575f61666a6f727477797a7b7c7c7c7c7c7c7d7b6e6155483b2f24180c00000000000000000001050707090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080705020000000000000000000000000000000000000000000000000000000000000000000000000205060c1012131518171c1f2021232424252525252524242321201f1c1818161313100c0706020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181c1f24292c2d30363a3b3d404045464748494a4a4b4c4b4b4a4a494847454042403d3b3a36312d2c29241f1c18120d08020000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b00000000000c18232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968f81756d62584e43392f44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2222222222222222222222222222222222232423282b2f353c434b555e68717e8b95a0acb8c4d1d5c9bdb2a89d9083776a6054473b2e2215080000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756a6f7b838d92999fa6acaeb5b9babfc1c3c5c7cbd1c9c9d0cac7c5c4c2bfbab9b4aeaba39f97928a81796e695e564c433930261c0d040000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b4a89b8e8175685b4e4235281b0f00111d2a3744505d6a7783909da8a8a8a8a8a8a8a8abadb3bbc5cfdae4d9cdc3b9b1acaaa8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000050e161f272f343b42464d5355585f626567666d6d6e6f7070707070706e695f53463a2d1d12070000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000105090e1214171c1f20222523282b2d2e2f303131323232313130302e2d2c28232522201f1c1814120f090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141a1c23282c2f35393a3e4246484a4d4b51535455555657585858585757565553514b4f4c4a4846423e3a3935302c29231d19130d0802000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c1106000000000007131f2c3845515c6775818e9baab4becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e726a5f554b403444515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21151515151515151515151515151515161617171c1f24293139434c56606c7883909daab6c3ced9cec4b8ab9f95887c6f6255493c2f24190d0100000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569696e7980878f949b9fa3abacaeb4b5b7b9babfbbbcbcbbbfbab8b7b6b4aeacaaa29f99928e857e746d675e574d443a31271e140a000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d9cdc0b3a69a8d8073675a4d4034271a0d00111d2a3744505d6a7783909b9b9b9b9b9b9b9b9b9ea1a9b3bec9d5e0d4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000040d151d232930363b4246484e535558545c60616162636363636363615f574d42372b1e0b01000000000000050c13191d202123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201e1a140d050000000000000000000000000000000000000000000000000000000002080d11141a1e2123282c2d2f312e34383a3b3c3d3e3e3e3f3f3e3e3d3c3b3a38342e322f2d2c2823211f1a15110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181f252a2e34383a4145474b4d52545759545c6061616263646565656464646361605d555b595754534d4b4745413a38342f29251e19130b06000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c1003000000000004101c2834404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6f675c51453e44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140808080808080808080808080808090a060b1013191f27313a44505b65727f8c98a7b1bcc8d4d4c8bcb1a79a8d817467554c4135291d110400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695f676d747c82898e92999c9fa3aba8aaacaeb4aeafafafb4aeacaba9aaa39f9c98928d87817b716c605d554d453b32281f150c02000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8cbbfb2a5988c7f7265594c3f3226190c00111d2a3744505d6a77838e8e8e8e8e8e8e8e8e8e9297a1adb9c6d2ded1c4b8aca095908e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000030b12181f252a31363a3c4347484b4a505354555556565656565655534d453c31261a0e000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f0500000000000000000000000000000000000000000000000000040a0f13191d20262a2d2e34383a3c3e413f444647494a4a4b4b4c4b4b4a4a4948464440413e3c3a38342e2e2b26201e1914100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d24293036394044464c525458575e61646669666d6d6e6f70717172727171706f6e6d676a686664615e575754524c47454039353029241e17110a020000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c000000000000000c18232e3a4753606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d605a504544515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003080d151f27333f4953616e7b8895a0acb8c5d1d8cdc3b7aa9d908477675d5145392c20130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569555c606a6f767d82868c8f9299999b9d9fa3aaa2a2a3a2aaa29f9e9c9998928f8c85807b756e69615a514b433b332920160d0300000000000000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd6cabfb4aa978a7d7164574a3e3124170b000d1a2733404d5a6673808181818181818181818185929eabb8c5d1ddd0c3b6aa9d90838181818181818181818181817f7265584c3f3225190c00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000001070c141a1f262a2d32373b3c3f3f44464748494949494949494846423c332a1f14090000000000020c1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36302921170d0300000000000000000000000000000000000000000000040a0f151b1e252a2d31363a3b3f4446484b4d4a50535456575758585858585757565453514a4e4b494645403b3a37312d2a251f1b16100b0500000000000000000000000000000000000000000000000000000000000000000000000000060b141b22272f353b42464a5153565d606569696e70737578797a7b7c7d7d7e7f7e7e7d7d7c7b7a79777573706e696764605d5653514b46413a353027221b140b0500000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c11060000000000000007131f2c3845515c6775818e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80746c61574d42515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000030d17222d3846535f697784909daab7c3d0ddd2c6b9ac9f93867a6d6054473a2d21140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c51585f626b70757a7f83868a8c8e9092989495969695949892918f8c8986837f7a746e69615e575045403a312921170e040000000000000000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c6baaea298887b6e6255483b2f221508000c1926323f4b58636e7375757575757575757576838f9ca9b6c2cfd8cbbeb2a5988b7f757575757575757575757575726d62564a3e3124180b00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000002090e141a1e21262b2e2f2e34383a3a3b3c3d3d3d3d3d3d3b3a37312a21180e03000000000008131e29323a4146474949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f1409000000000000000000000000000000000000000002090e161b20272b3036393b4246484a505355585a545c6061626364646565656464636361605c545a585553514b4847433c3a36302c27211c160e090300000000000000000000000000000000000000000000000000000000000000000000070f181d262d333940454d52545c6064686d7175787b7d80828586878888898a8b8b8b8b8a8a8988868584827f7d7b7774716d6864605c55524c45413a332d261d170e0700000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada297897d7063544a3f34281c0a000000000000000004101c2934404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d70695e544a515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006111b2a36424d576875828f9ba8b5c2cedbd4c7bbafa499897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4e53596063686e72767a7d8082848687888889898887868584827f7c7976726d68615e57534d453e352f281f170f05000000000000000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b8ac9f9285796c605346392d201306000a17232f3b47525c636668686868686868686976838f9ca9b6c2cfd8cbbeb2a5988b7f72686868686868686868686865625b51463a2e22160900000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000003090e12151b1f212223282b2d2e2e2f3030303030302e2d2b261f180f060000000000010d1925303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524d453b30251a0e02000000000000000000000000000000000000060b141921272c32373a4146474d5355545c6062646769666d6e6f7071717172727171706f6e6d6669676562605c5555534e4746423b38322c27211a150c070000000000000000000000000000000000000000000000000000000000000000061119212a2f383f444b51575e61666d70757a7e8285878a8c8f9197949495969798989897979796949892918e8c8a8784817e7a75716d67615e56524c443f382f292019110900000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c0000000000000000000c18232f3a4753606d7985929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b6e665b50515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000e1a2631414e5a6774818d9aa7b4c0cddad7ccc0b5ab998c7f7266594c3f3326190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f43474f54565e6165676d70737577797a7b7b7c7c7c7b7a797876736f6d6765605d56534d46423b3329241d160d0500000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7dcd0c3b6a99d908376665b5044382b1f12060007131f2a36404a52585a5b5b5b5b5b5b5b5c6976838f9ca9b6c2cfd8cbbeb2a5988b7f72655b5b5b5b5b5b5b5b5b5b585651493f34291e120600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000002050a0f121515171c1f2021222223232323232322211e1a140e0600000000000005111d2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e120500000000000000000000000000000000020a11171f252a32383c43474c5254575f6165666d6f71747678797a7c7d7d7e7e7f7e7e7d7d7c7b79787674716f6d6765625f5854524d48443d38332b261f18120b0300000000000000000000000000000000000000000000000000000000030a1117232b333c414950555d60696e74797d82868b8f929797999c9ea1a9a1a2a3a4a4a5a5a4a4a3a2aaa29f9d9b999796918e8a86827d79736d68605d565049413b322b231b1209010000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5144382c1c110600000000000000000007131f2c3845515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0b9ada2979082786c60594f5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000009192633404c5966737f8c99a6b2bfccd9ddd2c0b3a79a8d8074675a4d4134271a0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423d44484c5254555d60636668666d6d6e6f6f706f6e6d676b696663605c5554524c46423b3631292118130c040000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2ddd7ccc0b5ab9a8d817467544a3f33281c0f0300020e19242e3840474b4d4e4e4e4e4e4e505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584e4e4e4e4e4e4e4e4e4c4a463f372d23180d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000030608060b1012131415161616161616161514120e0903000000000000000713202d3946525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e52463a2d201407000000000000000000000000000000050b141b222730363d43484e54565e6165696e7275797c7e8083848687898a8a8b8b8b8b8b8a8a8987868583817e7c7976726e6a66615e56544f48443d373128231d150c050000000000000000000000000000000000000000000000000000030c151c2328353d454d535b60676d737b80858a8e92989c9ea1a9a6a8abadb3aeafb0b0b1b2b1b1b0b0afb4aeacaaa8a6a8a09e9a99928f8a85807a736d68605b534d443d352d241b1309010000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada297897d7063544a4034281c100400000000000000000004101d2935404b5564717d8a98a2aebac6d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60565e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232383b4146474b51535759545c6061616263636261605d555c595653514b4745413a36312a251f170f0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e0d4c7bbafa4998a7d7164574a3e2d22170b00000008121c262e363b3f40424242424243505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c42424242424242423f3e3a342d251b11060000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000306070708090a0a0a0a0a0a080705020000000000000000000714212e3a4754616d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e2115080000000000000000000000000000070e161d262d333b42464f54586062686d72777b7e8285888b8d8f9192999596979798989897979696999391908d8b8886827f7b77726e69636059554f47423c342e271e170f08000000000000000000000000000000000000000000000000000a151e262e343f474f575f656c71797f868d92979b9fa3aaabadb3b3b5b8b9bebbbbbcbdbebebebebdbdbcbfbab8b7b5b2b2acaaaba39f9b97928c86807a716c655e564f473f362d251b1309000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000c18242f3a4753606d7986929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddadbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362c3036393b4045474a4d4a50535455555656555453514b504c494645403a39352f2a251f1a140d050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211406000000000a141c242a2f3233353535353643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3535353535353532312e29231b1309000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d0000000000000000000000000008101920282f383f444d525960636a6f757a7f83888b8f9298979a9c9e9fa3aba3a4a4a4a5a5a4a4a3aba49f9e9c9a9898928f8b88847f7b75706b636159534d4540393029211a1109000000000000000000000000000000000000000000000006111c2630383f44515960696e777e848c92989ea1a9acaeb4b8b9bebfc2c4c6c9cfc8c9cacbcbcbcacacad0cac6c5c4c1bfbdb9b7b4aeaca9a29e98928d857e776e69605950483f372d251b11070000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5144382c1c1207000000000000000000000007131f2c3945515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000004101c2834404a546875828f9ba8b5c2cedbdcd0c3b6a99d9083766a5d5043372a1d1004000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629252a2d2f35393a3d403f44464748484949494847454043403c3a38342e2c29241e1a140e0903000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdad8ccc0b6ac9d908376685d5246392d20130700000000020a12191f232627282828293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f322828282828282524221e18110901000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000030608090b0b0b0b0b0a0a09080706040100000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000008111a222b323a414950565e616b6f767c82868b9095989b9fa2aaa7a9abacafb5b0b0b1b1b2b1b1b0b0b5afacaba9a7aaa29f9c9895918c86827c76706b615f57514b423b332c231b120a010000000000000000000000000000000000000000081217232e38424a505b626b707b838b91969fa2aaadb3b9babfc5c6c9cfcfd1d2d4d2d1d0d0cfcfcfd0d1d2d3d6d3d2d0cecec9c5c4bfbab9b3adaaa29f97928b827b706b625a51493f372d23190f060000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544a4034281c0b00000000000000000000000004101d2935404b5564717e8a98a2aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968e81756c626a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844515c667683909da9b6c3d0dcddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629191e2024292c2d302e34383a3a3b3c3c3d3c3b3a38352f33302d2c2823201d19130e09030000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d4c8bbafa49a8c7f7366564c4135291d1105000000000000080e1317191a1b1b1d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f32251b1b1b1b1b191816120d060000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000040a0f1215151717171717171616151413110d08060603000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c7f7366594c403326190d000000000000000000000008121a232c343d444c535b60696e757c82888e92999d9fa7a8abaeb3b3b6b7b9bbc0bdbdbebebebebebdbdc0bbb9b8b6b4b4aeaca9a8a09d99928f89837d766e69605c544d453e352d241b130a0100000000000000000000000000000000000006101a2428343f4a545c606d727d8590959ea1a8aeb4b9bec5c7cbd1d2d5d2d1d1cbc7c5c4c4c3c2c2c3c4c5c5c7cbd1d0d1d4d9d5d2d1cbc7c5beb9b4aea9a19e948f857d716d625b51493f352b21180d030000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000c18242f3a4753606d7a86929facb8c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e716a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000070f18202d3a4653606d7985929fabb8c5d2dedccfc3b6a99c908376695d5043362a1d1003000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1114181d20202423282b2d2e2e2f30302f2e2d2c29242623201f1c1813110d080100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7dfd2c6b9ac9f93877b6e6154483b3024190d010000000000000002070a0c0d0f101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190f0f0f0f0c0b090601000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000060e151b1f212224242424242423222221201d191613120f0b0600000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4afafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafa6998c7f7366594c403326190d0000000000000000000008111a242c353d464e565e656c727b81898f949b9fa3ababb1b5b8babec0c2c4c5c7cbd1cacacbcbcbcacad2ccc7c6c4c3c0bfbab8b5b1acaba39f9c949089827b736d665e574f473f362d251b13090000000000000000000000000000000000040d18222c363e44505c666d747f8792979fa7adb2babfc6cacfd3d7d3cfc9c6c5c1c0bbb9b8b7b6b5b5b6b7b8b9bbc0c1c4c5c8ced2d6dad7d3cfcac6bfbab3ada69f9792877f726d625b51473d33291f14090000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5145382c1c1207000000000000000000000000000713202c3945515d6775828f9baab4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6e677784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003091019222a36414c5664707d8a97a2adbac6d3dfdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f070d11131417171c1f2021222223232221201f1d1819161313100c070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd5c9bdb2a89c8f8376695e53463a2d1e13080000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0202020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000006101820262b2e2f313131313131302f2e2d2c292423201f1c17110f0a0400000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b4aeaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5abb3b2a6998c7f7366594c403326190d00000000000000000006101a232c363e474f5860686d777f868e939c9fa6acaeb5b8bcc2c5c6cad0cfd1d2d0cdcbcac9c8c7c8c9cacacccfd1d1cfd0cac7c5c2bdb8b5afaca69f9c948f8680796e69615950483f372d251b1108000000000000000000000000000000010c161f2a343e48515b606d78808b9299a2a9b1b9bdc4cad0d6d7d1cbc7c5beb9b8b5b5afacabaaa9a8a8a9aaabacafb5b4b7b8bdc3c6cacfd4d9dbd6d0cac5beb9b0a9a199938b7f726d62594f453b31261a0d040000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544b4034281c10040000000000000000000000000004101d2935404b5564717e8a98a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000205090e141a232b343c46525e6875828f9ca9b3becad6e2dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0001040607060b101213141515161616151413100c070907060400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e1dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dcd2c5b9ada1968b7e7164574d42362a1e0c020000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000040e18222a31373a3c3e3e3e3e3e3d3d3c3b3a39352f302d2b28221c1b150f0a030000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b4aaa29f9595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959699a1abb2a6998c7f7366594c403326190d0000000000000000040e18222c353e485059606a6f7a828b92989ea5aab0b9bbbfc6c8cdd2d3d2d1cbc7c5c3c0bebdbcbbbbbbbcbdbebfc2c5c6c9cfd2d3d2cec8c7c0bbb9b0aba69f98928c837b706b625a51493f372d231a1006000000000000000000000000000007131d28313c46505a636d75818d929fa3abb3bbc2c9cfd6d8d1cbc6bfbbb9b3adaba8aba39f9e9d9d9c9c9c9d9e9fa3aba7aaacb2b8b9bec5c8ced6dbdbd6cfc9c2bbb3aba49f918b7f726b60574d42362a1f160c010000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c0000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80747784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140a0a0a0a0a0a0a0a0a0a0a0a0a0b090e12141a1f262a353d46505a616e7a86929facb9c5d0dbe3d7cbbfb4aa988b7f7265584c3f3225190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000030607070809090a090807060400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e9dfd7cfcac6bfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d5c9beb3a99e9184796d6053463b31251a0e000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000a15202a343c4347484a4a4a4a4a4a494948474541403d3938332d2b27201a150d0801000000000000000000000000000000000000000b1824313e4b5764717e8a97a4aea29892888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888898f99a5b2a6998c7f7366594c403326190d00000000000000020c16202a343d47505a616b707c848f949fa2aaafb7bbc2c7cbd1d4d4cfc9c5c4c0bbb9b6b4b2b1b0afaeaeafb0b1b2b5b8b9bec2c5c7cbd1d4d1cbc7c2bcb7b0aaa39f9590857d716c625b51493f352c22180c03000000000000000000000000010d18242f3a434e58616c737f8c939da4afb5bdc5cdd5dad6cfc6bfbab5aeaca9a19e9b9899929191908f8f9091929299989b9da0a8abadb3b8bcc3cad0d8e0dad5cdc5bdb5afa39f92877d70695f53463f31281e13080000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3aa9b8e8174665c5145382c1d12070000000000000000000000000000000713202c3945515d6775828f9babb4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21161616161616161616161616161718191a1e20252a31363e474f58626c75818e99a3afbbc7d7e1e0d3c7baaea398897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d7cdc5beb9b8b9b3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbd8cfc6b9ada1978b7f72665c514538291f1409000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000030f1b26313c464e535557575757575756555554514c4c4946443f3837322b262019130c040000000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f92857c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7d8996a2afa6998c7f7366594c403326190d0000000000000008131e28323c464f59616c717d8691969ea6aeb4bcc1c7ccd3d7d1cbc7c4bdb9b8b5afacaaa7a5a4a3a2a1a2a2a3a4a6a8abadb3b5b9bbc0c7c8ced6d4cdc7c2bcb4aea79f9792877e726d625b51473e342a1e150b00000000000000000000000004111d2935414b555f6a707e88939fa5aebbc0c7cfd7d8d0cac1bdb4aeaba39f9b97928e8c8986858483828283848586888b8e91969a9ea1a9acb1babfc6ced4dcdfd6d0c7c0bbafa39992857b6e615a50433a2f24190d010000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7063544b4034281c0b0000000000000000000000000000000004111d2935414b5564717e8a99a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b84919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2323232323232323232323232323242425252a2d31363b42465059606a717e8b939eabb5c0cbd7e9dfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc5bbb3adabadb3b1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6dcd1c6bcb0a69e9285796d60544b403428170d03000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000006121f2b37434e585f62646464646464636261605d55595653504a47433c373129241e160d0500000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7a8793a0ada6998c7f7366594c403326190d000000000000040d1925303a444e58616b717e879298a1a8b0babfc5ced3d8d5cfc7c0bbb9b2adababa39f9d9a989796959495969797999c9ea1a9a8acafb5b8bdc3cacfd7d3cfc6bfbab1a9a299938b7f726d62594f463c30271d120700000000000000000000040f19222c3945515d676f7c86929aa4afb7c0cbd1d9d6cec6bfbab0aba39f99928f8a85827f7c7a7877767575767778797b7e8184888d92979da0a7aeb4bcc2cad2dbe2d9d2cbc0b5aba2978f82766c62564c4135291d1307000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cbcbc0b9ada1978f8384919eaab7c4d1dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a30303030303030303030303030303030313230363a3b42464d535a616b6f7c86929fa5afbdc7d1dce2d6cabfb4aa9c8f8276675d5145392c1f130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cabeb3a9a29ea2a9b3b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ddd7cbbfb4aa9f948b7e71675d5142392e23180500000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000815212e3a47535f6a6f717171717170706f6e6d67686663605b54544e47433c352f281f170e06000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626d7a8793a0ada6998c7f7366594c403326190d0000000000010c161f2935414c565f6a707d879299a2aab2bac1cad0d7d6cfc9c2bdb5afaca9a19e999992908d8b8a89888888898a8b8c8f9297979b9fa3abacb2b9bec5cdd6d8d1cbc2bbb3aba49f918b7f726b61584e42392e23180c040000000000000000000a16212a36424d57606d79849198a2acb6c0c9d7dcd5ccc4bcb4aea69e99928d86827d7975726f6d676a6a6969696a666c6f7174777b80858a90959fa2aab0b8c1c9d2dae3dcd1c7bdb3a99f948b7e71685d52453a2f24180d010000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000713202c3945525d6875828f9cabb5bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948f9196a0acb8c5d2dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3e3f404246484d53575f616c717d859298a2aeb7c1cfd9e3ded3c6baaea2988b7e7265554b4035291d100400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ada2979297a2a9b3b2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd4cbc2baaea3989082776c60554b4030271d120700000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000915222f3c4855626f7c7d7d7d7d7d7d7c7c7b7a787573706c66626058534e45413a312920180f060000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555606d7a8793a0ada6998c7f7366594c403326190d000000000007131d28313a46525e686f7c869299a3abb4bcc4ccd6dbd3cdc4beb9b0aba39f9c96918d898683817f7e7d7c7b7b7c7d7e7f8285878a8f92999ea0a8adb3bbc1cad0d7d7cdc5bdb5afa39f92877d706a5f544b40342820150a0000000000000000030f1b27323a46535e6973808d96a1aab4bec7d2dbd5cbc3bab2aaa29f948f86807a75706d666563605d555d5c5c5d545b60626568696e73797e838c92989fa6afb7c0c8d2dae3d9cfc5bbb0a69f92857a6d60554b4035291d1104000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c1004000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f9c9ea0a8b2bdc8d4dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615449494949494949494949494949494949494a4b4c4d4d5254575e61696e757e869297a1aab4bfc9d3e1e1d6cabfb4aa9f92857a6d6054473a2f24180c0000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d1c5b8ab9e92859297a2adbab3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad4cbc2b8afa59f92867c6e655b5043392f1e150b0000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd4cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000004111d2935404b556875818a8a8a8a8a8a8988888784827f7d78736f6a625f58524c433b332a21180f0500000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484854606d7a8793a0ada6998c7f7366594c403326190d00000000010d18242f3a43505a616d7a849198a2abb5bdc6ced6dbd3cac1bbb3ada69f99928f8a84807c7a77747271706f6e6f6f70717375787b7e82868c91969ea2a9afbabfc6ced7d7d0c7c0bbafa39992867c6f665c51453c31261b0f040000000000000007131f2c38434e58616e7b86929fa8b2bcc6d0d9d6ccc3b9b1a8a198928a827b736d6863605c545653514b504f4f504a50535558575f62676d71797f868f949ea5aeb6c0c8d2dde1d7cdc2baada2978c7f73675d5145392c20140900000000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000000000000010d19242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2b8b0aba9aaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615656565656565656565656565656565656565757585a575e6165696e737b818a9298a1a9b3bcc6d0dbe2d8cfc6baaea2988d8174675d5145392c1d12070000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cdc0b3a69a8d8085929fa8b2bcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dcd6cbc2b9b0a69d938b7e716a5f53493f31271d0c030000000000000000000000000000000003101d293643505c6976838f9ca9b6c2c7c7c7beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000613202c3945515d67778491979797979796959496918f8c8984807c766e6a605d564d453c332a21170d03000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52453c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4754606d7a8793a0ada6998c7f7366594c403326190d0000000004111d2935414b55616c75818e96a1aab4bdc6cfd8dbd2c9c1b8b0a9a19e948f87827d7973706d67676564636261626364646669696e71757a7f848b92979da5aeb4bcc5ced6d9d2cbc0b5aba2989083796d60584e43372b21160a000000000000000915222e3b4854606a75818e98a3aebac4ced7d7cec4bab1a7a09691867e756e69615e5653504a49474540434242433f4446484b4d53555c60666d727b828e939da4aeb6c0cbd5e1dfd6cabeb3a99e92857a6d6053473b31251a0e02000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d1207000000000000000000000000000000000000000813202c3945525d6875828f9cabb5c0cbd7e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccac2bbb7b6b7b8bdc3ccd5e0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d636363636363636363636363636363636363636364656669696e72767b80868e939fa3aab3bbc5ced7e2d9d0c6bdb2a89f92867b6e61554b4135291d0b010000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c96a0aab4bdbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3d8d0cbc0b9b1a79f948e81746d62584e41382d1f150b000000000000000000000000000000000003101d293643505c6976838f9ca9b6bbbbbbbbbbb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cececbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccececabdb0a4978a7d7164574a3e3124170b0000000714202d3a4753606d7a86939fa4a4a4a3a3a2a8a19e9b9997918d88827c746d685e574e453c33291f1409000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000613202c3945515d67717e8a939ea8b2bcc5cfd8dbd2c8c0b7afa69e97918a827b75706d6663605d5558575655555556575859575e6164686e72787e858e939fa2aab3bcc5cdd6dcd1c7bdb4aaa0958d80736a5f53473d32271b0f03000000000005121e2a36424d57626f7c89939eaab4bfccd6dbd0c6bcb2a8a09590847c716c615f57524c46443f3c3a39352f36362d3338393c3e42474b51545c60696e78818d929da4aeb9c3cfd8e3dbcfc5b9ada1978b7e7265574d42362a1e120500000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c0b000000000000000000000000000000000000000004111d2935414c5665717e8b99a3afbbc7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbac4d0cdc7c4c2c4c5c8ced5dee7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a70707070707070707070707070707070707070707071727376787b7e83878d92999ea5aeb4bcc5cdd7e0d9d0c7beb4aba0968c8073695e52433a2f24180d000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7a849198a2abb4bcbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d4cec6bfbaafa79f959082796d605a50463c2f261b0d03000000000000000000000000000000000003101d293643505c6976838f9ca9aeaeaeaeaeaeaea5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc1c1c1c1beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc1c1c1c1bdb0a4978a7d7164574a3e3124170b000000091623303c4956636f7c899aa4afb0b0b0afafb2acaba8a9a19e9a948f87807a6e695f574e453b30251a0e050000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111d2a36414c56606d7a85929ea5afbac4ced7ded2c9c0b6aea59e948f857e766e6963605c5453514b4c4b4a494848494a4b4c4d5354565e61656c717a818a9298a2a9b3bbc5cfd9d9cfc6bcb1a79f93877c6f62594f44382c1f140900000000000714212d3a46535e6976828f9ca5afbcc6d0ded6cabfb4aaa19690837a6f6a615a534d46413a38342e2d2c2924292922282b2d2f31373940454a51575f666d77808d929da7b1bdc6d1dce1d6cabeb3a99c908376695e53463a2d2114070000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053473a2e23180c0000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7d2d3d0cfd1d2d4d9e0e7e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb0a3978a7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808285878b90939a9fa3abafbabfc6cfd7dfd9d0c7beb6aca3999184796d60574d4231281d1307000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737c869299a3aab3bbc1c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d4cec8c2bcb4aea59d959083796d675c51483f342a1d140a00000000000000000000000000000000000003101d293643505c6976838f9ca1a1a1a1a1a1a1a1a1988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b4b4b4b4b4b4b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3b4b4b4b4b4b4b0a4978a7d7164574a3e3124170b0000000c1825323f4b5865727e8b98acb6c0bdbdbcbbbdb9b7b5b2adaba69f99928d837b6e6a5f574d42362a20160c0200000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000713202d3946525e6873808c97a1adb7c1ccd6e0d6ccc1b7aea49d938e827a716c625f5753504a4745403f3e3d3c3b3c3c3d3e404246484c52535b60686d747d869297a1a9b3bdc7d1dcd7cec3bbafa4998f82756b6054483b30251a0e02000000000815212e3b4854616e7b87939facb9c1ced8d9cfc7baaea29891847a6e685f585047423c36302c2823201f1d181c1c171c1f2022262b2e343940444d545c656c74808d95a0abb5bfcbd7e2dacfc5b9ac9f93877b6e6154483b2e2115090000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d12070000000000000000000000000000000000000000000813202d3946525d6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccd7dddcdddee1e5eaf1e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb2a59a908a89898989898989898989898989898989898989898a8a8b8d8f9297989c9fa4acaeb4bdc1cbd1d8ddd7d0c7beb6aca49a92877c6f675d51453b301f160c01000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73717e879298a2a9afb9bdc4c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d1cdc8c3bdb8b0aaa39f938e82796d675d554b40362d22180b0200000000000000000000000000000000000003101d293643505c6976838f94949494949494949494948b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3a8a8a8a8a8a8a8a8a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6a8a8a8a8a8a8a8a8a4978a7d7164574a3e3124170b0000030f1c28333f4a546774818e9aa7b4c1c2c3c5c6c9c5c4c2beb9b8b0aba39f9590847c6e695e52463f32281e130800000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090914212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27333f4953616d7a86929fa9b3bec9d3dfdacfc4baafa59d928d81786d68615a534d46443f3a39352f31302f2e2f30313131363a3b41464950565e616b707d859297a1abb5c0cbd7e0d7ccc0b5ab9e94897c6f63574d42362a1e120500000006131f2b37434e5866727f8c9aa4afbbc8d0d3d1c7bdb0a69f92867c6f685e564e463e37312a251f1c171413100c07060b0f1213151a1d23282e343b424a535b606d79839099a3aebbc6d1dce0d4c8bbafa49a8b7f7265584c3f30251a0e020000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c0b0000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdd7e1eaebedf1f6f4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dacec2b6aba29a979696969696969696969696969696969696969696969798999c9ea1a9a9acafb6babfc6cfd7dcd9d2ccc4beb6aca49a93887e716a5f554b4033291f0d0400000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736c717e8692979ea5adb2b8bcc3c6c9c6c5c4c3c4c5c6cacfced2d1cfcec8c5c3bcb8b2aca69f98928b81796d675d554b43392f241b0f060000000000000000000000000000000000000003101d293643505c697682888888888888888888888888887f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d89969b9b9b9b9b9b9b9b9b9b988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c999b9b9b9b9b9b9b9b9b9b978a7d7164574a3e3124170b000006121f2b3844505b667683909da9b4b4b5b6b8babfc5c6cac9c6c2bdb5afa7a09691857b6e615a50443a3025190d01000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000005121f2b3744505b65727f8c98a2aebbc5cfdbe2d5c9bdb2a89e938d80786d665d565047423c38342e2c29242423222222232425252a2d3036383f444c5259616b6f7c859299a3afbbc3ced9ddd2c7bdb0a69c8f8275695e52463a2d2014090000000815212e3b47535f6a7784909dacb6babec5c7cbc0b5ab9e938a7e716a5f564c443c342b261f1913100c06060400000000030606090e12181c232830384149515c666f7c87929faab4bfcbd7e3d8ccc0b6ac9b8e827568574d42362a1e1205000000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c00000000000000000000000000000000000000000000010d1924303a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0dbe6f0f9fdfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c8bdb4aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a5a6a9abadb3b6b9bbc0c7cbd1d8d8d4d0c7c0bbb2aca49a93887e716c62584e43392f21170d0000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666c717d858f939ea1a8acb1b8b9bec1c4c6c8ccd2c9d2ccc8c6c4c2c0bdb8b7b1aba8a09d948f867f746d675d554c433a31271d12090000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070000000000000000000000000000000000000a1723303d4a5663707d898e8e8e8e8e8e8e8e8e8e8e8e8b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c8e8e8e8e8e8e8e8e8e8e8e8e8a7d7164574a3e3124170b00000613202d394653606c7985929fa7a7a8a8a9acaeb4b8b9bec5cdcfc7c0bbb1a8a1978f82766d62564c41362a1d1105000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000613202d394653606c7884919eaab4bfcdd6e1d9d0c7b9ada1968e81746c665c544c443e37312b2823201d1818171615151617181a1e21252a2d333a41464f59606a6f7c87929fa7b1bcc8d4ded9d0c1b9ac9f93877b6e6154483b30251a0e0200000916222f3c4955626f7c8895a0a7abaeb3b7bbc2bbafa3998f82756c61584e443b322a221a150d080300000000000000000000000000070c12181e262f38404b545f6a73808c98a3aebac7d3e0ddd2c4b8ab9e918578695e52463a2d201407000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000000000000000813202d3946525e6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becad6dde7f2fcfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc6bdb6b2b0afafafafafafafafafafafafafafafafafafafafb0b1b2b3b5b8b9bec3c6c8ccd2d7d6d3cdc8c3bdb5afa8a09a93887e716c625a50463c31271d0f050000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366616b6f7b828a91969da0a7abadb3b5b7b9bbc0bcbcbcc0bbb9b7b6b4b2acaaa79f9d96918a827b726d605c554c433a31281f150b000000000000000000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013060000000000000000000000000000000000000915222f3c4855626f7c81818181818181818181818181817d7063574a3d3024170a00000000000000000000000000000000000b1724313e4a5764717e81818181818181818181818181817c6f6256493c2f23160900000815222f3b4855626e7b88989a9a9a9b9c9d9fa2aaabadb3bbc1c9d1cbc3bab2a99f948b7e71685e5246392d201409000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000a1723303d4a5663707d8996a0acbcc5d0dfddd2c7beafa59e91847a6d605b544a423a322b261f1c1713100d070a090809090a090e1214191b222730363e464f58606a73808d95a0acb8c2cdd8e0d4c7bbafa4998c807366574d42362a1e120500000d1a2734404d5a6773808b90959a9fa2aaabb0b8b5ab9f92877b6e625a50463c322920181009030000000000000000000000000000000000070c141d262e39424e58606d7a86929facb9c5d0dbdfd2c6b9ada197877b6e6154483b2e21150800000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c1004000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a3afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78829097a2adbac0cbd5e0eaf4fef4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e1d8cfc8c2bebdbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbdbec0c2c5c6c9cfd2d4d5d2d0cac7c2bcb8b1aba49f9691887e716c625a50483f342a1f150b000000000000000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665960696e757d848b90959a9ea1a9a8aaacafb6afafafb6afacaba9a7a8a09d9995908a847e766e69625b514b433a31281f160d030000000000000000000000000000000000000000000005111e2a36424d565e6161616161616161616161616161605d564c4135291d11040000000000000000000000000000000000000815212e3b47535f6a6f7575757575757575757575757575706b6155483c2f23160900000000000000000000000000000000000a1723303c4955616c7175757575757575757575757575756f6a6054473b2e22150800000b1724313e4a5764717d8a8e8e8e8e8e8f9092989a9ea1a9afb7bfc8d7ccc4bbb0a69f92867a6d6154473b31251a0e020000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005121e2a36424d576774818d9aa8b2bdced7e2d8ccc0b6ac9d93897d70685d524a42383028201a15100b06040100000000000000000205080e11171e252a343d464e58606d7983919da6b0bcc7d3e3d7ccc0b5ab9d918477695e52463a2d20140700000714212d3a4754606d7a7f83888d92989c9fa6abada3998d8074695f53483e342a20170e070000000000000000000000000000000000000000020b141d27303c45525d6875818e9ba9b3becad6e1d5c9beb2a996897c706356493d3023160a0000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c000000000000000000000000000000000000000000000000010d1925303a4754616d7a86929facb9c5d2dddcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3ced8e2edf8f0e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d3cecbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacbcccfd1d2d2d1cfcec9c5c4bfbab8b1aba8a099938d847d716c625a50483f362d22190d03000000000000000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659565e616c70797e83898e9297999b9e9fa4aca2a3a2aca49f9e9c9a9796918c88837e78716c615f575145403930281f160d040000000000000000000000000000000000000000000000020e1925303b444d52545555555555555555555555555554524c433a2f24190d0100000000000000000000000000000000000006121f2b37434e585f6268686868686868686868686868686361594f44382c20140700000000000000000000000000000000000814212d3945505a616468686868686868686868686868686260584e43372b1f130600000a1724303d4a5763707d818181818181828385888d92979da5adb6bfc9d3cdc2baaea2988b7e7265574d42362a1e12050000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212d3a46535f697784919eaab7c4cedde0d4c8bbafa49a8e81746b60564c41382f261e160d090300000000000000000000000000000000060b1319222b343c45515c676f7c89949fabb7c6d1dcddd2c7b8aca095877b6e6154483b2e21150800000713202c3945525d686d72777c81858b90949a9ea19f92877a6e61574d42362c22180e0500000000000000000000000000000000000000000000020b151e2935414c5663707d8a97a2adbac6d3dfdacfbeb1a4988b7e7165584b3e3225180b0000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675d5145382c1d1207000000000000000000000000000000000000000000000000000813202d3946525e6876838f9cabb5c0ccd7e0d3c7bbaea3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a929da7b1bcc6d0dce7e3e3e3dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8d0cac6c5c4c3c0bdb9b7b4aeaca79f9d9591878079706b625a50483f362d241b100700000000000000000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064574d525a61666d71787d8185898c8e91939a95969695959a93918f8d8a8784807b77716c66615a534d453f342e271e160d040000000000000000000000000000000000000000000000000009141f29323b424647484848484848484848484848484745413a31281e130800000000000000000000000000000000000000030f1b26323c464e53555b5b5b5b5b5b5b5b5b5b5b5b5b5b57554f473e33281c1004000000000000000000000000000000000005111c28333e485055575b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d32271b0f0300000916232f3c4855616b707474747474757576797c80858e939ca4adb7c1d0d6cabfb4aa9c908376695e53463a2d2114070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000815222e3b4855616e7b8896a0acb9c5d2dedfd2c6b9ac9f93877b6e61594f433a2f261d150c040000000000000000000000000000000000000002081019222834404b55606a7683909cabb5bfcbd7e3d4c8bcb1a7988b7e7165584b3e32251808000004111d2935414c565d60656a6f74797e83888d92979c8f8276685e52453c31241a1006000000000000000000000000000000000000000000000000030c19242f3a4653606d7985929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d000000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b010000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a4afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbd6d6d6d6d6d6cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbebab8b7b6b3b2acabaaa29f9a95908b847c746d67605950483f362d241b12090000000000000000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c6155494650545c60656c7074797c7f82848687888989898888868483817e7b77736e6a64605b545046423c3328231d150c040000000000000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f281f160c0100000000000000000000000000000000000000000a15202a343c4347484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b000000000000000000000000000000000000000c17222c363e45494a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b20160a0000000714202c38444f59616367676767676869666d6f737a818c929ca5afbdc7d2d0c5b9ac9f93877b6e6154483b2e2115080000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000b1824313e4b5764717e8a97a8b2bdc9d5e1d7cbbfb4aa9c908376695f53473d31281e140b0300000000000000000000000000000000000000000000071018232e39434e5865727e8b99a3aebbc7d3e0d9cec1b4a79b8e8174685b4e413025190d0100010d19242f3a444c5254585f62676d71767b80858a8f8b7e7165564c41332a201208000000000000000000000000000000000000000000000000000008131f2b3844505c667783909daab6c3d0dddacdc0b4a79a8d8174675a4e4134271b0e00000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9286796d6053473a2f24180c0000000000000000000000000000000000000000000000000000010d1925303b4754616e7a86939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccc9c9c9c9c9c9c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb3adabaaa9a6a8a19e9b98928e88837e796f6b605d554f473f362d241b1209000000000000000000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50443e424a51535b6063666c6f7275777a7a7b7c7c7c7b7b79787674716e6966625f5853504a423e37312a2118120b0300000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d04000000000000000000000000000000000000000000040e18222a32373b3c42424242424242424242424242423d3c38332c231a10050000000000000000000000000000000000000005101a242c33393c3e42424242424242424242424242423c3b37322b22190f0400000004101c28333e474f55575b5b5b5b5b5b545c6062676d747f8c939eabb5c0ccd4c8bbafa49a8b7e7265584b3f3225180c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d1a2633404d596673808c99a6b3bfced9e0d3c7baaea3988b7e7165574d42352c1f160c0200000000000000000000000000000000000000000000000007121d27303d4754616d7a86929facb9c5d2dfdcd0c3b6a99d9083766a564c41362a1d1105000008131e28323a4145474e54555d6064696e73797d82867a6d6054473b3021180e00000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbdacec1b4a79b8e8174685b4e4135281b0e00000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000814202d3946525e687683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbabdbdbdbdbdbdbdbdb4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a1a9a29f9e9c9a9796918e8b86817c76716d676059514b433d352d241b120900000000000000000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e30394044495053545b60636668676d6e6f6f706f6f6e6d67696764615e5655534e46443f382f2b261f180f0700000000000000000000000000000000000000000000000000000000000000050d14191e20212222222222222222222222222221201d19130c04000000000000000000000000000000000000000000000006101820262b2e2f3535353535353535353535353535302f2c28211a110800000000000000000000000000000000000000000008121a22282d303135353535353535353535353535352f2e2b272019100700000000000b16212c353e44484a4e4e4e4e4e4e4a5053555d606d75828f99a4afbbc7d4ccc0b6ac998d8073665a4d4033271a0d0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c5b9ac9f92867a6d6054473b31211a0d0400000000000000000000000000000000000000000000000000000b15202d3946525e6875828f9ca8b5c2cfdbded2c5b8ab9f928578685e5246392d2013070000010c1620282f35393c43474b5153575f62666d70757a6d685d5245392c201306000000000000000000000000000000000000000000000000000000000b17232e414d5a6774808d9aa7b3c0cddadbcec1b5a89b8e8275685b4f4235281c0f0000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b0100000000000000000000000000000000000000000000000000000005111e2a36414c5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2b0b0b0b0b0b0b0b0b0a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696959594979291908d8a8784817e7a746f6a64605c554f454039312b231b12090000000000000000000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2e34383f44464a50535659555d6061626363626261605c555a5754524d4847433c38332d261d1a140e0600000000000000000000000000000000000000000000000000000000000000000002090e111414151515151515151515151515151413110d080100000000000000000000000000000000000000000000000000060e151b1f212228282828282828282828282828282423201c16100800000000000000000000000000000000000000000000000810171c212324282828282828282828282828282823221f1b160f0700000000000005101a232c33383c3d4141414141423f44464b515b626e7b87939facb9c6d2d2c1b4a89b8e8175685b4e4235281b0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111d2a3744505d6a7783909daab6c3d0dddccfc2b6a99c8f8376685d5245392c20130800000000000000000000000000000000000000000000000000000005111d2a36414c5665727f8b98a5b2becbd8dfd3c6baada297877a6d6154473a2e211407000000040d161e24292c3237394045474d53545c6064686d685d564c4135291d110400000000000000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2bfcbd8dbcec2b5a89b8f8275685c4f4235291c0f000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180c00000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1aba3a3a3a3a3a3a3a3a3a39a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786858483807d7b7875726d6862605853514b433d352f281f1911090000000000000000000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2423282d3337393f4446494c4b51535455565656555553514b4e4a4746423b3a37312b28221c140b090300000000000000000000000000000000000000000000000000000000000000000000000002050708080808080808080808080808080706040100000000000000000000000000000000000000000000000000000000040a0f1215151b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000000000000000000000000000000000000000000050c111417171b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a04000000000000000008111a21282c2f3034343434342e34383a4147535f6a76828f9ca9b5c2cfcfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d807467564c4135291d1104000000000000000000000000000000000000000000000000000000010d1925303d4a5663707d8996a3b0bcc9d6e2d6cabeb3a994887b6e6155483b2e22150800000000040c13191d20262b2f35393c42474a5153565d605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dbcec1b4a89b8e8175685b4e4235281b0f000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d120700000000000000000000000000000000000000000000000000000000000814202d3a46525e697683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a8491999696969696969696969696968e8174675b4e4134281b0e010000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7978777673716e696865605d56544e464540393029241d160d070000000000000000000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221a181b22272b2d3338393c3f40454747484949494848464540413e3b3a36302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0f0a090704000000000000000000000000000000000000000000000000000000000005080a0b0f0f0f0f0f0f0f0f0f0f0f0f0f0f0908060300000000000000000000000810161c202324282828282823282b2f37434e5866727f8c99a5b2bfccd0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3845525f6b7885929eabb8c5d1ded8cbbeb2a5988b7f7265584c3f2f24190d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e6dbd0bbafa295887c6f6255493c2f221609000000000001080d11151b1d24292c3137394044464c5254524c443a32281e130800000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cddadacdc0b4a79a8d8174675a4e4134271b0e00000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c7baaea2988a7d7164554b4035291d1004000000000000000000000000000000000000000000000000000000000005111e2a36424d5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525d68707d878a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e010000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d6d666b696764615e565854524c47433c38342e271e18120c04000000000000000000000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c17100c11171b1f22282b2d302f35383a3b3c3c3d3c3c3b3a38342e312e2d2a25211f1a150f0b0600000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b171c1f26313d495663707c8996a3afbcc9d0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00131f2c3946525f6c7985929facb8c5d2dfd7cabdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0adbac6d3e0d5c9bcafa296897d6f6356493c302316090000000000000001040a0f12181d1f262b2e34383a41454745413a322820160c020000000000000000000000000000000000000000000000000000000005111e2a36414c566975828f9ca8b5c2cfdbd9ccbfb3a6998c807366594d4033261a0d0000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b87939facb9c6d2dfdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b707c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255483c2f2215090000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545d5a5754524d4b4745413a37322c28231d150c0701000000000000000000000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500060b0f12171c1f202324292c2d2e2f30302f2f2e2d2c28232421201e1914120f0903000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070c0e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0c0706040000000000000000000000000000000000000000000000000407090a0e0e0e0e060b1015222f3c4855626f7b8895a2aebbc8cfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3945525f6c7885929fabb8c5d2ded6c9bdb0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000001070c10151a1c23282c3035393a3935302820160e0400000000000000000000000000000000000000000000000000000000000713202d3946525e687783909daab6c3d0ddd7cbbfb4aa978b7e7164584b3e3125180b0000000714212e3a4754616d7a86929facb9c5d1dce3d6cbbfb4aa9b8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000914202d3a46525e697683909da9b6c2cdd8e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101924303a444f59606b6f70707070707070707070707070706f6a5f53473a2e21150800000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575756555453504a504d4a4746423f3a3935302b271f1c18120b0300000000000000000000000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a0804000000000003060b0f121316181d1f2021222323232222201f1c18171414110e090602000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313191b1a18140f080100000000000000000000000000000000000000000000000000000000000000000001080f14181a1b191413100c0701000000000000000000000000000000000000000000000000000101010100000814212e3b4754616e7a8794a1adbac7cec1b5a89b8e8275685b4f4235281c0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121e2b3845515e6b7884919eabb7c4d1ded7cabdb0a4978a7d7164574a3e3124170600000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3e0d4c8bbaea195887c6e6255483b2f2215080000000000000000000000000004090e12181c1f24292c2d2c29241e160e040000000000000000000000000000000000000000000000000000000000030d15212e3a4754616d7a86939facb9c6d2dfd3c7baaea398897c6f6356493c30231609000005111d2935414c5665717e8b99a3afbbc7d3d6d6d3c7baaea3988a7e7164554b4035291d0c010000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1bcc8d4d6d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f5960636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484746443f43403e3b3a36302d2c29241e1b15100c0700000000000000000000000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000000000030606070c101314141516161615151313100c07080705020000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f2025282724201a130b0200000000000000000000000000000000000000000000000000000000000000020b131a2024272826201f1c18120c060000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b3a79a8d8074675a4d4134271a0e0100000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2a3744515d6a7784909daab7c3d0ddd8cbbfb2a5988c7f7265594c3f2d22170b00000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4e3d7cbbfb4ab94877b6e6154473b2e21140800000000000000000000000000000000070c1013191d2021201d19130c040000000000000000000000000000000000000000000000000000000000030d151f2a36424d5765717e8b99a4afbbc7d4dfd2c5b9ac9f92867a6d6053473a2d20140700000713202d3946525e6876828f9cabb5c0cbc9c9c9c9c5b8ac9f92867a6d6053473a2f24180d0000000000000000000000000000000000000000000000000000000000000000020e1a25303b4854616e7b87959fabb8c4c9c9c9d1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353d464f5456575757575757575757575757575755534e463c31261b0f030000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a3a38342e34312e2d2a2521201d19130f0a0400000000000000000000000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070809090a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c2d323433302b251d140b000000000000000000000000000000000000000000000000000000000000000b141d252b303334322d2c29231d17110b06000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00101d293643505c6976838f9ca9b6c2cfdcd9cdc0b3a69a8d80736753493f33271b0f03000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e0d3c7baaea39986796d6053473a2d20140700000000000000000000000000000000000004080d11131413110d08020000000000000000000000000000000000000000000000000000000000040c151f27313946525e6976828f9cabb5c0ccd7dccfc2b5a99c8f8276675d5145392c1f130600000714212e3a4754616d7a86929facb9bdbdbdbdbdbdbfb4aa9b8f8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e697683909da9b6bdbdbdbdbdbdbbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19232b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c2823272421201e191413110d08020000000000000000000000000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000000040b0b141c22282e34383a3f41403c362f261d10060000000000000000000000000000000000000000000000000000000000060f1d262f363c40413f3a38342f28231c17110a0200000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cabdb0a3978a7d7064574a3d3124170a0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2935424f5c6875828f9ba8b5c2cedbdbcec1b5a89b8e8275655b5044372b1f120700000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8b97a4b1becad7dfd2c5b9ac9f928679675d5145392c201306000000000000000000000000000000000000000001040707070401000000000000000000000000000000000000000000000000000000000003090e161e273139434f59616e7b86929facb9c5d2ddd5c9bdb2a8988b7f7265554b4035291d10040005111d2935414c5665717e8b99a3afb0b0b0b0b0b0b0b0aea3988a7e7164554b4035291d0c0100000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1b0b0b0b0b0b0b0b5ab9c8f8276685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e040000000000000000000000000000000000000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1c171a171414110e090704010000000000000000000000000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c2115090000000000000000000000000000000000000000000000000000000000000000040a0f161b1d262d33394045464c4e4c4841382f22180e03000000000000000000000000000000000000000000000000000000030e18212f3841484c4e4c47454039342e27221b140b0b040000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becac9bdb2a995887c6f6255483c2f2215090000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d192633404c5966737f8c99a6b2bfcedaded1c4b7ab9e9184786c605346392e23180b0200000000000000000000000000000000000000000000000000000a121f2b3844505c6674818d9aa7b4c0cddaddd0c3b6aa9d9083776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f141a20283039434b55606b75818e99a3aebbc7d3ded2c5b9aca096887b6e6155483b2f24180c00000713202d3946525e6876828f9caba3a3a3a3a3a3a3a3a3a39f92867a6d6054473a2f24180d00000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4854616e7b87959fa3a3a3a3a3a3a3a3a3a39f92867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f3030303030303030303030303030302f2e2b26201810060000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171615141312100c060b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000000000000000000000000000003090e151b21272c2f383f444b5153585b59534a41342a20150a0000000000000000000000000000000000000000000000000000000915202a33414a53585b5953514b443f38332d261d1b160f0a04000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc5b9ada196867a6d6053473a2d2014070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000a1724303d4a5763707d8a96a8b2bdc9d5ded2c5b9aca196897c6f63544b4034281d140b0200000000000000000000000000000000000000000000000006111c26303a4653606d7985929eabb8c5d1dedacdc1b4a79a8e8174675b4e412f24180d01000000000000000000000000000000000000000000000000000000000000000205070808080808080808080808080808090a0b080d1113171c1f252a323a424b555d67707d89939eabb5bfcbd7d5c9beb3a99e918477695f53473a2d1d120700000714212e3a4754616d7a8692969696969696969696969696968f8275675d5145392c1d130700000000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e69778390969696969696969696969696998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070707070707070707070707070707060400000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f0200000000000000000000000000000000000000000000000000000000060e151a20262b32383e424a50545c606567645d53463c31261a0f0300000000000000000000000000000000000000000000000000020e1a26313c45535c646765605c55504a443f382f2c27211b150f070000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec4b8ab9e918578675d5145392c2013060000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212e3a4754616d7a8796a1acb9c5d2ded5c9bdb2a89a8d8074665c51453c2f261d140c0300000000000000000000000000000000000000000002091217232e38424e5863707d8997a1adb9c6d2dfd6cabeb3a9988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000002080e1114141515151515151515151515151516171718191d2022282b30363e444c545c676d7984919da5afbdc6d1dcd2c6b9ada1978c7f7265574d42372b1e0b0100000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171515120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121314141414141414141414141414141313100c07000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000060f181f262b32373d444850545b60666d72746f64584e43372b1f14090000000000000000000000000000000000000000000000000006121e2b37424d57646e74726d67605c545049413e38322b27201910070000000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfc2b6a99c8f837669554b4035291d10040000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000713202d3946525e687884919eabb7c3ced9dacec4b8ab9e9285796d60584e42382f261e150d0802000000000000000000000000000000000000060b14192428343f4a54606a74818e9ba9b3bec9d5dfd3c6baada297897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000050d14191e2021212121212121212121212121222323242525292d2d33383b424650565e666d79828f96a0acb7c1cfd8d5c9bdb2a89e9185796d6053473c31261a0e0000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202121212121212121212121212121201f1c18120b0300000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000030e18212a31373c43474f545a61666c71797f81746a5f53473b31251a0e020000000000000000000000000000000000000000000000000814212e3a47535f6974817f79716d66605b534f48443d37322b22190f040000000000000000000000000000000000000714202d3a46525e697885929fabb8c5cdc1b4a79a8e8174675b4e412f24180d010000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005111e2a36414c566774818e9aa8b2bdc8d4dfd2c6b9ada1978c7f736a5f544a423830271f19130f0b060400000000000000000000000205090e11171f252a363e44505c666f7c87929facb9c5cfdaded2c5b8ab9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2f3031323035393a3f44464d525a61686d78828f949fa8b2bdc9d3d4cbc2b9aca1968b7f72675d5145382a1f15090000000815212e3a47535f6a6f707070707070707070707070707070706d675d5145392c1d1307000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e686d707070707070707070707070707070706b6054483c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e07000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c03000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000009151f2a333c42474e545960636c70787e848b887c6f62574d42362a1e1308000000000000000000000000000000000000000000000005111e2a36424d56626e7b878c847e78716c656159544f47433d342b20150a0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6cbbfb2a5988c7f7265594c3f32261907000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00010d1925303c4956626f7c8996a0acb8c5d0dbd5c9beb3a99f92867c6e665b544a4239312a251e1b1413100c070a0908070808090a090e12141a1c222830363e48505a606d78839099a3afbbc7d6e1d5c9bdb2a89a8e8174665c5145382c1f1306000000000000000000000000000000000000000000000000000000020d1720293036393b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f3f4146474a5053575e616c717a828f949ea6b0bac3ced6cdc2b8aea49e9184796d60554b4035291d100400000006121f2b37434e585f6263636363636363636363636363636363605d554b4035291d0c010000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565e616363636363636363636363636363636360594f44382c2014070000000000000000000000000000050a0d0f101313131313131313131313131312120f0c08020000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313131313131313131313131313131313131307060401000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a010000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000020e1a26313c454d53585f626b70767d838b91968e8174695e53463a3025190d01000000000000000000000000000000000000000000000b14202d3a46525e6974818e96918b847e78706b636059544e463d32271b0f0300000000000000000000000000000000000a1623303d495663707c8996aab4becaccc0b5ab978a7d7064574a3d3124170a000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000815222e3b4854606a7784919daab4becad6dacfc5baaea3999083786c665c544b433d36302c27201f1c18171616151414151617181a1e21252a2d333b4246505a616c727f8c95a0abb5c0cbd7dcd2c5b9aca196897c6f63544b4034281c100400000000000000000000000000000000000000000000000000000008141f29323b41464748484848484848484848484848494a4a4b4c4c5254545b6063696e757e858f949ea6b0b8c2ccd5cdc4bbb0a69d928a7e71665c5143392f24180c00000000030f1b26313c464e53555757575757575757575757575757575753514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457575757575757575757575757575756544f473d33271c1004000000000000000000000000030a10161a1c1d202020202020202020202020201f1e1c18130d060000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d202020202020202020202020202020202020201413110d08010000000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444647474747474747474747474747474645403930271d12070000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000006121e2b37424d575f626a6f767d838a90959e9f92867b6e61564c4135291d120700000000000000000000000000000000000000000007121d2935414c56616e7b86929f9e96918a837d76706b6260584e43372b1f130600000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed0c7bbafa499887b6e6255483b2f221508000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000007131f2c38434e5866727f8c98a2aebac3ced9d7cbbfb4ab9f958e81786d665d554f46413a38322d2c292324232221212122232424262a2d3036383f444d525a616c717e87929fa7b1bdc7d1dcd4c8bdb2a89e9184786c605346392e23180c000000000000000000000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454555656575859565e6163666c70757b818a92979ea6b0b8c2cad7cbc3bbb2a99f948d80746c61544b4031271d120700000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e181007000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c04000000000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e251c120700000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a5053545454545454545454545454545453514b42392e23180c0000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3a47535f696e757c828990959da0a7a3998d8074685e5246392f24180d0000000000000000000000000000000000000000000c18232e3945525d6873808d99a3a8a09e95908a837d766f6a6054473b2e22150800000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc6b9ac9f9386796d6053463a2d201307000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27323d4754616e7a85929fa8b2bdc8d4dcd1c6bdb1a79d938e81786d676059524c48443d3a38342f31302f2e2d2e2f30303131363a3b42464a50565e616c717e879299a3aeb9c3cfd9d6cdc4b9aca0968c7f72655b5044372b1d120700000000000000000000000000000000000000000000000000000005111e2a36414d565e6161616161616161616161616161626364656668686d7073787d82878e939ea1a9b0b8c1cad1cbc2b9b1a9a1979082786d605a5042392e1f150b010000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b231a0f050000000000000000000000030d161f262d3235363939393939393939393939393939373430292219100600000000000000000000000000000000000000000000000000000000000d161f272d32353639393939393939393939393939393939393939392c29241e160d04000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740372e24190e0200000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606060606060606060606060606060605c544b4034281c100400000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000815222f3b4855626e7b81878f949d9fa7acb1ab9f92867a6d61554b4035291c12070000000000000000000000000000000000000004101c2834404b55606d7a85929fabb2aca7a09d959089827c6f6256493c2f2316090000000000000000000000000000000004111d2935414b556976828f9ca9b5c2cfc4b7aa9e918477675c5145382c1f1306000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000a16202d3946525e68727f8c96a0acb8c0cad3d8cfc2b9afa59d938e8179706b615e56544f494745403e3d3d3c3b3a3b3b3c3d3e404246484d52545b60696e757e879299a3abb5bfcbd5d8cec4bbb0a69e9184796d6053493f33271b0b000000000000000000000000000000000000000000000000000000000714202d3946525e686e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7071727275777a7d80848a8f92999ea5adb3bbc1cacfc6bfbbb0a7a09791857a6e665c51483e30271d0d030000000000000006101820262b2e2f303030303030303030303030303030302d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e303030303030303030303030303030302f2c27211a11080000000000000000000000000a151f2831383e4243464646464646464646464646464544403b342b22180d0200000000000000000000000000000000000000000000000000000008111f2831383e4243464646464646464646464646464646464646464639352f281f160c01000004101c28333e4750555760606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524a40352a1f13070004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000d192633404c5966737f8c939a9fa6abb1b8baaea2988c7f73675d5145392e23180c0000000000000000000000000000000000000006131f2c3845515c67727f8c98a2aebdb9b1aca79f9d948e8174685b4e4135281b0e000000000000000000000000000000000613202c3945515d677884919eabb8c4cfc2b5a99c8f827669554b4034281c1004000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111e2a36414c56606d7984919ea4aeb8c1cbd4d4cbc0b7afa59e938e847d756d686360595653514b4b4a494948474748494a4b4d4d5355575e61666c727b818b9299a3abb5bdc6d1d8d0c6bcb2a99f948a7d70665c5141382d22170b000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7d7e7f8184878a8c91969b9fa3abafb9bec5cdc9c2bdb5aea69f9591857c6f685e544a40362c1e150b000000000000000000060e151b1f212224242424242424242424242424242424201f1d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242322201c160f0800000000000000000000000005101c26313a434a4e505353535353535353535353535352504c463d34291e13080000000000000000000000000000000000000000000000000000020c1a23313a434a4e50535353535353535353535353535353535353535345413a31281e130800000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d20130700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb0b8bcc2bfb4aa9e9285796d60544a4034281b11060000000000000000000000000000000000030f1c28333f4a54606d7985919eaab3bec3bcb8b1ab9f94887c6f6255493c2f221609000000000000000000000000000000000714212d3a4754606d7a8796a1adb9c5cdc0b3a79a8d8074675a4d412e23180c00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000010d1925303b45515c66707d8a929da6b0b9c3cbd8d2c9c0b7afa59e969189817a746f6b6662605c55585756555454545556575759575f6164696e73787e858e939fa3abb5bdc6cfd7cfc6bfb4aaa1968f82766c61544b402f261b110600000000000000000000000000000000000000000000000000000004111d2a3744505d6a77838787878787878787878787878889898a8b8c8e919696999ea1a8acafb5bdc1c9c7c4bdb9b0aba39f948f837b6f6a5f564d42392e241a0c0300000000000000000000040a0f121515171717171717171717171717171717171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b05000000000000000000000000000a16222d38434c545a5d606060606060606060606060605f5d574f463b3024180c00000000000000000000000000000000000000000000000000000a141e2c36434c555a5d606060606060606060606060606060606060605f524c433a2f24190d01000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d87878787878787878787878787877e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000714202d3946525e6874818e9ba6b0bbc7cdc6b9ada1978b7f72665c5144382d22170b000000000000000000000000000000000006121f2b3844505b66717e8b97a1adbcc5cec8bdb2a89c9083766a5f54473b2e221508000000000000000000000000000000000916222f3c4955626f7c8895a8b2bdc9cbbeb2a5988b7f7265584c3f3225190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000008141e2834404b54616b73808d949ea7b1b9c1ccd2d2c9c1b7afa8a09e938e86817c77726f6d676765646362616061626363646669696e71757b7f848b92989ea5afb5bdc7cfd7cdc5bdb5aea29891847b6e615a5042392e1d140a0000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839094949494949494949494949495969798999b9ea0a8a6abacb2b9bbc0c7c5c0bbb9b2aca69f99928d827a6e695f584e443b30271c120800000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f0300000000000000000000000000000000000000000000000006111c26303e48555e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d1104000a1724313d4a5764707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393938b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000005111e2a36414c56626f7c88949fabb7c4cecabeb3a99e9184796d6053493f33271b0f03000000000000000000000000000000000613202d394653606c7884919ea9b3beced2c5b9aca1968a7d7064584e43372b1f1306000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabdb0a3978a7d7064574a3d3124170a00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000020c18232e39424f59606c78828f959fa7afbbc0c7d0d5c9c1bab2aca59e98928e89847f7c7977747170706f6e6d6e6e6f70717375787b7e82868c91969fa2aaafbbc0c7cfd1cbc3bbb3aba39f92867c6f695e52483e30271d0b020000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a5a8aaacb2b3b7b9bdc4c5bfbab8b5afaca8a19e948f8780786d685e574e463c32291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a667076797979797979797979797979797873695d5044372b1e12050000000000000000000000000000000000000000000000000b17232e3842505a6670767979797979797979797979797979797979797976685d5245392c201306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a0a0988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000010d1925303b47535f6a7683909ca8b2bdc9cfc5b9aca1968b7e71655b5044372b1f160a0000000000000000000000000000000713202c38444f5964717d8a96a0acbbc4cfcabfb4aa9e9184786d6053463c32261b0f03000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccabeb3a995887b6f6255483c2f22150900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000007121d27303e44505b666d798390959ea5afb6bec2c9ceccc4bdb9afaaa29f9b96918c898683817e7d7c7c7b7a7a7b7c7d7e808285888a8f92999ea1a8aeb3bcc1cbd1cfc6bfbbb2a9a299928a7e716a60564d42362c1e150b000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaeaeaeaeaeaeaeaeaeaeafb0b0b1b2b4b7b9bdbfc4c5c2bbb7b4aeacaba39f9b96918a827c736d665d564d453c342a20170c030000000000000000000000000000000000000000000000000002060a0c0c131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090c0c13131313131313131313131313131313130909070300000000000000101d2a3643505d6976828686868686868686868686868685786c5f5245392c1f1206000000000000000000000000000000000000000000000003101c28343f4a54616c7682868686868686868686868686868686868686867a6d6054473a2d211407000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3adadadadadadadada5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000008141e2b37434e5864717d8a96a1acb9c6d0c9bdb2a89d9083786c6053463d32271b0f0400000000000000000000000000030d16222f3b4854606b7683909da8b2bdcdd3c6baaea2988c7f72665c5044382a20150a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6b9ada197877a6d6054473a2d21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b151e28333f4a545d676e7a838e939fa4acb1b9bdc4c8cdc9c1bcb4aeaca8a09d999992908d8b8a898887878788898a8a8c8f9297979c9fa3abacb2babec5cecdc7c2bdb5aea8a09792877e716c61584e443b30231a0c03000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bababababababababbbcbcbdbebfc1c4c5c8ceccc2b8b0aaaaa29f9c99928f8a847e766e6a605c544c433b332a22180e0500000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020161613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020201615130f0a040000000000101d2a3643505d6976839093939393939393939393939285786c5f5245392c1f120600000000000000000000000000000000000000000000020c17202b3844505c66707d8a949393939393939393939393939393939393877a6d6054473a2d211407000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0babababababab1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000020f1b26323c4653606d7884919eaab4bfcacec4b8aca0958a7d7063594f43382c20150a0000000000000000000000000009141f2b37434e5863707d89959fabbac3ceccc0b6ac9f92867a6d60544a3f3428190e040000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfc5b8ab9e928578675d5145392c20130600000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030c17222d38424b555e686e79818c939a9fa7acb2b8bcc3c6c9c6bfbab8b2acaaaba39f9d9a9897969594939495969697999c9ea1a9a8acafb5b9bdc4cacac7c2bcb7b0aba39f9691857d716c625a50463d32291f110800000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c7c7c7c7c7c7c7c7c8c9cacbccced1d2d4d3c7bbb0a69f9c98928f8c86827d78716c625f58514a423a312921181007000000000000000000000000000000000000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000008131e2935404b55606d7884919da69f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6beb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000a151f2b3844505c66727f8c98a2aebac7d2c8bcb1a79c9083766b6054483c31261b0f030000000000000000000000020e1a26313b47535f6a76828f9ca7b1bcccd4c8bbafa49a8d8074685d5242382e231707000000000000000000000000000000000006131f2c3945515d677885919eabb8c4d0c3b6aa9d9083776a554b4135291d110400000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000006111c262f3a434d565e676d757f8890959ea1a8acb1b8b9bec4cac7c3bdb8b7b5aeacaaa7a4a3a3a2a1a0a1a1a2a3a4a6a8abadb3b5b9bbc0c7c9cec6bfbab8b0aba69f99928d847b706b625a50483e342b20170d0000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d4d4d4d4d4d4d4d5d6d7d8d8dbdddedcd0c3b7aa9f948f8985827f7b75706c66615a534e44403930281f170f07000000000000000000000000000000000000000000000000000a131c232a2f323339393939393939393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000a131c232a2e31333939393939393939393939393939393939302f2c2721191007000000101d2a3643505d697683909ca9acacacacacacacab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000010d1925303945515d67717e8b95a0acacacacacacacacacacacacacacaca093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad3d3cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a86929facb6c0cccec3b7ab9f94897c6f63584e43372b1f1409000000000000000000000005121e2a36424d57626f7c88949faab9c2cdd2c6b9ac9f93877b6e62564c4130261c110600000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6cec1b5a89b8e8275685b4f422f24180d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000a141d28313b444d555d606d727c838a91969da0a7abadb3bbc4cfcec8c5c4bfbbb9b6b4b1b0afafaeadadaeafb0b1b3b5b8b9bec2c5c7cbd1cec6bcb4aeaca69f9c948f8780796e69605950483f362c22190e050000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9cacbccced1d2d5d9dedccfc2b5a99c8f827c7876726e6963605b545047433c342e271e160d050000000000000000000000000000000000000000000000000007121c252e353a3e3f464646464646464646464646464646463d3c38332b23190c03000000000000000000000000000000000000000000000000000000000000000000050f1c252d353a3e3f46464646464646464646464646464646463c3b38322b22190f040000101d2a3643505d697683909ca9b6b9b9b9b9b9b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000005111d2a36414c56606d7984919ea8b1bdb9b9b9b9b9b9b9b9b9b9b9b9ada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000b17232e3845525d6874818d9aa4afbbc8d4c7bcb0a69c8f82756a5f53473b31251a0e02000000000000000000000714212d3a46535f6975818e9ba6b0bbcbd4c8bcb1a79c8f8275695f53443a2f1e140a0000000000000000000000000000000000000915222f3c4855626f7b8895a9b3bec9cdc0b3a69a8d8073675a4d4034271a070000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020b161f29323b434b515b636a6f767e848b90959a9ea1a9b3bec9d5d4d1d1cbc7c5c3c0bebdbcbbbabababbbcbdbdbfc2c5c6cacfd2d4d7d0c6bcb4aaa29f9a94908a827b736d675f574f473f362d241a1007000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bcbcbcbcbcbcbcbdbebebfc1c4c5c9ced1d2d0c3b7aa9f948f8783807c76716d66625a534d453f372e251c140b02000000000000000000000000000000000000000000000000020d18232e373f464b4c535353535353535353535353535353534948443d352b1e150b0000000000000000000000000000000000000000000000000000000000000000030d17212d373f464a4c53535353535353535353535353535353534948433d342b21160a0000101d2a3643505d697683909ca9b6c3c6c6c6c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000040f19222d3946525e68737f8c97a1adbac3cec6c6c6c6c6c6c6c6c6c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000006111c2935414c56626e7b87939facb9c3cecdc2b9ac9f93877c6f62574d42362a1e130800000000000000000005111d2a36414c56616e7b87929facb9c2ccd1c5b8aca095897d7063574d4232281e0c020000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdcfcbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000040d17202931394045515860626c71797f83888d9197a1adb9c6d2dfdedcd7d3d2d0cdcbcac9c8c7c6c7c8c9c9cacccfd1d2d6dadfe0d6cabfb4aaa298928e88837d766e6a605d554d453d352d241b120800000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaafafafafafafafafb0b1b2b3b4b7b9bdc0c5c6cac7bbb0a69f9992908d89837e79716c615f57514940372e261c140a00000000000000000000000000000000000000000000000006121e2a353f495157596060606060606060606060606060606056544f473d30271d12070000000000000000000000000000000000000000000000000000000000000009141f29333f49515759606060606060606060606060606060606056544f463d32271b0f0300101d2a3643505d697683909ca9b6c3cfd2d2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000a15202a36424d57616d7a85929fa9b2beccd5d2d2d2d2d2d2d2d2d2c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3eceae2dad4cfcbcac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000d1924303a47535f6a76828f9ca8b2bdc8d4c8bbafa49a8e8175695e53463a3025190d0100000000000000000a13202d3946525e6874808d99a3afbbc7d6cabeb3a99d9184776b6054453c3120160c000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcabdb1a4978a7e7164574b3e3124180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000050e171f272f353f464e545a61676d72777c8085919eabb8c4d1deebe7e3e0dfdddad7d6d6d5d4d3d4d4d5d6d7d9dbdedfe2e6ece0d3c6baaea2989286817c76716c625f57514b433c332b231b12090000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da2a2a2a2a2a2a2a2a2a3a4a5a6a8aaacb2b3b8b9bec5c2b8b0aba39f9d9995908a847e766e69625b524940382e261c110800000000000000000000000000000000000000000000000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43392e23180c030000000000000000000000000000000000000000000000000000000000030d1a25313b45515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020b1b27323a46535f6974808d98a2aebbc4cfdee7dfdfdfdfdfdfdfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d8d0c8c3bfbeb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000008131e2b37434e5863707d8a96a0acb8c5d0ccc0b6ac9f92867b6e61564c41362a1d13070000000000000006111c2935404b55616d7a86929fabb5c0cbd2c6b9ada2978b7e7165594f44332a1f0d04000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccc9bcafa396897c706356493d3023160a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000050d151d2429343d424a50585f666d71767c828f9ba8b5c2cedbe5e1dfdedad5d2d1cfcecdcccccccdceced0d2d4d7dddde0e4dfd2c5b8ac9f92857d77716d67615a534e454039312a21191109000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839096969696969696969696969798999b9ea0a8a7abadb3b9bbc0bdb5afaca9a79f9d96918b827b726d635c524a40382e231a0e05000000000000000000000000000000000000000000000c1825323e4b57636d7279797979797979797979797979797979706b60554b4034281f140900000000000000000000000000000000000000000000000000000000010b151f2a36424d57636d7279797979797979797979797979797979796f6b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000a141d2b37434e58616e7b86929faab4becdd6e0f0ecececececece0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c6beb7b2b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000020f1a26313c4653606c7884919da9b3becad2c7bbafa3998d8074685e52463a2f24180d000000000000000c17232e3945515d6773808c98a2aebdc7d1cbc0b5ab9e9285796d6053473d3320180e00000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bbafa295887c6f6255493c2f2216090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000010c161f28313a434b545c606a6e787e83898f939eaab6c3cfdcdad5d2d1cfc9c6c5c2c1c0c0bfbfc0c1c2c4c6c7ccd2d0d3d8dfd3c6baaea298928a837e79706c615e564e463d342b22190e05000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a778389898989898989898989898a8b8b8c8e9196969a9ea1a9acafb6bec0bbb9b6b1aba8a19e948f867f736e645c524a40352c20170d020000000000000000000000000000000000000000000c1926333f4c5966727f868686868686868686868686868686867d70675c51453c31261a0d0400000000000000000000000000000000000000000000000000000007121d27313946535e69727f86868686868686868686868686868686887d6f6356493c3023160900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000006111c262f384754606a75818e99a3aebcc5d0dfe8edecedeff3f9ede0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b989696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c8beb4aca6a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000009151f2b3744505b65727f8b97a2adbac7d2cbc0b5ab9f92867a6d61554b4035291c1207000000000003101c28343f4a54606d7985929eaab4bfcfd3c7bbafa3998d8073675d5145382c1f130600000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfc8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000008131e28313a434c555d666d727c838a90959b9ea5afbbc6d2d3cfc9c5c4c0beb9b8b5b4b4b3b2b3b3b4b5b7b9bbc0c3c4c7cdd2d5cabfb4aaa29f95908b857d756d685f584e463d342b20170c0200000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808184878a8d92979c9fa4acb1babec5c2bcb8b2ada69f98928b80736e645c52473e32291e14080000000000000000000000000000000000000000000713202d3a4653606d7883909a9393939393939393939393939184796d60574d42372b1f160c0100000000000000000000000000000000000000000000000000000c18242f39434f59616e7b869293939393939393939393939393978e81746b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000b17222d38424f59626f7c87939fabb5bfced7e2e3e0dfe0e3e8eef5e0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca29b979393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a85929fabb5c0ccd1c7baaea2988c8073675d5145392e23180c000000000006121f2c3844505c66727f8b97a2adbcc6d0d2c5b9ac9f92867b6e61554b4035291d10040000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000060f19242f3a434c565d676d787f8690959d9fa7aaafb8c1cccbc7c4bdb9b8b3b3adaba9a8a7a6a5a6a7a7a8aaacafb5b6b7bbc2c5c9cfc6bcb4aea7a09d97918a817a6f6a60584f473d32291e130800000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f6f6f6f6f6f6f6f6f6f6f6f7071727375777a7d80858a8f939a9fa7adb3bbc4c7c4bdb9b0aaa29f928c80736e64594f443b3025190e04000000000000000000000000000000000000000006121f2c3844515c666f7d88939fa99f9f9f9f9f9f9f9f9fa0968c7f73695f53463e31281e13080000000000000000000000000000000000000000000000000004101d2935404b55616b75828f98a29f9f9f9f9f9f9f9f9f9fa69e92857a6d60594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000030f1c28333f4a54616b76828f9aa4afbdc6d1e0dcd7d3d2d3d7dce3eae0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a69b908b868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6773808d99a4afbbc7d4cabfb4aa9f92857a6d60544a4034281b1106000000030f1b27333f4953606d7984919ea9b3beced4c8bcb1a79b8e8175695e5243392f24180c000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030d17212935414c565d686d79828c92989fa7abb1b6bbc1cac6bfbab9b2adaba6a9a19e9c9b9a9999999a9b9b9d9fa4aba9abb0b8b9bdc4cbc6bfbab1aca9a19e938e857c6f6a60594f443a3025190c030000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6263636363636363636363636364656668686d7074797d828790959fa2a9b2bac3cbc9c2bcb4aea49c928d80736b61564c41362a21160b000000000000000000000000000000000000000004101c2834404a54606b74818e97a1adacacacacacacacb2a89f92867b6e615a50433a2f24190b020000000000000000000000000000000000000000000000040d1b242c3945515d67707d8a939eaab4acacacacacacacb4ab9f948b7e71685d52463d32271b0f0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000020c16202b3844505b66707d8a949facb6c0cfd8d9d1cbc7c5c7cbd1d9e1ead3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a4978b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000001040607090a0c0d0d0e0e0d0d0c0a080605030000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000006111b2935404b55616e7b87939facb9c3cdd0c6baada2978c7f72665c5144382d22170b00000005121f2b3744505b65717e8b96a1acbbc5cfd1c4b8ab9f95897c6f62574d4231271d1207000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c7bbaea194887b6e6155483b2e2215090907060401000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000009141f29333b45525d686d7a828f949fa3aab1b8bcc2c6c9c1bdb4aeaca8a19e9a9797928f8e8d8d8c8c8d8e8f919399989c9fa6abadb2babfc6cac3bcb8b3ada59e9792857c6f6b60564c41362a1e150b00000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5355565656565656565656565657585859565e6163666d71767c838b9297a0a8b1b9c3cbcec6bfbaaea49d928a7d70685e52463d32271b100400000000000000000000000000000000000000000c18232e39424f59616d7a85929ea6b0bcb9b9b9b9b9baaea3988f82766c61554c4135291d140a00000000000000000000000000000000000000000000010c16202b37434e58606d7984919ea5afbcb9b9b9b9b9b9baaea3998f82766c61564c41342b21160a0000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000008131e2834404b55606c7883909da6b0bec7d2d8cfc7c0bbb9bbc0c7cfd9e3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e1205000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000020507070d1113141517191a1a1b1b1a1919171513120f0b06060a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000d18242f3a46535f6975828f9ba7b1bcc8d4cabeb3a99e9184796d6053493f33271b0f0300000613202d394653606c7883909da8b2bdcdd5c9bdb2a89d9083766a6054453b301f150b01000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221615151413110d070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020e1a26313b45505a606d7a8390949fa6aeb4bcc2c8ccc4bdb9b0aba39f9b96918d8a8785828181807f808081828486898c9094999ea1a8aeb4bcc2cac8c4beb9afa9a19792867d6f685e52463f30271d1207000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494949494a4b4c4d4c5254545c60646a6f787e859196a0a7b1b9c3ced0cabfb6aea49e92857a6e61594f44382c20150a000000000000000000000000000000000000000007121c27303d46525d68717e8b949faab4bfcbc6c6cbbfb4aa9f948a7e71675d51453c2f261c110600000000000000000000000000000000000000000008131e28323a47535f6a73808d96a1acb8c1cec6c6c6c9bdb2a89f92867b6e625a50443a3022190f040000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000010d1924303845515c67717e8b95a0acb8c2d0d8cec6bdb5afacafb5bdc7d1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654534d453b31251a0e02000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71646060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c544a4034281c10040000000000000000000000000000000000000000000000000000000105090e121415181d2020222426262727282726252422201f1b1714120f1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000007131d2a36424d5763707d8995a0acb8c5cfcfc5b9ada1968b7e71655b5044372b1f160b0007131f2c38434e5863707d8a95a0acbac4ced2c5b9ada1968a7e7164584e4333291f0d0300000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bdb0a3968a7d7063574a3d312622222221201d18130c04000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000005121e2a36424d57626c75818e959fa6b0babfc6cfccc3bab2ada69e99928e8984807d7b78767574737273747475777a7c7f83888c91969fa3aab0b8c0c9cfc9c1bbb3a9a29891857a6d615a5043392e23180c00000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3c3c3c3c3c3c3c3c3c3c3c3d3e3f404146474b51535860666c727b849095a0a7b1bcc6d0d6c8c0b9ada1978f82766b6054483c31261b0f0300000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9d0c6bcb0a69e91847a6d60584e42382d22170b0200000000000000000000000000000000000000020b19242f3a44505a626e7c87929fa8b2bdcad3d2d7cec5b9aca0968c8073695f53483e32281e1007000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000004111d2935414c56606d7984919ea7b1bccad4d0c6bcb4aba39fa3abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f140900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164575353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514a42392e23180c000000000000000000000000000000000000000000000000000002080d11141a1e212124292c2d2f313233343434343332302e2d2b2722211f1a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000010e1a26313b4854606b7783909da9b3bec9d5c9bdb2a89d9184786c6053463d32271b10040915222e3b4854606a7683909ca7b1bcccd6cabfb4aa9e9184796d6053463d3220170d0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfccbfb2a6998c7f7366574d42362f2f2f2f2d2c29241d160d040000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000714212d3a46535f69717e8b939ea7b0b9c2cbd1cbc2b9b1a8a19e948f86817d7873716e69696867666666676868676d7072767b80848c92989fa6afb7c0c8d5cdc5bbb3aaa1978f82756c62554b4034281c11060000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303031323036393a4045464e545b60696e7a839095a0aab4bfcad6d5c9beb3a99f94897d7063584e43372b1f12060000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d8cec2b9ada1978d80746a5f544a3f33281e1408000000000000000000000000000000000000000a141d2935414c56616c76828f99a3aebac4cedcdbd0c5bcafa59e9184796d60574d42362d20160c00000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000040e18222c3945525d68727f8c96a1acb9c3ced6cabfb4aaa2999299a3afbbc7d3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d0300000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a4747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474644403930271c120700000000000000000000000000000000000000000000000003090e14191e20252a2d2e2f35393a3c3d3f4040414140403f3d3b3937332d2e2b262024313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000009141f2c38444f5965717e8b97a1adb9c6d1cfc4b8aca0958a7d7064594f44382c20150a121e2b37424e57626f7c89949fabb9c3ced3c7baaea2988c7f72665c5044382c1f120500000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1cfc2b6a99c8f8276695f5346403c3c3c3c3a39352f281f160c0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000005121e2a36424d57616e7b86929fa5afb9c2cbd7ccc2b9b1a7a096918a827b75706c6664615e575b5a5a59595a5b555d606365696e73797f868f949da5aeb6c0c9d3cdc5bcb3a99e948b7e71675c5145382e23170b0000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323242525252a2d2e34383d424a50575f686e79839098a2aebac3cdd8cfc5bbb0a69c8f82756a5f53473a2e21150a00000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d5c9beb2a99f92877c6f665b50443b3025190c03000000000000000000000000000000000006111c262f3845525d68717e8a949fabb5bfccd6e1d6cabeb3aa9e93897d70675c51453c31241b0e0400000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000a15202a36424d57606d7a85929fa8b2bdcbd5d3c6baaea2989286929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f050000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000000000000000000000000000000000000000002090e151a1e252a2d31363a3b3e404547484a4c4d4d4e4e4d4c4c4a4846443f3b3a37312c29313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000003101b27323d4753606d7985929eabb5bfcbd4c8bdb1a89d9083766b6054483c32261b0f14212e3a47535f6a75828f9ba6b0bbcbd5d2c5b8ac9f92867a6d61544a3f34281c100300000000000000000000000000000000000000000000000d192633404c5966737f8c99abb5bfcbd2c6b9ac9f93877b6e615a514b494848484745413a31281d130700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000714212d3a46535e6974818e98a2aeb7c1cbd4d0c4bab1a79f9591847d756e6963605b5454534d4e4e4d4c4d4d4e4b515456575f61676d737b828e939ca4aeb7c1ccd6cec4bbb0a69e9184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000030608090c07060a0f1315161616161616161616161616171819191d2023282c2f383f444d565e676e7c86929fa7b1bcc8d4d6cdc2b7aa9e94887c6f6255483c31261a0f020000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfdacfc4bbafa3999083786c60564c41362a1e150b00000000000000000000000000000000000b17222d38424e58606d7a85929ea6b0bdc6d1ded9cfc7baaea2988e81756b60554b40332a2012090000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000020b1b26313a46525e6973808d97a2adbac4cedfd2c5b8ac9f9286808d99a6b3c0ccd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321211e1a140d05000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231c150c0300000000000000000000000000000000000000000000060c141a20262b3036393b4246484b4b5153555759595a5a5b5a595857555350494847433c39352f3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000b161f2c3845515c6773808c99a3aebbc7d3cec3b8ab9f95897c7063584e43372b1f141e2a36424d57626e7b87939facb9c2cdd3c7bbb0a69a8e8174685e5242382e23170c0000000000000000000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d3c8bbafa49a8e81746c605c555655555554514b433a2f24180d01000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000003101c28343f4a54616e7b87929faab4bfc9d3d2c7beb2a89f9590837b706c615f5753504a4846424241403f404141414547494d53555c60696e78818d929ca5afbac4cfd6cdc1b9ada1968b7e72665c5044382b1f1206000000000000000000000000000000000000000000000000000003060a0f121515191413100c07080909090909090909090909090a0b080d1113181c1f262d333c444c555f6a727e8b959fabb8c5d0dbd3c7bbb0a69b8e817468584e43372b1f1206000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d7cbc0b5ab9f958b7f72685e52463d30271d1207000000000000000000000000000000030f1c28333f4a54606a74808d97a1adb8c2cfd8dcd1c7bdb1a79f92857b6e61594f43392f21180e000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000a141d2b37434e58616e7b86929fa9b3beccd6d5c9beb3a99b8f81808d9aa7b3c0cdd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b03000000000000000000000000000000000000000000030a11171f252a31373b4146474d535458555d60626465666767676766656361605b5355534e4745413a3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b86929facb9c2cdd4c8bcb1a79c8f82766a5f53473b31261a202d3a46525e6974818e9aa4afbbc8d4d0c3b7ab9f94887c6f62564c4130261c11060000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c3d0ccc0b6ac9e938b7e736d676463626262605d554b4135291d1104000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2c3844505c6674818d99a3afbcc6d0d8ccc0b6aca19690837a6e69615a534d46443f3b3a363134333333342f35393a3d42464b51575f666c74808d939ea8b2bdc9d5d5c9bdb2a99e9184786d6053463a2d201308000000000000000000000000000000000000000000000104060c1012131b1f212226201f1d18120b0300000000000000000000000000000105070c10141c2228323b434e58626d7783909daab3becad6d7ccc1b8ab9e9285786a5f53473a2e211408000000000000000000000000000000000000000000000915202834404b55606b75818e97a2adbac2cfd9d1c7bdb1a79f92857a6e61594f43392e23180c0300000000000000000000000000030c19232b3844505b666f7c87939fa9b3becad4e1d7cbc0b5ab9f958b7f72685e52473d31271d0f06000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000006111b262f3847535f6a74818e98a3aebbc5cfded2c6b9ada1978a7e818e9ba8b4c1ced3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090908070502000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31241714141414141414141414141414141414141414141414141414141414141414141414141414141414141312100c0700000000000000000000000000000000000000000000050c151c232830363c42474c5254575e616568676d6f707273737474737372706e6c6566625f5854514c45414a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e6975818e9ba7b1bcc7d4cdc2b7aa9e94887c6f62574d42362a1e2935414c56616e7b86929facb6c0ccd4c8bdb2a89c8f82766a5f53443a301e150a000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca7b1bdc7d2c7beafa59f93887f7974716f6f6f6f6d675d5145392c201306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000713202d3a4653606d7985929fabb5c0ced7d4c8bbafa49a91847a6d685e575046423c38332d2d2a25272726262724292c2d31373940454d545b606e75818e96a1adb9c3ced9cfc4b9aca096897c6f6356493c3025190e020000000000000000000000000000000000000205070d1113171c1f20262b2e2f332d2c29241d150d030000000000000000000000000000000000040a11172029313c46515b65717e8b98a2aebac6d3dfd2c6b9ada197887b6e6255483b2f22150800000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa7b1bdc7d1d9cfc2baada2978e81756b60554b4034281f1409000000000000000000000000000b151e2a36414c56606c78839099a4afbbc5cfdcdcd4c7bbafa3999083786c60564d41352c1f150b00000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000b17222d38414f59626f7c87939faab4bfcdd7d7cbc0b5ab9e928579828f9ca9b5c2cfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b070707070707070707070707070707070707070707070707070707070707070707070707070707070706040000000000000000000000000000000000000000000000070e171e262e343b42464d53565e6165696e7174777a7c7d7f80808181807f7f7d7b7976726e6a65605d55524c4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d56626f7c89959fabb8c4cfd3c7bbb0a69b8e8175695f53463a30252c3945525d6873808d99a3aebec7d2d2c5b8aca0968a7d7063584e4332281e0c030000000000000000000000000000000000000000000000000004111d2935414b5563707d8a95a0abb5c0c7d0c1bbafa49a938c84807d7c7b7b7b796d6054473a2d211407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000a1623303d495663707d8997a2adbdc7d1d8ccc0b6ac9f93887d70685e564d453e37312b2822211e1a1b1a191a1a181d2021262b2f343b424a505c606d7a84919ea7b1bcc8d4d5c9bdb2a89a8d807367564d41362a1e11050000000000000000000000000000000002090e1114181d2023282c2d31373a3c3f3a38352f271f150b01000000000000000000000000000000000000060e171f2a333f4753606d7a85929fabb8c5d2ded5c9beb3a9988b7e7265584b3f32251806000000000000000000000000000000000000000000000007121d27303d46525e68727e8b959fabb5c0cbd7d6cabeb3a99e93897d70675c51453c31261a0d04000000000000000000000007121d27303946525e68727f8b95a0abb5c0cdd6e0d5c9bdb2a99f92877c6f665b50443b30231a0d0300000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000030f1b27333f4953606b75828f99a4afbcc6d0dfd4c7bbafa3998c807683909da9b6c3d0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081119202930383f444d52575f62686e72767b7e818486888a8c8c8d8d8e8d8c8b8a8885837f7b77726d67605d56505764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000010e1925303b4754606a7683909da8b2bdc9d5ccc2b9ac9f92877b6e61564c41362a34404b55606d7a85929fabb4bfd0d6cabeb3a99e9184786c6053463c3120160c0000000000000000000000000000000000000000000000000000010d18242f3a4653606c78839099a4afb6bec4c7c0b6aca49f96918d8a898888887d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a546774808d9aa9b3becfd9d4c8bbafa49a8d81746b60564c443b332b261f1c1714120e090d0c0d070d1113141a1d23292f383f45525d68707d8a95a0acb8c7d1d9cec4b7aa9d918477685e5246392d2014070000000000000000000000000000050b1014191e2024292c2e34383a3d4347484c4745403931271d120700000000000000000000000000000000000000050d18212c3945515d6775818e9ba8b4c1cedbdacfc1b5a89b8e8275685b4f422d22170b0000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4cedad0c5bcafa59d9184796d60574d42372b1f160c01000000000000000000000c18232e39424f59616e7a85929fa7b1bdc7d2dfd8cec6b9ada1968d80746a5f544a3f32291f11080000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000010c161f2b3744505b65707d89949eabb5c0ced8dfd2c5b9ac9f92877b7784919eaab7c4d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a232b323b424a50575e61696e747a7f83878b8e9196959798999a9a9a9a99989698928f8c88847f7a736d68605b5364707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5864717e8a96a1adb9c6d0d4c7bbafa3998d8174685e52463a2f3845515c67727f8c98a2aebdc6d1d3c6baada2978b7f72655b5044372b1f120400000000000000000000000000000000000000000000000000000007131f2b3844505b666f7c87939fa4acb2b9bbc0beb6afa8a19e9a979695958a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667784909daab7c3cfddd2c6b9ac9f93877b6e61594f443a3229211a140f0b0605020000000000010406090e12181d262d35414c56616b7783909dabb5c0cbd7d1c5b8aca096877a6e6154473b2e211408000000000000000000000000000810171c1f252a2d2f35393a3f4446494e53555953514b43392f24180c000000000000000000000000000000000000000006101d2935404b556673808c99a6b3bfccd9ddd0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d7cec1b8aca0968c7f73695f53463e31281e130800000000000000000004101c2834404b54606b75818e97a2adb9c3d0d9dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000007131d2834404a54606c7883909da6b0bdc7d2e0d4c8bcb1a79b8f82757885929eabb8c5d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c353d444d545c60696e757b81868b9095989b9ea0a8a3a5a6a6a7a7a6a6a5aaa29f9c9996918b85807a716c655d64707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4653606d7984919eaab4bfcbd6cbc0b5ab9f92867a6d61554b41353f4a54606d7985919eaab4becfd7cbc0b5ab9f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a727f8c939aa1a8acafb5bdc0bbb2adaba7a4a2a2978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dccfc2b6a99c8f8276695e53473d322820170f09030000000000000000000000000001070b141c242f3a444f5965727f8c99a3afbbc7d4d4c8bdb2a896897d706356493d3023160a00000000000000000000000008121a22282d30363a3b4145474a505356585f6266605d554b4035291d100400000000000000000000000000000000000000010d18242f3e4b5864717e8b97a4b1becad7ded1c5b8ab9e928578665b5044382b1f120600000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d4c8bdb2a89f92867b6e615a50433a2f24190b0200000000000000040d1a242c3845515c66707d89939ea9b3becbd5e2d6cabfb4aa9e948a7e71675d51463c2f261c0e05000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000010d18242f3844515c66717e8a959fabb8c1d0d9ded1c4b8aca095897d707986929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363e474f565e666d727b81878e92999d9fa7a7aaacb2b0b2b3b3b4b4b3b2b2b4aeaca9a8a09d98928d857e776d6864707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3844505c66727f8c98a3aebac7d3d1c7baaea3988d8073675d51453944505b66727e8b97a1adbcc5d0d4c7bbafa3998d8073675d5141382d22170b00000000000000000000000000000000000000000000000000000000000b17222d38424e58626d737f8891969b9fa4abb5c0c4bdb9b8b3b0afa3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8899a3aebac7d3d7ccc0b5ab978a7e7164574d42352b20160e050000000000000000000000000000000000020a131e28323e4754616e7a86929facb9c5d2d9cebeb2a5988b7f7265584c3f3225190c000000000000000000000005101a242c33393b4246474b5154545c6063676a6f726d675d5145382c1f13060000000000000000000000000000000000000000071623303d495663707c8996a3afbcc9d6dfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0d9cec3baaea3988f82766c61554c4135291d140a000000000000010c161f2a36424d57606d7984919da5afbcc5d0dddbd3c7baaea2988f82756c61554b41342a1d140a00000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000004111d2935414b55606d7984919ea7b1bccad3e2d5c9bdb2a89d9083776d7a8799a3afbbc7d4d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d363e48505960696e787f868e93999fa3ababb1b4b7b8bdbdbfbfc0c0c1c0bfbebfbab8b6b2acaaa29f97928b827a6e69707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb8c2cdd6cbbfb4aa9f92857a6d60544b404653606c7884919ea9b3beced7d2c5b9ac9f92877b6e61554b402f261b1106000000000000000000000000000000000000000000000000000000000006111c262f3d46515b636d737d848b8f9399a4afbbc7c9c5c4c0bdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000a1724313d4a5764707d8a97abb4bfcbd7d4c7bbafa499877b6e6154483b3121190d0400000000000000000000000000000000000000010c16202d3946525e687784919daab7c4d0dacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000b17222c363e44494d5254555d6064666d7074777b7f796d6053473a2d22170b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e0d4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6d7cbbfb4aa9f948a7e71675d51453c2f261c1106000000000007131d28313a46535f69737f8c96a0acb7c1ced7dfd4c8bcb1a79f92867b6e615a50433a2f22190b0200000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000030e18212c3945515d67727f8b96a0acb9c3cddcded2c5b9aca0968a7e716e7b8794abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c363e48505a616b707b828c92989fa4abaeb4b8bcc1c4c5c8cecbcccdcdcccac9d0cac6c5c2bdb8b4aea9a19e948f847b6e707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6874818e9aa6b0bbc7d3d0c6baada2978c7f72665c51454f5964717e8a96a0acbbc4cfd4c8bcb1a79b8f8275695e53433a2f1d140a000000000000000000000000000000000000000000000000000000000000000a141d2b343f49515b636c70797e8286939facb9c6d2d2d1cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1825323e4b5865717e8b98a4b1bed1dcd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000005111e2a36414c566976828f9ca9b5c2cfdbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000004101c28333e485055565e6165676d7175797c808488897d706353493f33271b0f05000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e3d7ccc0b5ab95887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000a141d2935404b55616b75828f98a2aebac3d0d9d1c6bcb0a69e91847a6d60584e42382d22170b02000000020b18242f3a43505a616e7b86929fa8b2bdc9d3e0d7cdc5b8aca0958c7f72695f53483e31281d10070000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000915202a36414d56606d7a85929ea8b2bdcbd4dfd5c9beb3a99e9184786d6f7b8895a2aebbd1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616c717d8590949fa2aaafb5babfc6c7cdd1d2cfcac6c5c2c0bfbebdbdbec0c1c4c6c5bebab3ada69e9691847b707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88949fabb7c4ced6cabeb3a99e9184796d60544a54606b7783909da8b2bdcdd6d1c4b8aba095897c6f63574d4231281d0b02000000000000000000000000000000000000000000000000000000000000010b151f2834404a545c606d727a80849199a4afbbc7d4d1d0cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1925323f4c5865727f8b98a5b2becbd8d1c4b8ab9e918578665c5144382c1f1206000000000000000000000000000000000000000000020e192530414e5b6874818e9ba7b4c1cedacfc2b5a99c8f8276695c4f4336291c10030000000000000000000814202d3944505a6164696e72767a7d8185898d91968d8073655b5044372b20170b020000000000000000000000000000000000030f1b27333f495366727f8c99a5b2bfccd8e8ddd2bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2d8cfc2b9ada1978d80746a60544a3f33281e14080000000a141d2935404b55616c75828f98a2aebac3cedbdacfc5bbafa59d9183786d60574d42362c1f160c000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000020e1a26313946525e6873808c97a1adbac4ceddded2c6b9ada1978b7e72666f7c8995a2afbcc8d5d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d46505a616c717e8792979fa6aeb4bbc0c7cbd1d4cec8c5c4beb9b8b5b3b2b1b0b0b2b3b4b8b9bec4c5beb9b0a8a09691847a7d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303a47535f6a76828f9ca8b2bdc9d5d0c5b9ada1978b7e71665b505863707d89959fabbac3ced5c9beb3a99d9083776b6054453b311f160c0000000000000000000000000000000000000000000000000000000000000007121d27313944515c666d757f868d9196a0abb5c0ccc8c5c4bfbcb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d192633404c5966737f8c99a6b2bfccd9d0c3b6aa9d9083776a544a4034281c100400000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d10030000000000000000000a1623303c4955616c70777b7e82868a8e92979a9e9e9184786c6053463e32291d140b020000000000000000000000000000000005121f2b3744505b6574818d9aa7b4c0cddae2d6cabeb3a994877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b95a0abb5c0ccd7d5c9beb2a99f93877c6f665b50443b3025190c030006111b262f3845515d67707d8a949eaab4bfccd5e1d6cabeb3a99d93897d70665c51453b31241a0d04000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000006121e2b37424d57616e7b86929fa9b3beccd5e0d5c9bdb2a89e9185796d63707d8996a3b0bcc9d6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1925303b444e58616c717e879299a1a9b0babec5ccd2d6cec9c3bdb8b7b3adaba8a7a5a4a3a4a5a6a8abadb3b7b9bdc1bab2a9a0968f817e8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5864707d8a96a0acb9c5d0d5c9beb2a99d9184786c60535f6a76828f9ca7b1bcccd5d2c6b9ada1978b7e7164594f4433291f0d04000000000000000000000000000000000000000000000000000000000000000c18232f3943505a606d78818c92989ea0a8b2bdc7c3bdb8b7b2afaea3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d1a2633404d596673808c99a6b3bfccd9d1c4b8ab9e918578665c5044382c1f1206000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad0c3b6aa9d9083776a5d5044372a1d11040000000000000000000a1724313d4a5764707e83878b8f92989b9ea2a9aaa0968a7d70645a50443b2f261d140c05000000000000000000000000000208121a202d394653606c7884919eabb8c4d1dedfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc4cfdacfc4bbafa4999083786c60564c41362a1e150b000b17222d38414e58606d7984919ea6b0bcc6d0ded8cfc6b9ada1978e81746b60544a4033291f120800000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000020c1a232e3a47535f6974818d98a2aebbc5cfdeddd2c5b9ada1968b7f726764707d8a97a3b0bdcad6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202a36424d56606a717e879299a3abb3bbc2cad0d7d0cac4bdb9b2acaaa9a19e9b9a9997969798999b9ea1a9abacb2b9bebbb2a89e938e818e9ba8b4c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26313c4653606c7884919eaab4becad6cfc4b8aca0968a7d716459626f7c88949fabb9c3cdd7cbbfb4aa9e9185796d6053463d3220170d0000000000000000000000000000000000000000000000000000000000000004101c2934404b55616c74808d939fa2aaacb2bac4bfbbb1acaaa6a3a1a1978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1926333f4c5966727f8c99a5b2bfccd8d2c6b9ac9f9386796d6053463a2d20130900000000000000000000000000000000000000000005121e2a36424d576976828f9ca9b5c2cfdccfc2b6a99c8f8376695c504336291d10030000000000000000000b1824313e4b5764717e8a939a9c9fa3aaabadb3b2a89d9083776c61564d41382f261e170f0b0600000000000000000003070d1319242a36424d57626f7c8996a1adb9c5d2dfded1c5b8ab9e928578675d5145392c20130600000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939fa9b2bdc9d5d7ccc0b5ab9f958b7f72685e52463d30271d12070f1b27333f49535f6a73808d96a1adb8c1ced8dcd1c6bdb0a69e92857a6d61594f42392e21180d0000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000a141e2c38434f59626e7b87929faab4bfcdd6dfd5c9bdb2a89e9184796d6064717e8b97a4b1becad7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b46525e696f7c869299a3abb5bdc5cdd6d6cec5bebab2aca8a09e9a97928f8d8c8b8a8a8b8d8e9197999ea1a8adb3bbbaafa59e938e939eaab6c2cfdbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3844505b66727f8b98a2aebac7d2d4c8bdb2a89d9083776b606975818e9ba6b0bbcbd4d3c7baaea3988c7f73665c5145382c1f13050000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8a929da5aeb4b9bdc4bdb5aea8a09d99969594948a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1825323f4b5865727e8b98a5b1bed1dcd4c7bbafa499877b6e6154483b30251a0d0400000000000000000000000000000000000000020b14212d3a46535e697784919daab7c4d0dbcec2b5a89b8f8275685c4f4235291c0f020000000000000000000714212d3a4754606d7a86929facacaeb4b8b9beb8ab9f958a7d70685e534941383029201b17110e090a09080809060b0f12181e252a363e46535f6974808d9aa8b2bdc9d5e1dccfc3b6a99c90837669554b4035291d1104000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d96a1adb9c1ced8d2c7bdb1a79f92857a6e61594f43392e23180c19222b3744505b656f7c87929fa8b2bdcad3e0d7cbbfb5ab9f948b7e71685e52473d30271c0f060000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000006111c2630384854606b75828f99a3afbcc6d0dfd9cdc5b9aca1968b7e72675c65727e8b98a5b1becbd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a616e7b849198a2abb5bdc7cfd6d5ccc4bcb3aea8a19e96918d898582807f7e7d7d7f808185898d91969ea1a9afb6b7afa59e9b9ea5afbac6d2ded8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7a85929facb6c0ccd8cec3b8ab9f95897d70636e7b87929facb9c2ccdfd2c5b9ac9f92867a6d61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7984919ea4aebabfc5c7beb5aba39f95918c89888787877d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1724313e4a5764717d8a97aab4bfcbd7d7ccc0b5ab978a7e7164574d42362a1f160d040000000000000000000000000000000000020b141d29323b4854616e7b87939facb9c6d2dacec1b4a79b8e8174685b4e4135281b0e020000000000000000000713202c3945525d6876828f9caab4babfc5c6c8bcb1a79e92857a6e655b534a423a322b27221b1a17171615151617171c1f242930363e48505a616e7b86929facb8c4cfdae4d8ccc0b6ac9a8e8174675b4e412f24180d010000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7a84919ea6b0bcc6d0d9d0c3baaea2988e81756b60554b4034281f151e2935414c56606c77839099a3afbac4cfdcdbd3c7bbaea3999082776c60564c41352b1e150b000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000b17232e3842505a636f7c89939eabb5c0ced7e2d4c8bcb1a79e9184796d605566727f8c99a5b2bfccd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626c76828f96a1aab4bdc7cfd9d4cbc3bab2aaa29f96918a84807c79757472717071727375787c80848b92979fa4acb4b7afaaa8aaafb7c1cbd7e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6774808d9aa4afbbc8d4d4c8bcb1a79c8f82766a74818d99a3afbbc7d4d3c7bbb0a69b8e8174685e5242392e23180c0000000000000000000000000000000000000000000000000000000000000005111e2a36424d5765727e8b96a1acb6c0caccc0b6aca399928b847f7c7b7b7a7b796d6053473a2d201407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8898a3aebac7d3ddd2c2b5a99c8f8276695e52463d31281f160e08020000000000000000000000000000070c141d262f3b44505a66737f8c9aa4afbbc8d4d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000004111d2935414c5665727e8b98a2aebac5d0d2cdc3b9ada1978f82776c655c544c443e37332d2a262423222122232322282b2f353a4146505a626c75828f98a3aebac7d6e0e0d4c8bbafa49a8a7e7164574b3e312418070000000000000000000000000000000000000000000000000000000000000006111c26303c45515d67717e8a949eaab4bfcad6d6cabeb3aa9e93897d70675c51453c31261c26303846525e68717e8b949fabb5c0ccd6e0d5c9bdb2a89f92877c6f655b50443a3023190c03000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000003101c28343f4a54616c7683909ca5afbdc7d1e0d9d0c7b8aca0958a7e71665c596673808c99a6b3bfccd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202d3946525e68717e8b949fa9b2bcc6d0d9d4cac2b9b1a8a098928c847e78736f6d6667666463646566656c6f73797f858d939aa2aab2bab6b4b6bac1c9d3dde4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935414c55616e7b87939facb9c3ced8cdc3b7ab9f94887c6f7a86929fabb5c0cbd7d0c4b7ab9f94887c6f62564c4130271d1207000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca8b2bdc8d4c8bbafa49a92877f7873706e6e6e6e6d675c5145382c1f1306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dfd2c6b9ac9f93877b6e61594f433a31282019130e090603000000000000000205080d12181e262f38414d56626c7784919dacb6c0ccd8d4c8bcb1a7968a7d7063574a3d3024170a00000000000000000000010d19242f3a4754616d7a86929faab3becad6d5c9beb3a99f948d80776d665e565046443f38363131302f2e2e2f302d33383940454c525a616c717e8b949eaab4bfcbd6e8dfd2c6b9ac9f93877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f98a2aebac3d0d9d0c5bcafa59e9184796d60574d42372b232e38424f59616d7a85929ea6b0bdc7d1ded7cec5b9aca1968d80736a5f53493f32281e110700000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000020c16202b3844505c66707d8a949fabb7c1cfd9ddd2c7beb0a69d9083786c60545a6773808d9aa6b3c0cdd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090707070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2a36424d57616e7a85929fa6b0bbc4ced8d6ccc2b8b0a7a09691857f79716c6563605c545958575758535b6062666d727980889298a1a8b2bbc1c2c6cbd3dbe5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19242f3a47535f6975828f9ca7b1bcc8d4d3c7bbb0a69b8e8175808c98a3aebdc7d1d5c9bdb2a89c8f83766a5f53443a301e150b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b87939facb9c4cecbc0b5ab9f93887d726d666362616161605c554b4034291c1004000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667683909ca9b6c3cdd8d4c7bbafa4998d80746b60554b433a3229251e1a1312100b060b0a0b0c090e1214191c23283038424a535e68717e8b96a0acbec7d2ddd1c4b8aca095877a6e6154473b2e21140800000000000000000000000813202d3946525e6873808d98a2aebac5d0d9cfc5bbb0a69d928d81786d68615a53504946423f3e3d3c3b3b3c3d3e3f44464b51565e616c717e87929fa6b0bcc6d0dce2d6cabeb3a99d908376685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b86929fa7b1bec7d2d7cec1b9aca0968c7f73695f53473e3128343f4a54606b74818e97a1adb8c2cfd9dbd0c5bcafa59e9184796d60584e41382d20160c0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000008131e2935404b55606d7884919da6b0bcc9d3e1d8ccc0b6ac9f94897d70655b505a6774808d9aa7b3c0cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231614141414141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46535f6974818d97a2adb8c2cdd6d9d0c4bab0a69f9590847b726d67605b5353504a4c4b4a4a4c495053545c60676d737e869196a1a9b3bdc6d1d7dde5ede4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4233271c0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d5763707d8995a0acb8c5cfd8ccc2b9ac9f93877c85929faab4bfcfd9d2c5b9aca0968a7d7064584e4332291e0c0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a9aa4afbbc8d3c7bbafa3998d80746b605c545554545453514b43392f23180c00000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a5466727f8c99a7b1bcc8d4d7ccc0b5ab9f93877d6f675d554c443d35302b26201f1c171918171718191a1e21252a2e343c424a545b656e7b85929fa8b2bdd0d9ddd0c3b6aa9d908377685e5246392d201407000000000000000000000005111d2a36414c56616d7a85929fa9b3bec7d2d6cdc2b8aea49d938e827a716c63605b53534d4c4a4a494848494a4b4a5053555d60686d757e879299a3afb8c1ced8e2dbd3c6baada2978b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000008131e28313e46535e69727f8c95a0acb6c0ccd8d4c8bdb2a89f92867b6e615a50433a2f3844505c666f7c87939fa9b3becbd4e1d6cabfb4aa9e938a7d70675d51463c2f261b0e050000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000010d1925303945515d67717e8b95a0acb8c2cddbe0d4c8bbafa49a8f82766b6053495b6774818e9aa7b4c1cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23212121212121212121212121212121212121212121212121212121212121212121212121212121201f1c18120b03000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3becad4ddd2c7beb2a89f9490837a6e69605c55504946443f3f3e3d3e3f3f44464b51555d606c707c849197a2abb5bfcbd7dfeaf5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569594f44382c20170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313c4854606b7784919da9b3becad6d4c7bbafa49991859197a2adbcc6d0d6cabfb4aa9e9184786c6053463c3220170d0000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99acb6c0ccd2c5b9ac9f92867a6e6159504a484847474745403931271d120700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b17232e3c4855626f7b88959fabb8c4cedad2c7bbafa4999184796d675e564e46413a37312d2b2823252524242526262a2d30363940444d545c666c77828f97a2adbac3cee2d3c7bbb0a6998c807366564d41362a1e11050000000000000000000000010d1925303a46525e6873808c97a1acb6c0ccd8d4cac0b7aea59e948f857e76706c65615f57595756555455565657545b6062676d727a818a9299a3abb5c0cad3e0ded5c9bdb2a99f9285796d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfd9cec3baaea3988f82766c61564c4136424d57606d7883909aa4afbbc5cfddd9d0c7baaea2988f82756b61554b40342a1d140a000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000005111d2a36414c56606d7984919ea7b1bccbd4ded7cbbfb4ab9f93877c6f62594f4e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c030000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818e99a3aebbc5d0dcd8ccc0b6aca19690827a6e685f57514b443f3a38342e3130312d33373940454b515a616a6f7b859299a3aebbc3cdd9e4f0e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776b6054483e33291f150d05000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2c38444f5965727e8b97a2adb9c7d1d7ccc0b5aba1979197a1a9b3beced8d3c6baaea2988c7f72665b5044382b1f12050000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2d2cfc2b5a89c8f8275685e52443f3b3b3b3b3a38342f271f150b0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000615212e3a47535f6a7783909da8b2bdc9d5d7ccc0b5aba0968f82796d686058524c47423c3a38342e32313031323331363a3b41464a51575f666d78818e949ea9b3beccd5d9d0c7b7ab9f94887c6f6255483c3025190e0200000000000000000000000008131e2935414c56606d7a85929aa4afbbc2cdd6d2c9c0b7afa69e97928a827d78726e696865646362616162636466666c6f74797e858e939fa3abb5bdc7d1dcdfd5ccc3b9ada1968c7f73675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000040d1a25313b44515c666f7c88939fa9b3bec9d5d7cbbfb4aa9f948a7e71685d52453c46525e69727f8c95a0acb6c0cdd7ddd2c7bdb1a79f92867b6e61594f43392f22180b02000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600040e19222d3946525e68737f8c96a1adb9c3ceddded3c7baaea3998e81756a5f54474e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7a86929fabb5bfcdd7dfd4c8bbafa49a91847a6d685e564d454039332d2b282325242422272b2e343a404550585f69707d87929fa7b1bcc8d4dee8e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ded1c5b8aca095897d70635a50453b31271f170e0a0401000000000000000000000000000000000000000000000000000000000000000000000000000003101c27333d4753606d7985929eabb5c0cbd7d2c7bdb3a9a19ea1a9b3bbc5cfd8ccc0b6ac9f92857a6d60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfccbfb2a5998c7f7266564c41342e2e2e2e2d2c29231d150d030000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2b37434e5864717e8a96a1acb9c2ced7d2c7bdb2a89f948f837a6f6a615e56534d4946443f403f3e3d3e3f40404246484c52545c60696e78818e939da6b0bbc5cfddd2c7beb1a79c8f82766a5f53473a2e1f140800000000000000000000000000020d1925303a45515d67707d88939fa6b0bbc4ccd5d2c9c1b8b0a9a19e948f8a847f7b78757271706f6e6e6f70717376797c81858b92979ea5afb5bdc7cfd9dfd6cdc3baafa59e9184796d60554b403529170c0200000000000000000000000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a1adb9c2cfd8d1c6bcb0a69e91857a6d60584e434f59616e7b86929fa7b1bec7d2dfd7ccc0b5aba0958c7f72695e52473e31271d100600000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000a15202a36424d57616d7a85929fa9b2bdccd5dfd6cabeb3a99f92867b6e61584e434e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494747474747474747474747474747474747474747474747474747474747474747474747474747474747474645403930271d120700000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8c99a3afbdc6d1dfd4c8bcb1a79f93887d70685d564d443c342f27221f1c17181717171b1f23282f353e464e57606b727f8b95a0abb8c1ccd7e3e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79c8f82766c61574d43393129201b15110d07080706060708090b0909070300000000000000000000000000000000000000000000000000000b161f2c3945515d6773808d99a3afbbc7d3d9d0c4bbb3adabadb3bbc4cdd7d4c8bbafa49a8d8074685d5242382d22170b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023212121201f1c18120b03000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030f1b26313c4653606d7984919ea6b0bcc5d0d9d0c4bab0a69f9590837c746d68625f575553504a4c4c4b4a4a4b4c4d4d5355565e61666d727b828e939da5afb8c1cdd7d8ccc0b6ac9f958a7d7064584e43372b1f0d02000000000000000000000000000008131e2935414c55616b73808d949fa9b2bac3ccd4d2cac1bbb3ada69f9c96918b8885827f7d7d7c7b7b7c7d7e808285888d92989ea1a9afbbc0c7cfd9ded6cdc4bbb2a89e938a7e71675d5143392f24180500000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424f59606d7a85929ea6b0bcc6d1d8cfc2b9ada1978d80746a60544b55616b75818e98a2aeb9c3d0d9dcd4c7bbafa4999083786d60574d42352c1f150b0000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206020b1b27323a46535f6974808d98a2aebbc4cfdeddd3c6baada2978d8073695e5346424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565454545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b42392e23180c00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb5c0cfd8ded1c5b8aca0958d80736b60564c433b3229231d1712100b060a060b0f12181d2429343c454f59606c7883909da6b0bbc6d2e2e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e4d9cec3b7ab9f948a7e71695e554b433b322b26201d181514141313141516181615130f0a0400000000000000000000000000000000000000000000000004101d2935404b55616e7b86929facb9c3cdd8d6cdc4beb9b8b9bec4cdd6dfd2c6b9ac9f93877b6e61564c412f261c110600000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221614141413100c070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000a151f2c3844515c66717e8a949fa9b3becad6d6ccc2b8b0a79f959188817a736e696562605c54595858575758595a575f6164686d72797f8690949ea5afb7c1cad3d6cdc5bbafa49a9083786c6053463c31261b0f000000000000000000000000000000020d19242f3a434f59606d78829097a1a8b1bac2cbd5d3cdc5beb9b0aba8a09d9897918e8c8a8988878889898a8d8f92989a9fa2aaadb3bbc1cbd1d9dad6ccc4bbb3a9a0968e81756c61554b4031271d1207000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d45525d68717e8b949faab4bfcbd7d5c9beb3a99f93877c6f665b515c67707d89939eaab4bfcbd5e1d5c9beb3a99f93877c6f665c50453b30231a0d030000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12000a141d2b37434e58616e7b86929faab3becdd6dfd5c9bdb2a89f92857a6d61574d42424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626161616161616161616161616161616161616161616161616161616161616161616161616161616161616161605c544b4034281c1004000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a0acbdc7d1e1d5c9beb3a99d9183796d60594f443a31292018120b0603000000000003070c1318222a333d44505b65707d89939eaab6c6d0dbe7d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfdfd3c7bbb0a69f92857b6e675d554c443d37322c29242221201f202121232523221f1b160f070000000000000000000000000000000000000000000000000c18242f3946525e6975828e9ba7b1bcc8d4dfd6cfc9c6c4c6c9cfd6dfd4c8bcb1a79c8f8275695f53433a2f1d140a0000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0c7bbaea194887b6e6155483b2e2215080807060400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000004101c2834404a54616c76828f97a2adbabfc8d7d4cac2b9b1a8a09a938e85807b76726f6d6667666564636465666768696e71757a7f848c92989fa6afb7c1c9d2d7cdc5bbb1a79f93877c6f655b5044372a20150a0000000000000000000000000000000008131e28313e44505c666e7b859196a0a8b1b9c1c9ced7cfcac2bbb7b2acaaa9a19e9b989796959494959697999c9fa2aaabaeb3b9bec5cdd7dcd7cfcac2bab2a9a19791847a6d605a5043392f1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9cfc4bbafa4999083786c6057606d7984919ea5afbcc5d0ddd8cfc6b9ada1978d80746a60544a3f33291f1108000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206111c262f384754606a75818e99a3aebcc5d0dfd9cec5b9ada1968c7f72685e52453b424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f1306000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa8b2bdcfd9dfd2c6b9ada1978b7e71675c51473d32281f170e0701000000000000000000010710182127333f4953606b75828f9baab4bfcad6e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe4d8cdc2baada2979082796d675e564f47433c39352f2f2e2d2c2d2d2e3031302f2c2721191007000000000000000000000000000000000000000000000007121d2a36424d57636f7c89959fabb8c4cfdae1dad5d2d1d2d5dae1ded1c5b8aca095897d7063574d4231281e0b020000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baada194877a6e6154473b2e2114080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000c18232e3942505a616e7b85929fa4adb6c0cbd1d4cbc2bab1aca49f97928d88837e7c797674737271707172737375787b7e81868c91969fa3aab0b8c1c9d2d5cdc5bbb3a99f958d80746a6053493f3327180e0300000000000000000000000000000000010c161f28343f4a545e696e7c8491959fa7afb9bdc4cbd1d6ccc7c3bdb8b7b2adaba8a5a4a3a2a1a1a2a3a4a6a9abaeb4b8babec5c9cfd6d8d3cdc5beb9b0a8a19791857b6e685d52483e31281d0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d7ccc0b5aba0958b7f72685f6973808c96a0acb7c1ced7dcd1c6bcb0a69e91857a6d60584e42382e21170d00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120b17222d38424f59626f7c87939fabb4bfced7e2d4c8bcb1a79e9184796d60564c4133424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bcb0a396897d7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a786d6053463a2d201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697784919daab7c4ceddd7cbc0b5ab9e9285796d60554b40352b20160d0500000000000000000000000000060f17222d38414f5964707d8a98a2aebac6d3dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe9ded6cabeb3a99f948f82796e686159534e4745403e3b3b3a38393a3b3c3e3c3b38322b22190f0400000000000000000000000000000000000000000000010e1a25303b4854606b7783909da9b3bec9d5e2e6e1dfdedfe1e6e2d5c9beb3a99d9083776b6054453c311f160c000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000007121c27303e46535f69707e8a929ca4aebbc0c7cfd6ccc3beb6afa9a29e9a94908b888583807f7f7e7d7d7e7f808285888a8e92999ea1a8aeb4bcc2cad3d5ccc3bbb3a9a1979083786d60584e41382d221706000000000000000000000000000000000000040d17232e38424d565f6a6e7b8390959ea5acb2bbc0c7ccd2d3cec8c5c4beb9b8b5b2b0b0afaeaeafb0b1b3b6b8babec5c6cad0d5d6d3cdc7c1bbb3ada69f9691857c6f695f564c41362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d2c7bdb1a79f92857b6e626e7b86929fa8b2bdc9d3e0d7cbbfb4aa9f948a7e71685d52463d30261c0f0500000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120f1c28333f4a54606b76828f9aa4afbdc6d1e0d9d0c7b8aca0958b7e71675d51443a30424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a5998f89878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8895a0acb8c5d1ded3c7bbafa3998c8073675c5143392e23190e0400000000000000000000000000000006111b262f3d4753606d7985929facb8c5d2dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dff2e6dbcfc5bbb0a69f948f827a706b625f5853514b4a48474745464748494b4948433d342b21160a000000000000000000000000000000000000000000000009141f2c38434f5964717e8b97a1adb9c6d1dcd5d5d5d5d5d5d5d5d2c6b9ada1978b7e7165594f44332a1f0d040000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000b151e2a36424d57616c73808c929da4afb5bdc3cad0d0c7c0bbb3adaba69f9c989892908d8c8b8b8a8a8b8c8d8f9197979b9fa3abacb2babfc6ced7cec9c1bab2a9a29792857b6e665c51463d2f261b11060000000000000000000000000000000000000006111c26303b444e585f696e7a838e939ea1a8afb5bbc0c7c9cfd3d1cfc9c6c4c1bfbdbcbbbabbbcbcbdc0c2c5c6cad0d3d6d3cfcac6c2bcb7afa9a19e948f847b6f6a5f574d433a2f241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfd9d0c3baaea2988e81756c76828f98a3aebac4cedbdbd3c7baaea3988f82766c61564c41342b1e140a0000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f0c16202b3844505b66707d89949facb6c0cfd8ddd2c7beb0a69d9083786c60554b403235424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dacdc2b6aba199969494949494949494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a8b1bdc8d4dfd2c5b9ac9f92867b6e61554b4030271d110700000000000000000000000000000000000a141f2c3845515c6775828e9ba8b5c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfeee8e1d7cdc2b8b0a69f948f857d756f6a64605d555755545351535454565856544f463d32271b0f0300000000000000000000000000000000000000000000030f1b27323d4653606d7985919eaab4bfcbc8c8c8c8c8c8c8c8c8cbbfb5ab9e9285796d6053473d3320180e000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bcafa295897c6f6256493c2f2316090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030c1a26313b45505a636d73808d929fa3abb1babfc6ced2ccc5beb9b8b0aba9aaa29f9c9a999897969798999a9b9ea1a9a8acaeb4b9bdc4cbd0d1cbc4bdb9afa8a09792857c6f695f544b40342b1d140a0000000000000000000000000000000000000000000a151e29323c464e575e686d79818a91969fa3abafb5b9bec4c7cad0d1d2d1cecbcac9c8c7c7c8c9cacccfd2d3d2d1d1cbc7c5bebab8b0aba59e97928b827a6e695f584e453b31281e12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d6cabeb3aa9e93897d717e8a949faab4bfccd5dfd4c8bdb2a89f92867b6e615a50443a2f22190c020000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f131e2834404b55606c7883909da6b0bec7d2e1d8ccc0b6ac9f948a7d70665b5043392f35424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c7bdb3aba5a3a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546774818d9aa7b4c0ced9dbcfc2b5a89c8f8275695e5243392e1e150b00000000000000000000000000000000000004101c2934404b5565727e8b98a5b1becbd8d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ebe4ddd8d4d2cbc2b8b0a69f979289827c75716d6766646261605d60606163646360594f43382c1f130700000000000000000000000000000000000000000000000a161f2c3845515c66737f8c98a3aebabbbbbbbbbbbbbbbbbbbbbbbbaea3998c8073675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000009141f29333e48525b646e73808b9299a0a7aeb4bcc2c7cdcfcac6c2bcb7b6b4aeaca9a7a6a5a4a3a4a5a6a6a8abadb3b4b9babfc6c9ced1cbc6bfbab2aca59e9691857c6f6a5f574d42392e22190b02000000000000000000000000000000000000000000030c17202a343c454d565e676d757d848d92999fa4abadb3b8babfc1c4c5c9cecccdcececfcfcecdcccbcbcec8c5c4c1bfbab9b3adaba69f9c938e857e766e685f574e463c33291f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2834404b55606b75818e97a2adbac2cfd9d0c5bcafa59e91847a85919ea6b0bcc6d1ded7cdc5b8aca0968c7f73695f53483e32281e1007000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f19242f3845515c67717e8b95a0acb8c2d0d9e0d4c8bbafa49a8f82766b61544a3f312735424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc5bdb6b1b0adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909da9b6c3d0dcd7cbbfb5ab998c7f7266564d4230271d0c03000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e2d9d2ccc8c6c6c8c2b8b0a9a19e938f87827e7a7573716e6e6d676c6d6e6f716f6b6054483b2f221509000000000000000000000000000000000000000000000004101c2834404b54616e7a86929facaeaeaeaeaeaeaeaeaeaeaeaeaeac9f92867b6e61554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed2cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000030d18212c364049525c646e737f8791959fa2aab0b7bbc2c6c9cfcdc7c4c3bfbab8b6b3b2b2b1b0b0b1b2b3b5b8b9bec1c5c7cbd1cec8c6bfbab4aea8a09e938e847b6f6a60584e453b30271d10070000000000000000000000000000000000000000000000050e18222a333b444c555d606b707980878f93999ea1a9acaeb4b4b7b9bdbebfc0c1c1c2c2c1c0c0bfbebdbdb9b7b4b4aeaca9a29f9a949089817a716c615e564d453c342a21180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa6b0bdc7d1d7cec1b9aca09691849197a1adb8c2cfd8dbd0c5bbafa59e9184796d60574d42362c20160c00000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1d2935414c56606d7984919ea7b1bccad4e2d7cbbfb5ab9f93877c6f62594f42382d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d7cfc7c2bebcbabababababababababababababababababababababababababababababababababababababababababab0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfd3c7bbaea399897c6f6356493c3023150b00000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3d9d0c7c0bbb9b9bbc0c2bbb3ada69e9a938f8a8682807d7b7a7a79797a7b7c7e7d6f6356493c302316090000000000000000000000000000000000000000000000000c18232e3946525e6874818e9ba6a2a2a2a2a2a2a2a2a2a2a2a2a2a79b8e8175695e5243392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96acb6c0cccbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120602020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000060f1a242e37404a525c646d727d838c92989fa6abb0b8b9bec5c6cad0d0cac6c5c3c0bfbebebdbdbebfc0c2c4c6c9cfcfcfc9c6c3bcb8b4aeaba39f96918a817a6e6960584e463c33291e150b00000000000000000000000000000000000000000000000000060f182129323a434b515961676d737c82878c91979c9fa2aaa8abacb2b1b2b4b4b5b5b5b4b4b3b2b1b0b2acaaa8aba39f9c97928d88837d756d68625a524c443c332a22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949fabb5c0cbd7d4c8bdb2a8a0969196a1a9b2becad4e1d6cabeb3a99e93897d70675c51453c31241a0d0400000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c18222c3945525d68727f8c96a1acb9c3cddcdfd3c7bbaea3998e81756a6054473e2f262835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e1d9d3cdcac9c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a3aebac7d3dfd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6ddd2c7beb6afacacafb6bec5beb9b0aca49f9c98928f8d8a88878686868787898a7d7164574a3e3124170b00000000000000000000000000000000000000000000000007121d2a36414c56626f7c889495959595959595959595959595959595897c6f62564d4231271d120700000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b889aa4afbbc8cdc0b3a79a8d8074675a4d4134271a080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f14212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000008111c252e38404a525b626b6f787f868f949c9fa6abadb3b8babfc1c3c6c7ccd2cdcccbcac9cacbcccccbd0cac6c5c2c0beb9b8b1acaaa39f99928c847d756d685f574e463d342a21180c030000000000000000000000000000000000000000000000000000060f172028313940454f555d606a6f757b80858a8f9298989b9ea1a8a4a6a7a7a8a8a9a8a7a6a5a4a3a8a09e9b9899928f8a85807b76706b615e565046413b322a2118100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4ced9cec3bab2a8a19ea1a8b2bbc4cfdcd9cfc7baada2978e81756b60554b40332a1f12080000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c202a36424d57606d7a85929ea8b2bdcbd5dfd6cabeb4aa9f92867b6e61584e43352c1d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0efe6dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcabdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996aab4bfcbd7dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d8ccc0b6aca49f9fa4acb6c0c9c1beb6afacaaa29f9c99979594999292999497887b6e6155483b2e221508000000000000000000000000000000000000000000000000000d1925303b47545f6a7682888888888888888888888888888888888882766a6054443b301f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cec2b5a89b8f8275685c4f423024190d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000a131c262e384048515960666d727b828a90949a9ea1a9acaeb4b4b7b9bbc0bfc0c1c1c2c2c2c1c0bfbebdbebab8b6b3b3adaba7a09d98928e868079706b615e564d453d342b22180f0600000000000000000000000000000000000000000000000000000000050e161f282f353e434b51586062696e73797d8285888b8e91969697999a9b9b9c9c9b9a999898979696918e8b8986837e79746f6a636159524c443e36302920180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d5ccc3bab2adabadb2bac4cdd6dcd1c7bdb1a79f92857a6e61594f43392e21180e000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c26313a46525e6973808d97a2adbac4ceddded3c6baaea2988d8074695f53463d32231a2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f1e6ddd5cdc8c4c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed1dcdacdc0b3a79a8d807467554b4034291c100400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d4c8bbafa49a93939aa4afbbc0ccc7c0bbb9b4aeaca8a6a4a1aba39f9fa39e928578695f53463a2d2114070000000000000000000000000000000000000000000000000008141e2b37434e58616d7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d61584e4332291f0d0300000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677884919eabb8c4d0c3b7aa9d9084776a564c4135291d110500000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000010b141c262e363f474f545c60696e767d83888d92979c9fa2aaa7aaacafb5b2b3b4b5b5b5b5b4b3b2b1b1b4aeaba9a6a9a19e9a95908b86817b736d676159524c443c332b22191006000000000000000000000000000000000000000000000000000000000000040d161d2429313a40454e54575e61666d7176797c7f818487898b8c8d8e8e8f8f8e8d8d8c8b8a898784817f7c7976716d67625f58554f46413a322a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d5ccc4bdb9b7b9bdc4ccd6dfd7cbc0b5ab9f958b7e72685e52473d30271d0f06000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2b37434e58616e7b86929fa9b3beccd6dfd5c9beb2a99f92857a6d61574d42342b201b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d8cbbfb2a5988c7f7265594c3f2f23180c0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c6b9ac9f938886939fa5afbbc0c7ccc8c6bfbab8b5b3b0aeb4aeacaca99c8f827669574d42362a1e120500000000000000000000000000000000000000000000000000020f1b26323c46525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e52463d3220170d0000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55697683909ca9b6c3cfc5b8ab9f928578685d5246392d20130700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524539353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000000000020b141c242d353d424a51575f616c70767b80858a8f9298989a9d9fa4aba5a6a7a8a8a9a8a7a6a6a5a4aaa29f9c999797918d88837f7a756e6a605d554f46413a322a211910070000000000000000000000000000000000000000000000000000000000000000040c12181f282f353c43474d53545c6064666d6f7275787a7d7e7f81818282828181807f7e7d7c7a7775726f6d6764605c55534e48443d3630292019140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0dbd6cfc9c5c4c5c9cfd6dedcd4c7bbafa3999083786c60564c41352b1e150b00000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2e3a47535f6a74818e98a3aebbc5cfded9cec6b9ada1978c7f73685e52453b3122191b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cdc3b9b1abaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad7cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c5b8ac9f92867f8c939da5afb5bdc3c9cfcac7c5c2c0bdbbbfbab9b3a6998c807366594d4031261a0e0200000000000000000000000000000000000000000000000000000a15202a36414c565e616262626262626262626262626262626262615e564c41342b200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f414e5b6874818e9ba7b4c1cec6baaea298877a6d6154473a2e21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52454242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000020a121b232b303940444d535a6164696e73797d8285888b8e90939997989a9b9b9b9c9b9a9a9998979698928f8d8a8785817c77726d68625f57514b433e35302820180f070000000000000000000000000000000000000000000000000000000000000000000001070d161d242932373b42464a5153545c60626568696e7071737474757576757473727170706d68686562605c5553514b47433c38332a251e170e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6e2dad5d2d1d2d5dae0e0d5c9bdb2a89f92877c6f665b50443b3023190c0300000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c38444f59626f7c87939faab4bfcdd7e1d4c8bdb1a89e9184796d60564c41332a1f101b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c8bcb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd6cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6cec5b8ac9f928579818e939fa4abb1b9bdc4c8cdd2cfcccad1cbc7bdb2a8978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000040d1925303a444c5254555555555555555555555555555555555554524c443a3022190f00000000000000000000000000000000000000000000000000000000000000000000000000000000000007192633404c5966737f8c99a6b2bfd2cabeb3aa95887c6f6255493c2f22160900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f54606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000910191e272e343b42465055575f62666d7175797b7e818486898a8c8d8e8e8f8f8f8e8d8c8b8a8a888583807d7b78746f6a65615d56534e4540393129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000040c131820272b3136394044464a51535558565e61636466676868696968676665656463615e56585653514b4745403937312c272119130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e98a2aebac3d0d9e3e1dfdedfe1e5e2d8cec6b9ada1968d80736a5f544a3f32291e11080000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453930394854606b75828f99a4afbcc6d0dfdbd1c5b8aca0958b7e71675d51443a3021180e1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd1c4b8aba095908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd5c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c1c1c1b8ac9f92857978818c9399a0a7adb2b8bcc2c5c6cad0cfd1c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000008131e29323a41464748484848484848484848484848484848484746413a32291e10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97acb6c0ccd0bdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000070c151c232831363e44494d53545c6064666c6f7174777a7c7e7f80818282828281807f7e7e7d7b797673716e696762605854524c47423c352f271f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1f252a2e34383a404446494c4d52545658595a5b5b5c5c5b5a5a5958575654524c4c494645403a38342f2b26201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2dde8ebeaebede7dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52452e3942505a63707d89949eabb5c0ced8e1d3c7bcb0a69d9184786d60554b4032291e0f0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c3b6aa9d9083838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383827d6f6356493c30231609000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb4b4b4b4b4ac9f9285796d747f8790959ea1a8abb1b6b8babfc0c2c4c4b8ab9e918478685e5246392d20140700000000000000000000000000000000000000000000000000000000020d1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8cbbfb2a5988c7f7265594c3f3226190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000000030b12181f262a33393c42474a5153545b60626567676d6f71727374757576757473737271706e6c666664615e5755544e4746413a373129241d150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2e34383a3c3f4246474a4b4c4e4e4f4f4f4e4e4d4c4b4a494746413f3c3a38342e2c29231d1a15100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b959fabb5c0ccd7e3f0f7f8efe2d6cabfb4aa9e948a7d70675d51463c2f261c0e05000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524534404a54616c7683909da6b0bdc7d2e0d9cfc7b7ab9f948a7d70665c5043392f20170c0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676766f6b6054483b2f221509000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd4c7baada194877a6e6154473b2e2114080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0a8a8a8a8a8a8a89f9285796c6d727c838b91969d9fa7a9acaeb4b4b5b7b9b5a89b8f827568564d41362a1e11050000000000000000000000000000000000000000000000000000000000050e171e252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cdc1b4a79a8e8174675b4e412f24180d01000000000000000000000b1824313e4b5764717e8a97a4ab9f92857875757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000000000070c141a22282d3137394044464a50535558555d6063646567686868696867676665646362605b545754524d4947433c3935302b262018120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f23282c2d2f30363a3b3d3e4041414242434241403f3e3d3d3a3935302f2d2c28231f1c18120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc7d4e0edf9f9ece0d3c6baaea2988f82756c61554b40342a1d140a00000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453844515c66717e8a959fabb8c1d0d9dcd1c7bdafa59c9083766c61544a3f31271d0e050f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696360594f44382c201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b6c3d0dcd3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b9285796c636a6f787f848a9095989c9fa2aaa7a9aaacaea6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000050d13191e2021222222222222222222222222222222222221201e19130d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677884919eabb7c4cfc2b6a99c8f837669554b4035291d1104000000000000000000000b1824313e4b5764717e8a97a4ac9f9287818282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828f9ba8b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000003090e171c20262b2e34383a3f4446484b4c51545657595a5b5b5c5c5c5b5a595857575553504a4a4846423c3b37322d29241e1a150c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012181c1f2022252a2d2e3031333435353636353433323231302e2d292523201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939facb9c6d2dfecf9ede1d4c8bdb2a89f92867b6e615a50433a2f22180b0200000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245414b55606d7984919ea7b1bccad3e2d7cbc0b5ab9e93897c6f625a5042382e1f150b000f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c56544f473d32271b0f03000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd4c8bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e85796c5860666d72797e83878b8f9298989a9c9e9fa3a896897d7063564a3d30231708000000000000000000000000000000000000000000000000000000000000000002080d11131415151515151515151515151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfc4b8ab9e918478675d5145392c201306000000000000000000000b1824313e4b5764717e8a97a4aea399928e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f939eaab2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000050b10151a1c23282c2d3338393c3e414547494b4c4d4e4f4f4f4f4e4d4c4b4b4a4846443f3e3b3a36302e2b27201d19130e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191e202123252627282829292827272625242321201d19161313100c070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d9aa7b3c0cddae6f3ebded1c5b8aca0968c7f72695e53483e31281d10060000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524545515d67727f8b96a0acb9c2cddcdfd3c7bbafa3998f82756a6054473e30261c0d03020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256505050505050505050505050505050505050505050505050505050505050505050505050505050505050504948443d352b21160b00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000613202d394653606c788181818181818181818181818174685b545c60666d71767b7f8385888b8d8f9192999496877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000010507070909090909090909090909090909090909070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3c0cdc5b9ada196867a6d6053473a2d201407000000000000000000000b1824313e4b5764717e8a97a4b5aba39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ea6b0b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000003090e12181c1f22282b2d2f2f35393a3c3e3f4041424243424140403f3e3d3b3938332d2e2d2a25221f1b15110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090e1114141718191b1b1c1c1c1b1b1a191817161413110d0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303946525e68727e8b98a5b1becbd8e4f1eaddd0c4b7aa9d9184796d60574d42362c1f160c000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f52414c56606d7a85929ea8b2bdcbd4dfd6cabfb4aa9f92877b6e62584e43352c1e140a00020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494343434343434343434343434343434343434343434343434343434343434343434343434343434343433c3b38322b23190f0400000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbd6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000006121f2b3844505b666c757575757575757575757575746f64594a50545c6064696e7276797c7e818284868788888477685d5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1bed0c9bdb2a895887c6f6255493c2f221609000000000000000000000b1824313e4b5764717e8a97a4b1b5aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aab0b4b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000070c1012171c1f202224292c2d3031323435353536353434333231302f2d2b282221201e1a15130f0a05010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0d0e0e0f0f100f0e0d0c0b0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59616d7a85929eabb8c5d1deebf8ebdfd2c5b8ac9f92867b6e615a50433a2f24190c020000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5246525e6873808c97a1adbac3ceddded3c6baaea2988d8174695f53463d32231a0c0200020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3636363636363636363636363636363636363636363636363636363636363636363636363636363636302f2c27211911070000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd7cabdb1a4978a7e7164574b3e312418060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000030f1c28333f4a545b6068686868686868686868686868645d5348444a5053575e6165666d6f72747677797a7b7c7c6f62564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0c0d0e0e0e0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3becacfbdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000004060b0f121315191d202123242627282829292928272625242422201f1c171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b74818e97a2adb9c6d2dfecf8ece0d3c6baaea2988f82756c61554c4135291e140a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b8ab9e9185786b5e524d57616e7a86929fa9b3beccd5e0d5c9beb3a99f92867a6e61574d42342b2111080000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f292929292929292929292929292929292929292929292929292929292929292929292929292929292322201b160f07000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddad8cbbeb1a5988b7e7265584b3f2d22170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b59534b41383f44464d5354545c6062656769666c6d6e6f6f6a5f53443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000020507060c101213151618191a1a1b1b1a1a191917161413110d0807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8797a2adbac6ccbfb2a6998c7f7366594c4033261908000000000000000000000b1824313e4b5764717e8a979b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000030606080d1113141618191a1b1c1c1c1c1b1a191818171513120f0b0607050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080a0c0d0d0e0e0d0d0c0a080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a242c3845515c66707d89939ea9b3becad6e2eefaefe2d6cabfb4aa9e948a7e71675d51453d30261c110600000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51535f6974818d98a2aebbc5cfded9cec6b9ada1978c8073685e52453c3122190f000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1615130f0b0400000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d9ccbfb3a6998c80736653493f33271b0f0300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392e34383b4246484a505355585a545b60606162625f584e4332281e1308000000000000000000000000000000000000000000000000000000000000000000000205080e111414171c1f20212325262727282827272626242221201d19171413110d080501000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413024190d010000000000000000000b1824313e4b5764717e8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000001040607090b0c0d0e0f0f100f0e0d0d0c0b0a0806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000306060b0f1213151719191a1b1b1a1a1917151313100c070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7984919da5afbbc5cfdbe6f2f2f3e7dbd0c6bcb0a69e91847a6d60584e42382e23170b03000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e4e58626e7b87929faab4bfcdd6e1d4c8bdb2a89e9285796d60564c41332a1f1007000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316101010101010101010101010101010101010101010101010101010101010101010101010101009090703000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcfdadbcfc2b5a89c8f8275655b5044372b1f120500000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000a141d262d33383942424242424242424242424241403c372f23282c31363a3b3f4446494b4e4a505354555555534e463c3220160c02000000000000000000000000000000000000000000000000000000000000000003090e1214191e202123282c2d2e3031333334343434333332312f2e2d29252421201d1913110d0802000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566a7683909da9b6c3d0c3b6a99d9083766a564c4135291d11040000000000000000000916232f3c4956626f7d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313120706040000000000000000060b0f1213171c1f20222425262728272726252422201f1c181413100c070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a46535f69737f8c95a0acb7c1cdd7e1ece6e5eaebe2d8cec1b9ada1968d80746a60544a3f34281f1409000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e54606a75828f99a3afbcc6d0dfdcd2c5b8aca0968b7f72675d51443b3021180e00000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a8b2bdc9d5ded1c5b8ab9e9285796c605346392d20130600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000020b141c22282b2d3535353535353535353535353534302b25171c1f252a2d2e34383a3c3f413f44464748494947433c342a200e0400000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2e34383a3b3d3e3f404141414140403f3e3c3a393530302d2c2924201d1913100b04000000000000000000000000000000000000000000000000000000000000000000010d192530424e5b6875818e9ba8b4c1cec5b8ab9e928578685d5245392c2013070000000000000000000915222e3b4854606a6f747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0a0b0c0b0b0b0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101220202020202020202020201f1312100c07000000030a0f11171c1f2022282b2d2e313233343434343332302f2d2c2823201f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19242f3a43505a616e7b86929fa8b1bdc9d2dfe0dcd9d8dedfe1e0d5c9bdb2a99f93877c6f665c50443b30251a0d040000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c4b7aa9d9184776a5e59626f7c89939eabb5c0ced7e1d4c8bcb1a79e9184786d60554b4032291e0f0600000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a1adb9c5d2dfd2c6b9ada297887b6e6255483b2e23170c00000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000020a11171c1f20282828282828282828282828282724201a0c10141a1e2123282c2d2f322d3338393a3b3c3c3b37322a22180e000000000000000000000000000000000000000000000000000000000000060b11171c1f262a2d3036393b3e3f444648494b4c4d4d4e4e4d4d4c4c4a49474641403d3a3935302d2a251e1b16100b040000000000000000000000000000000000000000000000000000000000000000081a2633404d596673808c99a6b3bfccc6b9ada197877a6d6054473a2d21140700000000000000000007131f2c38434e58606268686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686864615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060609070c1013141515161718191818171716151313100c07090706040000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2c201f1c18120b030b10151a1c22282b2d2d3338393b3d3f4040414140403f3d3b3a38342e2d2c29241f1b17110b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414c55616c76828f98a3aebac3cedbdbd4cfcccbd1d2d5dadacfc4bbafa4999083786d60574d42362a1f160c0100000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d616b7683909ca5afbdc7d1e0d9cfc7b8ab9f958a7d71665c50433a2f20170d0000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687884919eabb7c4d1ded6cabeb3a9978b7e7164544a3f34281c1003000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f0903090e1214171c1f20222522282b2d2d2e2f2f2e2b262018100600000000000000000000000000000000000000000000000000000000020a11171c23282b31363a3b4146474b4a5053545658595a5a5b5b5a5a5959575554524c4d4a4745413a3936302c27211b160e09020000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becacabeb3a995897c6f6256493c2f231609000000000000000000030f1b27323d464e54565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131518181d1f20212223242525252524242321201f1c1818161313100c070603000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939392d2c28231c150c161c20262b2d3338393c3f4446484a4c4c4d4e4e4d4d4c4a484645403d3a39352f2b27221b17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d67717e8a949eaab4bfccd5d9d1c9c4c0bfc4c5c9cfd6d7ccc0b5aba0958c7f72695e52463e31281d130700000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a5963707d8a949fabb7c1cfd9dcd1c7bdb0a69d9083766c61544a3f31281d0e050000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2d0dbdbcfc1b4a79a8e8174665c5044382c1f150a000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0e0e0c08030000000205060c1012131618171c1f2021222222211f1b150e0600000000000000000000000000000000000000000000000000000002080c141c23282e34383b4246484c525457545c606163646666676767676666656462615e565a5754524c4746413a38322c27211a140d0500000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cfbdb0a4978a7d7164574a3e3124170b000000000000000000000a16212b343d4348494e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e352c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1215171c1f20222524292c2d2e2f30313232323131302f2e2d2c28232523201f1c1815120f0a05020000000000000000000000000000000000000000000000000000000a141e262e34384646464646464646464646453a38342e271e1b21282c3137383f4446494a5053555758595a5b5a5a5958575553514b4a4745403937332d28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ddd1c7bfb8b3b2b7b9bdc4ccd6d2c7bdb1a79f92867b6e615a50433a2f24180b02000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc3b6a99c90837669606b7783909da6b0bcc9d3e1d7cbc0b5ab9e94897c6f635a5042382e1f160c000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192530404c5966737f8c99aab4bfcad6ded1c4b8ab9e9184796d6053463c31261b0d040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000002020202020202020202020202010000000000000000000003060709060b0f12131415161615130f0a04000000000000000000000000000000000000000000000000000000050d14191e262e34383f44464d5355565e616467666d6e7071727374747474737372716f6d68696663605d5654524c48443d38322a251f170e07010000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040f19222b32383b3c4141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151a1f2122282b2d2f322f35393a3b3c3d3d3e3f3e3e3e3d3c3b3a38342e32302d2c2823211f1b15110e090200000000000000000000000000000000000000000000000006111c2630383f44535353535353535353535352464440393027272c33383c43474a505356545b60616465666767676766656362605c555753514b46443f38332d261d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a74808d96a1adb8c2ced8d4cbbfb5ada7a5abadb2bac4cfd9d0c3baaea2988f82756c61554b4035291d140a000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b5a99c8f82766963707d89959fabb8c2cddbdfd4c7bbafa3998f82756b6054483e30261c0d04000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081723303d4a5663707d8998a2aebac6d3dfd2c5b9ada1968a7d7164584e43372b1f160c0100000000000000000000000000000000040e16202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708090908060300000000000000000000000000000000000000000000000000000000060e171f252a30383f444a5053575f6166686e717476797b7c7e7f8080818180807f7f7d7c7a787673706d6865615e56544f48443d3630292018120c0400000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000007101921272c2e2f35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353531302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e2d3338393c3e414045474848494a4b4c4b4b4a4a4948464540413f3c3a38342e2e2b26201e1a140f0a03000000000000000000000000000000000000000000000b17232e38424a505f606060606060606060605f53514a42392e32383e44484e53545b606266666c6e707273737474737372706e6d676764605d55535049443f382f29241e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a232b3844505b666f7c87929fa9b2bdcad3d9d0c2b9ada39b989ea1a8b2bdc9d5d6cabfb4aa9e938a7d70675d51453c2f261c11060000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec2b5a89b8f8275686975828f9ca7b1bccad4ded6cabfb4aa9f92877c6e62594f44362c1e150a00000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dcd5c9bdb2a99c9083766a5f53473d31281d1307000000000000000000000000000000030d16202935404b55606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363e424a50545c6064696e72767a7e80838687898b8c8d8d8e8e8d8d8c8c8a88878583807d7a76726d68636059544f46423b3329241d160d05000000000000000000000000000000000000000202020200010815212e3b4854616e7b8794a1aebac7cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000070f161b1f22232828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1d24292c31373a3c3f4446484b4e4b515354555657585858585757565453514b4e4b494645403c3a37312d2a251f1a150e09030000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c605c544a40353d44484f55585f62666c6f7376797b7d7f7f80818180807f7d7b797773706d6763605b53504a423d353028201810080000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c78839099a3afbbc4cfddd2c7bdb1a79b918c9196a1adb9c1ced8d0c5bcb0a69e9184796d60584e42382d22170b0200000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b4a89b8e8175686e7b87939facb9c3cddfded3c6baaea2988e81746a5f53473d32241a0c0300000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9babb4bfcbd7dacfc4b7ab9f94887c6f62594f433a2f2418120701000000000000000000000000050d151f28323a45515d67717e8b98a4b1becbd7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323b414650545c60666d70767b7f83878a8d909298969799999a9a9a9a99999897959892908d8a87837f7a75706b636059524d453f352f281f170f06000000000000000000000000000004080a0b0f0f0f0f070d1115222f3c4855626f7b8895a2aebbc8cfc3b6a99c908376695d5043362a1d1003000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c141a20272b2f35393c4347484a505355585b555d60616263646565656464636261605c545a585653514b4847433c3a36302b26201a140c0701000000000000000000000000000000000006121f2b3844505c667679797979797979797979786d665c514440454f545961636a6f74797c808385888a8b8c8d8e8d8d8c8b8a888683807d7974706c65605b544f45413a322a221a12090000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e68727f8b959fabb5c0cdd6d7ccc0b5ab9f958c7f84919ea6b0bcc6d0d7cec1b9ada1968d80736a5f544a3f33281f140900000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746673808c99a4afbbc7d4e0d5c9beb3a99f92867b6e61584e43352b2112080000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0d3c7bbb0a69a8e81746b60554b4035292418120b0600000000000000000002080e171f27313a444f59606d7985919eabb8c4d1ded8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343e444d525a61666d71787d82878c90939a9a9d9fa3aaa4a5a6a7a7a7a7a6a6a5a4aaa29f9c999a93908b86827c76706b615e57504540393129211810060000000000000000000000050b101416171c1c1c1c1c181d20262f3d4a5663707d8996a3b0bcc9d1c4b7aa9e9184776b5e5144382b1e11050000000000000000000000000000030709090e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a32373a4045474e5355545b606265676a676d6e6f70707172717171706f6e6d6669676563605c5455534e4746423b37312a261f18120b03000000000000000000000000000000000713202d3a4653606d788686868686868686868685786d6053464b515960636b70767b8085898c9092989798999a9a9a9a9998969992908d8a85817d78716c666059524c443c342c241b12090000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434f59616e7b85929fa7b1bdc7d1dcd4c7bbafa4999083787e8a949eaab4bfcad6d5c9bdb2a89f92877c6f665b50443b30251a0d04000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b3a79a8d80746d7984919eabb5c0ccd7ddd2c6b9ada1978d8073695e52463c3123190f000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4754616d7a86929facb9c3ced9d8cdc2b9ac9f93877d6f675d51453e3629241d17110c070604000105070a0f141920293139434c56606b73808d97a1adb9c6d2dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f2830383f4450565e616c70787e848a8f939a9d9fa4aca9acaeb4b1b2b3b3b4b4b3b3b2b2b0b3aeaba9aca49f9d99928f89827d756e69625a514b433b332a221810060000000000000000000810171c212324282828282824292c3038424e5866737f8c99a6b2bfccd0c3b7aa9d9084776a5d5144372a1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151d232830363d43474b5153585f6266666c6f717477797a7b7b7c7d7e7f7e7e7d7d7c7b79787674726f6d6666625f5854524d47433c363129241d150d060000000000000000000000000000000713202d3a4653606d7986939393939393939397897d7063534e555d606b6f767d83888d9297999d9fa2aaa5a6a6a7a7a6a6a5aba39f9d9a98928e89847e78706b605d564e463e362d241b12080000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606b75818e98a2aeb9c3cfd9d5c9beb3a99f93877c6f75828f98a2aebac3ced9cfc4bbafa3999083786c60574d42362a1f160c010000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb3a6998c8073707d8a97a1adbdc7d2ddd5c9bdb2a89e92857a6d60564d42342a201107000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba8b1bdc8d4e0d4c7bbafa4999184796d605a50483f352f27221b181413100c0d1113141a1f252a323b434b555e686f7d87929fa9b3bec9d5e1d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028313a424a505a61686e757d848b91969c9fa4acacafb6b6b9babfbebfc0c0c1c1c0c0bfbfbdbebab8b6b6afacaba39f9c948f89827b716c605d554d453c342a22180f060000000000000008121a22282d303135353535352f35393a414a545f6a76838f9ca9b6c2cfcfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708080808080808080808070705010000000000000000000000000000000000000000000000020a11171e272e343b42464e54555d60656a6f7376797b7e818486868788898a8b8b8b8b8a8a8987868583817e7c7976726f6a65615e57534e46423b352f271f180f0900000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa99a8d8174655b5860676d747d838a90949a9ea1a9a9acaeb4b2b2b3b4b4b3b3b2b5afacaaaaa29f9b95918a847d746d685f5850483e362d241a11080000000000000000000000000000000000000000000000000000000000000000040e1b242c3845515c67707d89939eaab3becbd4d9cfc7b9ada1978d80746a6e7b86929fa8b1bdc8d4d7cbc0b5ab9f958b7f72695e52463e31281d12070000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8ccbfb2a5998c7f7275828f9ca9b2bed0d9dcd2c5b9aca0968b7f72675d51443b3022180e00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707c8995a0acb8c3ced9d7ccc0b5aba0968d81746c615a51454039332d2924201f1d18191d2021262b30363d444c555d676d7a849199a3afbbc4cfdae6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028323a434c545c606c717b828a91959ea1a8acafb6b9bbc0c3c5c7cbd1cccccdcdcdcdcccccbd0cac6c5c3c0bbb9b5afaca69f9c948f857e756d675e574e463c342a21180e03000000000005101a242c33393c3e4242424242424045474c525b666f7c88949fabb7c4d0cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131414141414141414141414141414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314141414141414141414141413110d08020000000000000000000000000000000000000000040c141c2328303940454d52586062676d71767b808385888b8e91929994959697989898979796959a9392908d8b8985827f7b77726e69625f58534d454039312a221b120a010000000000000000000000000713202d3a4653606d798693a0acacacacacab9e9184786c60616a6f79818990949c9fa6abadb3b6b8babfbebfc0c1c0c0bfbec0bbb9b6b4aeaca7a09d969189817a6f6a615a50483e362c23190f05000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbcc5d0dcd1c7bdb0a69e92857a6d6069737f8c95a0acb8c1cdd7d1c7bdb1a79f92867b6e61594f43392f24180b0200000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e727a86929facb9c4cfdfd4c8bcb1a79e9184796d60554c4132291f0f0600000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090404040404040404040404040404040404040404040404040404040404040404040404040404040404040403030100000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4854606b7784919da7b1bcc8d4ddd2c7bdb2a89d928a7e716c625b514b443f38352f2d2c2924252a2d2e31373b41464f565e676d79829096a1abb5c0cdd6e1e4d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28323a444c565d666d747e858f949da0a8acb2b9bbc0c6c8ccd2d2d1cfc9c6c5c3c2c1c0c0c1c1c3c5c6cad0ccc8c6c0bbb9b0aba69e97928b81796e695f584e463c332a1f150900000000000b17222c363e44494a4f4f4f4f4f4f4b5153565e616c78828f9ca6b0bbc7d3cbc0b5ab998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f20212121212121212121212121201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d20202121212121212121212121201d19130c05000000000000000000000000000000000000050d161e262e343d424b51575e616a6f747a7e83888c8f9298989a9d9fa3aba2a3a3a4a5a4a4a4a3aca49f9e9c9a9898928f8c88837f7b756f6a615f57514b433c342d241c130a0100000000000000000000000713202d3a4653606d798693a0acb9b9b9b9ada197897c6f626c707c848e939c9fa6abb0b8b9bec3c5c7cad0cacbcdcdcdccd1cbc7c5c3bfbab8b1aca8a09d938e847c716c625a50483e352b21170c03000000000000000000000000000000000000000000000000000000000008131e28323a47535f6973808c96a0acb7c1ced7d7cbc0b5ab9f948b7e71685d606d7984919da5afbbc5d0d9cfc3baaea2988e81756b61554b4035291d140a00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd7cabeb1a4978b7e727f8b99a3afbbc7d3d9d0c7b8ab9f958a7e71665c51433a2f20170d0000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100f0d0a050000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38444f5964717e8a95a0acb8c1cdd7d9d0c4baaea49f92877e726d605d55504945403b3a38352f3036393a3d43474d525960686e79828f949fa8b2bdc7d1dfe8e4d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313a444c565e686d78808a92979ea6acb1b9bdc4c8ccd2d4cfcac6c5c1beb9b8b7b5b4b3b3b4b5b6b8babfc1c5c6c9cbc7c2bbb7b0a9a29f938f837b6f6a5f584e453c31261a0e0200000004101c28333e485055575b5b5b5b5b5c555d6063686d75808d949fabb8c2cdd3c7bbafa3998b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2e2e2e2e2e2e2e2e2e2e2e2d2a251e160e0500000000000000000000000000000000070f171f2830383f444f545c60696e757c81858b9095999c9fa2aaa7aaacaeb4aeafb0b1b2b1b1b0b0b6afacaba9a7aaa29f9c9995908c86817c756e69605d554e463e362e251c140a01000000000000000000000713202d3a4653606d798693a0acb9c6c9beb2a99a8d80736c717e8691969da5abb0b7bcc2c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d2d0cac6c3bcb8b2aca59d9691867e716c625a50473d33291e150b00000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc9d3dcd3c7bbafa3999083786c60565c66707d89939ea9b3becad6d6cabeb4aa9e938a7d70675d51453c2f261c1106000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6cabdb0a3978a7d7783909dabb5c0cbd7d2c7bdb0a69d9083786c60544b4031281e0e050000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b27323d4653606c7883909da6b0bbc5cfdbd6ccc0bbafa39992887f736d67605b53514b4847454043434146474a4e53565e616b6f7a828f949fa6b0bac4cfd9e3ebe4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434c565e686d7a828d929fa2a9b0b8bdc3c9ced4d3ccc7c5beb9b8b5b3adabaaa9a8a7a7a7a8a9acaeb4b4b8b9bec5c7cbc7c1bcb3ada59e9590857c6f6a5f574d42372b1e12060000000814212d3944505a616468686868686969676d70747a828d929da6b0bbcad4d2c5b9ac9f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f35393a3b3b3b3b3b3b3b3b3b3b3b3b3936302920170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3b3b3b3b3b3b3b3b3b3b3a3936302820160c0200000000000000000000000000000710192129313a424a505960666d727b81898e92989d9fa7a9acaeb4b4b7b9babfbbbcbdbebebebebdbdc0bbb9b8b6b4b4aeaca9a7a09d99928e87827b736d675f58504840372e261c130a000000000000000000000713202d3a4653606d798693a0acb9c6cfc4b7aa9e918477717e879298a0a8afb7bcc2c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced5d3cec8c3bdb8afa8a19892887e716c61594f453b30271c12070000000000000000000000000000000000000000000000000000000a151e2935414c56616c76828f99a3aebac4cedbd5c9bdb2a99f92877c6f655b5054606b75818e97a2adbac2d0d9d0c5bcafa59e9184796d60584e42382d22170b020000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c7b88959fabbdc7d1d7ccc0b5ab9e94897d70655b5042392e1f160c000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a292826211b150d040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2b3744505b65707d8a949ea9b3becad6dcd7cbc0b5aba39a938b8079716c65605d555553514b50504c525457585f62686e747d848f949fa6b0b8c2c8ccd2d9e2e8d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222935404b555d686d7a838f949da4adb3bbc1c8ced5d5ccc7c2bbb7b3adaba8a9a19e9d9c9b9a9a9a9b9d9fa2aaa7abadb3b9bbc0c7cbc5bebaafa7a09791857c6f695f53473a2d2114080000000a1623303c4955616c7175757575757576777a7c81868f939da4aeb8c2ccd5c9beb3a99c8f8276685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454747474747474747474747474746413b322921170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a404547474747474747474747474746413a32281e130800000000000000000000000000061019222b333b434b545c606b70797f868e939a9fa2aaabb1b6b8babfc1c4c5c7cbd1c9cacbcbcbcacad2ccc8c6c5c3c0bfbab8b5b1acaba39f9a938f8680796e6a615a514940382e251c11080000000000000000000713202d3a4653606d798693a0acb9c6d2c5b9aca096887c7d879299a3aab2bac0bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d4cec8c0bab2aaa29a93877e716b60574d42392e23180c030000000000000000000000000000000000000000000000000006111c26303845525d68717e8b949fabb4bfccd5d8cfc6b9ada1968d80736a5f53494f59616e7a85929fa7b1bdc7d2d7cec1b9aca1968d80736a5f544a3f33281f14080000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd5c8bbafa295887c808c99a7b1bccfd9d4c7bbafa4998f82756b6053493f30271d0d04000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373635322d261f160d0300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616b75828f97a2adbac0cad4dcd1c7bdb5aca49f928d847e78706d676561605d555d5d565e6163666a6f737b818791969fa6b0b8bbb9bbc0c7d0d6dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343d45515d676d7a8390959fa6aebabec5cdd4d6cec9c1bbb7b0aba9a29e9b989792908f8e8d8d8e8e909298979b9ea1a9acafb5bbc0c7cac1b9b1a9a19791857b6e6155483b2e2215080000000b1724313e4a5764717e828282828282838486898e92989ea6aeb6c0cad4ccc4b9ada1978b7e7164564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434b5153545454545454545454545454524d443b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434b51535454545454545454545454524c443a3025190d010000000000000000000000050e18222b343d454d555d666d747d848c92989ea5acaeb4b8bcc2c5c6cad0d0d2d3d7dcd6d5d4d3d4d5d6ddd8d4d2d1cfd0cac6c5c2bcb8b5afaca49f98928c837c716c635b524a40372e231a0f0600000000000000000713202d3a4653606d798693a0acb9c6d4c8bdb2a89b8e81859299a3abb4bcbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d9d4ccc4bcb4aca49992877d70695e544a4034281f1409000000000000000000000000000000000000000000000000000c17232e38424e58606d7a85929ea6b0bdc6d1dcd1c6bdb0a69e9184796d60584e4146525e68727f8b959fabb5c0ccd7d5c9bdb2a89f92877c6f665b50443b3025190d0300000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd4c7bbaea194887b84919daab7c3cdd6cbbfb4aa9f93877c6f62594f41382d1e150b00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564944444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443423e3831281f150a00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59616e7b85929fa4aeb8c2cbd4d9cfc7beb6afa49d96918b837d7a75716e6d676a696a6b686d7073777b80868e9299a1a9b0b8b6afacafb6bec5cdd6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b606d79839095a0a7b0b8c0cacfd7d7ccc4bdb9b0aaa69f9c97928e8b8885848281808081828385878a8e92979b9fa3abafb5bdc1cac3bbb3a9a1978f8376695c504336291d100000000b1724313e4a5764717d8a8e8e8e8e8f909193999a9fa2aab0b8c0c8d6cbc3baafa59e92857a6d6054473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606161616161616161616161615e564d453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555d6061616161616161616161615e564c41362a1d110500000000000000000000030d17202a343d464e575e676d78808991969fa2aaafb8babfc5c7cdd2d3d6d7d3d2cfcccbc9c8c7c7c7c8c9caccced1d2d5dad6d3d2cec8c7c0bbb6afaaa39f9591867e736d635c52493f352c21180b02000000000000000713202d3a4653606d798693a0acb9c6d9cec3b6a99d938e9297a1abb5bdbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6cec6beb5aba39992857b6e665c51443b30251a0e04000000000000000000000000000000000000000000000004101c28343f4a54606a74818e97a1adb8c2cfd8d7cbbfb5ab9f948a7e71675d51463c414c56606c78839099a4afbbc4cfdacec4bbafa3999083786c60564d41362a1f150b01000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c8996a0acb8c5d4d3c7baaea3988e81746a5f53473d2f261b0c0300000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625650505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261b1005000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3e46525e68717e8b929da6b0b9c3cbd4d9d0c7c0bbaea8a19e95908a86827e7b7a7877767677787a7d7f83888d92989fa3abb2bbb6aca49fa4acb3bbc5cfdacbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d75818e959fa7b1b9c2cad6d9d1cbc1bab2aca69e9c948f8985827e7b787776757474747576797b7e8185898e92999fa3abb0babfc6c4b9aca1968b7e7164584b3e3125180b0000000815222e3b4855616e7b88989b9b9b9c9c9e9fa4abacaeb4bcc1cad0cac2b9b1a89e938a7e70675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d676d6e6e6e6e6e6e6e6e6e6e6e6e685e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6e6e6e6e6e6e6e6e6e6e6d685e5246392d201307000000000000000000020b151f29323c464e5860696e79828d929da0a8aeb4bcc1c6cad0d4d8d6d3d1cbc7c5c3bfbebdbcbababbbcbcbdbfc2c4c5c9cfd2d4d7d9d4d1cbc7c0bbb4aea7a098928b7f736e635b51473e332a1d140a000000000000000713202d3a4653606d798693a0acb9c6d3d2c6baafa59d9b9ea1a9b3bcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d7d0c7bdb5aba1979083786d60574d42362a20150a00000000000000000000000000000000000000000000040d1a232c3844505c666f7c88939fa9b3becad4dcd3c7bbaea3998f82766c61554b41343b44505b666f7c87939fa9b3bec9d5d7cbc0b5ab9f958b7f72685e52463d31271d1207000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d808d9aa8b2bdc8d4cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5c5a544c42382d21160a000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56616c74808d949fa7b1b9c2cad6d9d2ccc0bab2ada79f9d98928f8b8886858483838485878a8c90959a9fa2aaafb5bdbbafa49a939aa1a9b3bec9d5cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b939ea7b1b9c3cbd4d9cfc7c0bbb0a8a19e948f89827d7975716e696a696867676768656c6e7174797d82868d92999ea6aeb4bcbeb3a99e9184796d6053463a2d2013070000000613202d394653606c7985929fa8a8a8a9aaacafb5b8babfc6ceccc6bfbab0a7a0968e81756c61554b413529170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7a7a7a7a7a7a7a7a7a7a7b75695e52463a2d20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a7b7a7a7a7a7a7a7a7a7a7a6d6154473a2e2114070000000000000000000a141d27313b444e58606a6f7b838f949da4acb2babfc6ced3d6dad5d0cac6c5c0bbb9b6b3b1b0afaeadaeafb0b0b2b5b7b9bdc2c6c7ccd2d5dad7d2ccc6bfbab1aaa29f918c80736d63594f453c2f261b11060000000000000713202d3a4653606d798693a0acb9c6d3d6cbc0b7afa9a7abadb3b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d9d0c7bdb3a99f958c7f72695e52463c32261b0f030000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfdcd5c9bdb2a89f92877b6e625a50433a2f333f4a54606a74808d97a1adb9c2cfd8d1c7bdb1a79f92857b6e61594f43392f24180b020000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccec1b5a89c928d929ca8bac3ced2c6b9ada2978d8073695e52463c3123190b020000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69665e54493e3226190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44505a606d78828f959fa7b0b8c0cad0d7d8ccc4bdb9b1abaaa29f9b9894979291909091929796999da0a7acaeb4bbc0b9b0a69f93869297a1adb9c6d2cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c3844505c666f7c87929fa5afb9c2cbd5d9d0c7bdb5afa69e969189827c76706c6665615f575c5b5a5a5b535b606164666c70757b80878f949fa2aab1b9ada1978b7f72665c5144382c1f120600000005121f2b3744505b657683909ca9b5b5b6b7b9bbc0c5c6cac8c7c0bbb4aea69f9590847a6d615a50433a2f24180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8787878787878787878787877b6e6154483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f878787878787878787878276695c504336291d10000000000000000006111b262f39434c565f6a6f7c8590959ea6aeb8bdc3cad0d7dad5cfc9c5bebab8b5afaca9a6a4a3a2a1a0a1a2a3a4a5a8abadb2b5b9bbc0c7c9cfd8ddd8d1cbc3bcb4aea39c928c7f726c61574d41382d22170b0100000000000713202d3a4653606d798693a0acb9c6d3ddd2c9c0bab6b4b8b9b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d9cfc5bbb1a79f92867b6e61584e43372b201509000000000000000000000000000000000000000007121d28313946525e69727f8c95a0acb6c0cdd6d8cec6b9aca1968d80736a5f53483e31282d38424e58606d7a85919ea6b0bdc6d1d9cfc2baada2978e81756b61554b4035291d140a0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b9aea49c9a9ca4aeb9ccd5c9bdb2a89e92857a6d60574d42342a201107000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777670665a4e4235281c0f030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e44505c666d7a8390959fa6aebabec5ced3d6cfc9c2bcb8b4aeaca8a4a9a29f9d9c9d9e9ea1a9a6aaabb1b8babfc1b9b1a79f948c7f85929eabb8c5d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a36424d57606d78839099a3aeb7c1cbd4ddd2c7beb5aba39f948f847c756f6a63605b5455534d4f4e4d4d4e49505354545b6063696e747b828b9298a0a7b1a99e9285796d60544a4034281c1004000000030f1b27333f49536774818d9aa7b4c0c3c4c6c7c7c5c3c1bcb8b6afaaa29f9490837b6e685e52483e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7783909494949494949494998c7f7266584e43382b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c94949494949494948f8376695c504336291d1000000000000000000b17222d38414b555e686f7c869197a0a7b0b8c0c8ced6dbd6cfc9c4bdb9b3adababa39f9c99989695949494959697999b9ea1a8a9acafb5b9bec5ccd2d9dcd7cec6bfbaada49f93887d70695f53493f33271d130700000000000713202d3a4653606d798693a0acb9c6d3e4dbd2cbc6c2c1c1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd6cdc2baaea2988f82756a5f54473c31261a0e00000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bec7d2dcd0c6bcb0a69e9184796d60574e42362c1f262f3c45525d68717e8a949fabb4bfcbd7d6cabeb3a99e93897d70675d51453c2f261b110600000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd5cac0b6aea8a6a8aeb6c0cad2c5b9aca1968c7f72685d52453b3022180e00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c4b7aa9d9184838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d172028343f4a545d686d7a8390949da4adb3bcc1c7cdd4d5cdc8c6bfbab8b5b1b3adabaaa9a9aaabadb3b2b6b8bcc3c6bfbab0a7a0958f8279818e9bacb6c0cccbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46525e69727f8c95a0abb5bfc9d3dcd8ccc0b6aca399928c827a6f6a62605853504a48464243424141413f4446484a5053575e61696e757e8690959fa7a2978c7f72675d5142392e23180c00000000000b17222d3e4b5865717e8b98abb5c0bcbcbbbfbab9b6b4b1acaca49f98928c827a6e695e564c41362c1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8b99a3a1a1a1a1a1a19d9184776a605447392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a1a1a1a1a1a19c8f8376695c504336291d1000000000000000040f1b27333f49535c676e7a849198a1a9b1b9c1cad4d9dad5cdc4beb9b2ada9a29f9a9992908c8b8a8987878889898a8c8f9196979c9fa4abadb3bbc0c7d0d6ded7d0cabfbbafa49a92867b6e655b50443a2f24180d01000000000713202d3a4653606d798693a0acb9c6d3dfe4ddd6d2cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6dfd6cabfb4aa9e93887c6f62574d42372b1c11060000000000000000000000000000000000000a141d2935404b55616c75828f98a2aeb9c3d0d9d6cbbfb4aa9e948a7d70675d51453c31241a1d2935414c56616c76828f99a3aebac4ced9d0c5bcafa59e9184796d60584e41382d22170b02000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdcd2c8c0b9b5b3b5b9c0c8d4c8bcb1a79e9184796d60564c4133291f100600000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded1c5b8aca095919090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909085786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e17232e38424c565d686d7a828d929fa2a9afb7bcc2c7cbd1d4d0cac7c5c2bebebab8b7b6b6b7b8b9bebfc3c4c7c1bcb4aea69e9590837a717e8b9aa4afbbc8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616e7b86929fa7b1bdc6d1dbd4cac2bbafa49a92877f776d686058544e46443f3b3a36313534342d3337393b3f44464d52575f626c717b8390959f9f92857a6d60554b4030271c120700000000000616232f3c4956626f7c8999a4afafafafafb4aeacaaa7a7a09d9a938e867f796d685e564d443a30241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4754616d7a86929facadadadadaca096897c6f62554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5adadadada99c8f8376695c504336291d10000000000000040d1a242b3744505b656d79839096a1aab3bbc3cbd3dcd6cfc9c1bbb3ada8a19e97928d8a8683807e7d7c7b7a7b7c7d7d7f8284878a8f93999ea1a9afb6bec4ccd5dedbd6ccc0b6aca2988f82776c60554b4035291d1207000000000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dbd0c6bcafa59b8e8175695f5347382e23170b000000000000000000000000000000000006111b262f3845515d67707d8a939eaab4bfcbd5dcd3c7baaea3988f82756c61554b40332a201219242f3a43505a626e7b86929fa8b2bdc9d5d7cec1b9aca0968d80736a5f53493f33271e1308000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3dad2cac5c1c0c1c5cad2d0c7b8aca0958b7e71675c51443a2f21170d0000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e1d4c8bdb1a8a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c565d686d78808a92979ea5abb0b9bbc0c6c7ccd2d1d2ced0cac6c5c4c3c3c4c5c6cac7c5bfbab9afaaa39f948f837a6d6e7a87939facb9c1c1beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818d98a2aeb9c3cfd8d8cfc2b8afa59f93887e726c655d564e47433d38332d2d2a2628272722272b2d2d33383b42464d535a62696e7a839094988d8073685d5243392f1e150b0000000000000714202d3a4753606d7a86939fa3a3a3a3a2aba39f9d9a9895918c87817b736d675d564d443b32281e120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bebabdb2a89a8d8174675c5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2babab6a99c8f8376695c504336291d100000000000010c161f2b37434e58606c77818e959fa8b2bcc4cdd5ddd5cdc5beb9afa9a19e96918c85817d7a767371706f6e6d6e6f70717275787a7e82878c92979fa4acb2bac3ccd5ddddd2c7beb4aa9f948b7e71675d5145392f24180c000000000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd7cec1b9ac9f93877b6e62544a3f34281c1003000000000000000000000000000000000b17222d38414e58606d7984919ea5afbcc6d0ddd5c9bdb2a89f92867b6e615a5043392f21180e131e28313e47535f6973808c96a0acb9c1ced7d5c9bdb2a89f92877c6f655b50443a3025190d030000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e3dcd5d1cecdced1d5d2c7beb0a69d9083786c60554b4032281e0f050000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5d9cec3bab1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28323a444c565d666d747e858e939c9fa6acafb5b9bbc0c2c4c5c7cbd1c9c9d1cbc7c5c4c2bfbab9b4aeaca59e98928c827a6d68687783909daab4b4b4b4b1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929faab4bfcbd5dcd1c6bcb0a69d928c7f726c605b534c443d38322b2822211e1a1b1a1a171b1f2022282b30363c424750575f686d79829092867a6d61564c4131271d0c0300000000000006131f2c3945515d67778491969696969695949992908e8b88847f7b756e69605c554c443b322920160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000007131d28313a47535f6a737f8c939ea7b1bac4ced6ddd4cbc3bbb3ada59e97918b847f7a74706d67666563626161616263646668686e71767b7f858e939aa0a8b2bac3cbd5e0d9d0c5bcb0a69e9285796d60554b4035291d10040000000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6e0d4c7bbafa4998d8074665c5044382b1f1206000000000000000000000000000000030f1b27333f49535f6a73808d96a1acb7c1ced7d8cec6b9aca0968c8073695f53483e31271d0f060c161f2b37424d57606d7984919ea5afbcc5d0d9cec4bbaea3999083776c60564c41362a1f150b0100000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9eee7e1dddad9daddd8ccc0b6ac9f94897d70665b5043392e20160c000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434c545c606c717a818990949c9fa3abacafb5b5b7b9bbc0bcbcbcbbbfbab9b7b5b4aeacaaa39f9b938e867f776d685e6673808d99aaa8a8a8a8a8a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d98a3aebcc6d0ddd7cbbfb4aa9f948e80746d635a5049413a322b271f1c1714120e090e060b0f1213171c1f252a31373e454d565d676d7a848d8074685e52433a2f1f150b0000000000000004101d2935404b556875818989898989898888878683817e7c77726e69615e57514b433a322920170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000010d18242f3a43505a626e7c87929fa5afb9c2ccd6dcd3cbc2b9b1a9a19e938e857e79726d6764605d5558575654545556565759565e6164696e737a81889196a0a8b1b9c3ced7e2d7cec2b9ada1978c7f72675d5145382c1f13080000000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd7ccc0b5ab9e9185796d6053463a2d20130a0000000000000000000000000000030c19232b3744505b656f7c87929fa8b2bdc9d3dbd0c6bcafa59e9184796d60574d42362c1f150b00040d1a26313c45515c67707d8a939eaab4bfcad6d7cbbfb5ab9f948b7e71685e52463d31271d120700000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f6f2ede9e7e6e9e0d4c8bbafa49a8f82766b60544a3f30271d0d04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e3e7ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313a424a515a61686e757d83898f92999d9fa4aba9aaacafb5afafafafb4aeacaaa8aba39f9c98928e89817b726c655d5663707c89989b9b9b9b9b9b9b988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929faab4bfced7e0d3c7baaea3988f82786d605b51443f382f28201b160f0b060502000100000305060b0f141a1f262b333c444c555d686f7c857b6e61564c4131281e0d0300000000000000000c18242f3b4855616e7b7d7c7c7c7c7c7c7b7a797774726f6a66615e57524d454039312820170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844505c6674808d9aa7b1bcc8beb3a99c8f8276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000004111d2935414b55616c76828f99a3afb7c1cbd4dcd3cac1b8b0a7a097928a817a716d66605d5554514c4b4a49484748494a4a4c4c5254575e61686d747d849196a0a7b1bcc5d0dbe0d6cabeb3a99e9285796d6053473a3025190d0100000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6ddd2c7b9ada197897d7063564a3d31261a0f03000000000000000000000000000b151e2a36414c56606c77839099a3afbac4cedcd6cabfb4aa9e938a7d70675c51453b31241a0d03000009151f2934404b55616b75818e98a2aebac3d0d9d1c6bdb0a69f92857a6d61594f43392f23180b02000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0f0f0f0f7ece1d7cbbfb4ab9f93877c6f62594f42382d1e150b00000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f283039404450565e616b70767c82868b909399999c9e9fa3aba2a3a2a2aba39f9d9b9999928f8c86817c756e69605b5353606d79868e8e8e8e8e8e8e8e8e8b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebcc6d1e0d6cabeb3aa9f92867b6e665c50493f332d261d160e0a0300000000000000000000000003090e151a212a323a434c565f6a6f7b6e695e53443a301f160c0000000000000000000714212d3a46535f696e7070707070706f6e6d6d666765625f5854534d46423b342f271f160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c6c5b9ac9f93877b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000613202c3945515d67717e8a949fabb5c0c9d3ddd3cac1b8b0a69f9590857e756d68605c54514b4745413e3d3c3b3a3b3c3d3e3f4146474d52565d616b6f7b849095a0aab4becad6dedacfc5b9ada1978a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd5c9beb3a99b8e817468584e43372b1f120600000000000000000000000007121d27303946525e68717e8b949fabb5c0ccd6dbd3c6baaea2988f82756b61554b40332a1f1108000000030c18232f39434f59616e7b86929fa7b1bec7d2d8cfc2baada2978e81756b60554b4034291d140a000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3e3e3e3e3e3e6dbd0c7baaea3998e81756a5f54473d2f261c0c0300000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343e444c525960636b6f757a7f83868a8d8f9192999595969695949992918f8d8a86837f7a756f6a615e575049515c66737f818181818181818181817d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6875828f9caab4becfd8dfd3c6baaea2988d8073695e544a3f3727221b140b040000000000000000000000000000000003090f182028313a434e585f696e695f574d4232291e0d0400000000000000000005121e2b37424d575f61636363636363626161605c545855534e4846423b363029231d150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3847535f6a7783909dabb5bfc7bbafa4998c7f7266584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000005111d2a36414c56606d7984919ea6b0bdc7d1dbd5ccc2b8b0a69e9490837b716c615d56514a45413a39352f302f2e2e2e2f30313036393b42464c525960696e7a839098a2aebac2cdd8e1d5c9beb3a99c8f8275685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8dacfc4b8ab9e9185786a5f53473a2e2115080000000000000000000000000c18232e39424f59616d7a85929ea6b0bdc7d1ded4c8bdb2a89f92867b6e61594f43392f21180e000000000007121d27313e46525e69727f8c95a0acb6c0ccd8d6cabeb3a99e93897d70675c51453c2f261b11060000000000000000000000101d2a3643505d697683909ca9b6c3cfd6d6d6d6d6d6d6d6d6cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328323b41464f54596063686e72767a7d808284868788898989888887868482807d7a76726d68626058534d44404b54636d7375757575757575757575706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dfd6cabeb3a99f92857a6d61574d42382e2517110a0200000000000000000000000000000000000000060e161f28313c464e575f615f574d453b3120170d00000000000000000000020e1a26313c454d535556565656565655555453504a4b4847433c3a36312a251f18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3aebbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000713202d3946525e6873808d97a1adb8c2cfd9d7cec3bab0a69e948f827a6e69615a524c444039352f2c29242423212122232324252a2d30363a41464f575e686e7b86929fa6b0bcc7d3e2dacfc5b9ac9f92867a6d6154473a2e21140700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000004101c2834404b54606b74818e97a2adb9c2cfd9d7cec5b8aca0968c7f72695e53473e31271d0f060000000000010b151f2a36424d57606d7883909aa4afbbc5cfdacfc5bbafa59e9184796d60584e41382d22170b0200000000000000000000101d2a3643505d697683909ca9b6c3c9c9c9c9c9c9c9c9c9c9c6baada2978d8073695e53463c32231a0b020000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c9c9c9c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218202930363d44484f54565e6165686d70737677797b7b7c7c7c7c7b7a79777573706d6765615e56544e46423b3942515b6366686868686868686868686360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a99a3aebbc7d3dfd3c6baada2978c7f72685e52453b30261c130600000000000000000000000000000000000000000000040d161f2a343c454d5355534d453b33291f0e05000000000000000000000009141f2a333c42464849494949494949484746443f3f3c3b37322d2a251f1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000030f1c28333f4a54616d7a86929fa9b2becad4d9d0c5bcb2a89f948f82796d685e565046413a342e2924201d191716151415161717191e20252a30353d454d565e69727f8b949fabb7c5d0dbe0d3c7bbafa3998a7e7164574a3e2e23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd5c9beb3a9988b7f7265584c3f2f24180d01000000000000000000040d1a242c3845515c66707d89939da9b3becbd4dbd0c5bcafa59d9184796d60574d42352c1f150b00000000000000030d1a25303b44505c666f7c87939fa9b3bec9d5d7cdc1b9aca0968c80736a5f53493f33271e130800000000000000000000101d2a3643505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdb2a89f92857a6d61574d42342a201108000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbaada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a32383d43484c5254565d60636669666d6e6f6f706f6f6e6e6d66686663605d5554524c47433d36313040495157595b5b5b5b5b5b5b5b5b5b56544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aabb5bfcbd7ded2c5b8ab9f9285796d60564c4133291e150a000000000000000000000000000000000000000000000000040d18222a333b42464846423b332a21170d000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3c3b3a3a38342e2f2e2b26211e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bec8bdb1a89a8d8174675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000006121f2b3844505b66727f8c98a3aebbc4cfddd2c7beb4aaa0968f82786d675d564d443e353028231c1813110d0809080708090a080d11141a1e2429333b444d57606c7883909caab4becad6e2d7cbc0b5ab9a8d817467544b4034281c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcdacfc2b5a89b8f827568554b4035291d10040000000000000000010c161f2a36424d57606d7983919da5afbbc5cfddd6cabeb4aa9e93897d70665c51453b31231a0d03000000000000000009141f28343f4a54606b74818e97a1adb9c2cfd9d4c8bdb2a89f92867c6e655b50443a3025190c03000000000000000000101d2a3643505d697683909ca9b0b0b0b0b0b0b0b0b0b0b0b0b0ada1968c7f72685e52453b3122190e00000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0ada093877a6d6054473a2d211407000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969285786c5f5245392c1f12060000000a1724313d4a5764707d8a969696969696969696969696968a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141921272c32383b4146474c5254575a545c606162626363626161605c545a5753514b4746413a37322a252e3740464b4c4e4e4e4e4e4e4e4e4e4e4a48443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d1dcd8ccc0b6ac9b8e8275675d51443a3021170c0300000000000000000000000000000000000000000000000000061018212a31363a3b3a36312a21180f0500000000000000000000000000060f181f262b2d2e3030303030302f2e2e2d2b282322211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000613202d394653606c7884919eaab4bfcdd6d8ccc0b6aca29891847a6d665d554c443b3229241e18120d07040100000000000000000105090e13192029323b44505b65717d8a98a2aebac6d3dfdcd1c3b7aa9d908477665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd1c4b7aa9e918477675d5145392c201306000000000000000008131e28313a46535f69727f8c95a0acb7c1cdd7dbd3c6baaea2988e81756b60544b4033291f1108000000000000000000020c17232e38424f59616d7a85929ea6b0bdc7d1d9cec3baaea3999082776c60564c41362a1e150b000000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a79e9184796d60564c4133291f100700000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a093877a6d6054473a2d211407000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12060000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e161c21272c3036393b4145474a4d4a5053545556565655555453504a4d4a4745403a3935302b27201a252e353b3e40424242424242424242423d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfd4c8bbafa49a8b7e7164554b4032281e0f05000000000000000000000000000000000000000000000000000000060f181f262a2d2e2d2a261f180f06000000000000000000000000000000060e141a1e2122232323232323222221201f1c171515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164564d41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c5663707d8a96a0acbcc6cfd7d4c8bbafa49a92867c6e685d544b433a32292019130c0700000000000000000000000000000002080e172027333f4953606d7985929fabb8c5d2dedfd2c6b9ac9f9386796d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c6b9ac9f93867a6d6053473a2d20140700000000000000020b19242f3a43505a616e7b86929fa7b1bcc9d2dfd4c8bcb1a79f92867b6e61594f42392e21170d000000000000000000000006111c26303d46525e68717e8b949fabb5c0cbd7d7cbbfb4ab9f948b7e71685e52463d30271d12070000000000000000101d2a3643505d6976839096969696969696969696969696969696958b7e71675d51443a3021170d0000000000000000000000000000000000000000000000020f1b2835424e5b6875818e969696969696969696969693877a6d6054473a2d211407000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1e252a2d2f35393a3d403f4446484849494949484746443f403d3a39352f2d29251e1b16131c232a2f323335353535353535353535302f2c272119110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c6b9ac9f93877a6d6154473a2f21160c0000000000000000000000000000000000000000000000000000000000060e141a1e2122211e1a140e06000000000000000000000000000000000003090e1214151616161616161615141312100b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e6875828f9ca8afb9bec5cdcabeb3a99f93887e706a5f564c4239312820170e0802000000000000000000000000000000000000050e17222d3845515c6774818e9ba7b4c1cedae0d4c7bbafa499887b6e6255483b2f221508000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897c6f6256493c2f231609000000000000000a141d2935414c55616c76828f98a2aeb9c3cedbd7cdc5b8aca0958c7f72695e52473d30271d0f050000000000000000000000000a151e2935414c56606c77829099a3afbbc4cfdad1c6bdb0a69e92857a6d61594f43392e23180c0300000000000000101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83786c60554b4032281e0f050000000000000000000000000000000000000000000000020f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6054473a2d211407000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6055483c2f231609000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191e2024292c2d302e34383a3b3c3c3d3c3c3b3b3a38342e302d2c2924201d19130f0a0a12191e232526282828282828282828282322201c160f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8dcd0c3b6a99d908376685e5246392d20130400000000000000000000000000000000000000000000000000000000000003090e12141514120e09030000000000000000000000000000000000000000020507080a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7c5b9ac9f92867b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000814212e3b4754616e7a8692979ea5adb3bbc1c6baada2978e81746c61584e443a30271f160d0500000000000000000000000000000000000000000006111b2934404b5565727e8b98a5b1becbd8e3d7ccc0b5ab968a7d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd8ccc0b6ac978b7e7164584b3e3125180b00000000000006111c262f3845515d67717e8a949eaab4bfccd5dbd0c5bbafa59d9083786d60564d42352b1e150b00000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d8cfc2b9ada1978e81746b60554b4034281f150900000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e665b5043392f20160c000000000000000000000000000000000000000000000000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053463a2d2013070005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c2014070000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114191d20212423282c2d2e2f2f30302f2e2e2d2b28232420201d1813110d08020000070d121619191b1b1b1b1b1b1b1b1b1b171613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2ddd9ccbfb2a6998c7f7366564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000205070807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e68717e858e939ea1a9afb9bcb1a79f92857a6d615a50463c32281e150d0400000000000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6e8ddd2beb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddaddd2bfb2a6998c7f7366594c403326190d0000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ded6cabeb3a99e93897d6f665c50443b3023190c03000000000000000000000000000008131e27333f49535f6a73808d96a1adb9c1ced8d6cabeb3a99d93897d70675c51453c31261a0e040000000000000915222f3b4854606b6f7070707070707070707070707070707070706e695f544a3f31271d0e04000000000000000000000000000000000000000000000000000815212e3b47535f6a6f70707070707070707070707070706d665c5044382c1f120600010d1925303b444c5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756554f473d33271c100400000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201f1c17171413100d070501000000000002060a0c0d0f0f0f0f0f0f0f0f0f0f0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfdbd7ccc0b5ab968a7d7063574a3d3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000106090b0c0e0e0d0d0c0c0b0a0807060401000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c56616c717a818a92979ea5adb3aba0958b7e72685e52483e342a20160c030000000000000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5e2d8cbbfb2a5988c7f7265594c3f3226190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b4a79a8d8174675a4e4134271b0e0000000000030f1c28333f4a545f6a74808d96a1adb8c2ced8d9d0c7baada2978e81746b60544a3f32291f1107000000000000000000000000000000020b17222d38414e58606d7984919ea6b0bcc6d0dacfc5bbafa59d9184796d60574d42372b20160c02000000000007131f2c38434f596063636363636363636363636363636363636363615f574d42382d1f150b000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363636363636363605c544a3f34281c1003000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707060c10121315151616161615141312100b0607060401000000000000000000000000000202020202020202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0ddd4c7bbafa499887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f121415161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000000000000000000060d121618191a1a1a1a19181817151413110d0809070603000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000020e1925303b44505a61686d757e858e939ea1a9a89d9083786c60564c41362c22180e04000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9ccbfb2a6998c7f7366594c403326190d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00000000050f1a232b3844505b666f7c87929fa9b2bdcac9c9d2c7beb1a79f92857a6d61594f42382e20170d000000000000000000000000000000000006111b262f3c45515d67707d8a949eaab4bfcac9c9cdc1b8aca0968c7f73695f53473e32281e13080000000000030f1b27323d464f545657575757575757575757575757575757575755534d453c2f261c0d030000000000000000000000000000000000000000000000000000030f1b26323c464e5355575757575757575757575757575753504a42382e23170c000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a09090808070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ded2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222323232323232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000010911181e22242527272727262524232221201d1919161312100c0604010000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000008141e29323e4850565e616c717a818a92979ea0968a7d70665b50443a30231a0f0600000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d9cdc0b3a69a8d8073675a4d4034271a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d10000000000b16212a36414d56606c78839099a3afbbbdbdbdbdbdc0b6aca0958b7f72685e52473d30261c0e050000000000000000000000000000000000000a141d2935404b55616c75828f98a2aebabdbdbdbdbdbdb2a89f92867b6e625a50443a3024190d0000000000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423c332a1d140a000000000000000000000000000000000000000000000000000000000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c110600000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c27211a11080000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546c7885929fabb8c5d2ded1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f303030303030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000009131b23292e313234343433333231302f2d2c29242523201f1c1713110d08010000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000020d17202c363e444c525a61686d757e858e939d9184786c60544a3f32291e11080000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e1100000004101c27333946525e68727f8b959fabb5b0b0b0b0b0b0b0afa49a9083786c60564c41352b1e150a00000000000000000000000000000000000000020b18242f3943505a616e7b86929fa8b1b0b0b0b0b0b0b0aea3988f82766c61564c4135291c11060000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180b0200000000000000000000000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e150a000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242323201c160f0800000000000000000000050d14191e202124242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c0f11121313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2ded1c4b7ab9e9184786b544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000030c1b252d343a3e3f414140403f3f3e3d3b3a39352f322f2d2c2823201d19130f0a040000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000050e1a242c323a414650565e616c717a818a928b7f72655b5042382d20170c000000000000000000000000000000000000000000000000000000030c1524313e4b5764717e8a97a4b1bdcad7e4d8cbbeb2a5988b7f7265584c3f3225190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ded1c4b7ab9e9184786b5e5145382b1e120000000714202c38444f59616e7b85929fa7a3a3a3a3a3a3a3a3a3a99f93877c6f665b50443a3023190c03000000000000000000000000000000000000000007121d28313e46535f69737f8c95a0a3a3a3a3a3a3a3a3a3aa9f948b7e71685d5246382d22170b00000000000007101921272c2f303030303030303030303030303030303030302e2d2b261f180f0600000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c28231c150c030000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171614100b0500000000000000000000000002080d1114141717171717171717171717171717171414110e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f20202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3ddd0c4b7aa9d9184776a5e51442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494846423b332a1f1409000000000000000b151e2d373f464a4c4d4d4d4d4c4b4b4a48474541413f3c3a38342e2c29241e1b150e09030000000000000000000000000000000000000000000008131f2c3845515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000008121a202930363e444c525a61686d757e85867a6d6053493f2f261c0e050000000000000000000000000000000000000000000000000000000b151e2b37434e586774818d9aa7b4c0cddae4d7cabdb1a4978a7e7164574b3e3124180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f120000000916222f3c4854606b75818e97969696969696969696969696978e81746a60544a3f32291e1107000000000000000000000000000000000000000000010c161f2a36424d57606d7984919696969696969696969696969692857a6d61544a3f33281c0f03000000000000070f161b1f222324242424242424242424242424242424242422211e1a140e060000000000000000000000000000000000000000000000000000000000000000060e151b1f21222424242424242424242424242424201f1c17110a0300000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b4bfcbd7ddd0c3b6aa9d9083776a5d5044372a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e53555656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e02000000000007121d27303f495156585a5a5a5a595857565554514c4e4c4946443f3a39352f2b26201a140d0500000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acb8c7c5b9ac9f92867a6e6154473c32271b0f0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000080e171e252a323a414650565e616c717a7e71675d5141382d1d140a0000000000000000000000000000000000000000000000000000020a121c27303947535f6a7884919eabb7c4d1dee3d6c9bcb0a396897d7063564a3d3023170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f120000000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a857a6d61584e42382d20170d0000000000000000000000000000000000000000000000040d1a26313b45515c66707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174665b5044382b1f120600000000000000040a0f1315161717171717171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f343738393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3aebac7d3ddd0c4b7aa9d9184776a5e51442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e120500000000000c18232e3942515b6265676767666665646362605d555b585653504a4745413a37312a251f170f060000000000000000000000000000000000000000000c18232e394754606a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000050d1319202930363e444c525a61686d716c61554b412f261b0b0200000000000000000000000000000000000000000000000000040b141c232e39424e58626f7c8896a1acb9c5d2dee1d5c9bdb2a895887c6f6255493c2f221609000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f130000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f685e52463d2f261c0e0500000000000000000000000000000000000000000000000009141f2834404b54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d201306000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0d0e0e0e0e0d0c0b0a08070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0b0c0c0d0e0e0e0d0d0c0a09070705010000000000000000000000000000000000000000000000010406070a0b0c0c0c0b090707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667986929facb9c5d2ded1c4b7ab9e9184786b554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d2114070000000004101c2834404b54626d7274747373727271706e6d676a676562605c5454524c47433c3631292117110a030000000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000002080e171e252a323a414650565e6164615a50433a2f1d140a00000000000000000000000000000000000000000000000003090d161d262d34404a545f6a75818e9ba8b2bdc9d5e1ded2c5b9aca096877a6e6154473b2e211408000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f120000000815222e3b4754606a6f707070707070707070707070707070706f6a5f564c41342b1d140a00000000000000000000000000000000000000000000000000030c18232e39424f59606b70707070707070707070707070707070706c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070c101213151718191a1a1b1b1a1a191817151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d111314161818191a1b1b1a1a191917161413110d08080705020000000000000000000000000000000206080d111314161819191818161413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5f6c7885929fabb8c5d2ded2c5b8ab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e2215080000000006131f2c3845515c66727f808080807f7e7e7d7b7a787674726f6d6665605d56534e46423b3328231c150c03000000000000000000000000000000000000000f1b27323c4754616e7a86929facb9c5c7b8aca095887c6f62544b4034281c1004000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000050d1319202930363e444c5254575550483e31281d0b0200000000000000000000000000000000000000000000030a0f151a20282f383f44515c666f7c87939facb9c4cedae5ddd1c4b7aa9e918477685e5246392d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200000006131f2b37434e58606263636363636363636363636363636363625f584e443a3022190b02000000000000000000000000000000000000000000000000000007121d27303d474f59606363636363636363636363636363636363605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070604000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415181c1f202223252627272828272626252322201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d20212324252627272827272625242221201d19171514120e0906030000000000000000000003090e1214191d20212324252625242321201d19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e45525e6b7885919eabb8c4d1ded3c6baada297877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b687581898989898989898989898989898989898989898989898989898989898989898989898074675a4d4134271a0e000000000713202d3a4653606d79868d8d8d8d8c8b8a8988878583817f7c7975716d68625f58534d453f342e261e150b020000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000002080e171e252a323a4146474b49453e362c1f160c000000000000000000000000000000000000000000060b10151b20262b323a424a505b606d7882909aa4afbbc8d6e0e4d8ccc0b6ac9a8d817467564d41362a1e1105000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e11000000030f1b27323c464e54555757575757575757575757575757575755534e463c32281e1007000000000000000000000000000000000000000000000000000000000b151e2b353d474f54565757575757575757575757575757575753504a42382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c07010000000000000000000000000000000000000000000000000000000000000000030a0f12141a1e212223282c2d2e3032333334343434333332302e2d2c282322211e1a15120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e202124292c2d3031323333343434333332312f2e2d29242421211e1a13120f0b0600000000000003090e151a1e2124292c2d303132333231302e2d29241e19130c0500000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3744505d6a7783909daab6c3d0ddd6cabeb3a995887c6f6255493c2f22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e96969696969696969696969696969696969696969696969696969696969696968d8074675a4d4134271a0e000000000a1723303d4a5663707d89989a9a9999989796959892908e8b8985827e7a756f6a615e5751443f3830261d140a00000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6c3b8ab9e9285796d6053463b3025190d010000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000050d131920293036393a3e3d39342c241a0d0400000000000000000000000000000000000105090e11171c1f262b31373e444c545b606d74808d949facb6c0ccd8e8e0d4c8bbafa49a8a7d7164574a3e3025190e02000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c4b7aa9d9184776a5e5144372b1e11000000000a15202b343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20160c0000000000000000000000000000000000000000000000000000000000030c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f201f1c18120b030000000000000000000000000000000000000000000000000000000000060b10151a1f21262b2d2e2e34383a3b3d3f404041414141403f3e3d3b3a38342e2e2d2b26211f1b15100c060000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f252a2d2e2f35393a3d3e3f3f4041414140403f3d3c3a393530312e2d2a25201f1c17110d08020000050d141a1f262b2d2f35393a3d3e3f3f3f3e3c3a3935302a251e160e0500000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c68737879797979797979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cedbdbd0bdb0a4978a7d7164574a3e31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e00000006121f2b37434e586774808d9aaaa6a6a5a5a4a3aaa29f9d9a9898928f8b86817c756e69625b504a42382f261b11060000000000000000000000000000000000010d1925303b4653606d7985929eabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000002080e171e252a2d2e31302d28221a12080000000000000000000000000000000104080d11141a1c23282b32373c424750565d666c737f8c929da6b0bec7d2dde8dfd2c6b9ac9f93877a6d6154473a2e21140800000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000000000040e19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000000000000000000000000000000000000000000000000000000000071119232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23292c2d2c29231d150d030000000000000000000000000000000000000000000000000000060c11171c1f262b2e31373a3b3e404446484a4b4c4d4d4e4e4d4d4c4b4a484644403e3b3a37312e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000001080b141c22282b30363a3b3f414547494b4b4c4d4e4e4d4d4c4c4a49474641403e3b3a36312d2b28221c19140e09080f171f252a31373a3b414547494b4c4c4b4b494746413a36302820160c02000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788586868686868686868686868686796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0d1dcdacdc0b3a79a8d807467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000030608090605030000000000000000000000000000000f1c2835424f5b6875828e9ba8afafafafafafafafafafafafafafafafafafafafafafafafafafafafa79a8d8074675a4d4134271a0e0000000815212e3b47535f6a7884919eabb3b3b2b1b1b0b3aeaba9a7aaa29f9c98928e88827b726d605c544a41382d22170b04000000000000000000000000000000000008141f2c3845515c6774808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000050d13191e20212423211d171008000000000000000000000000000104080d1113191e20262b2e34383c43474d535a61686d78808c919ba4aeb8c2d0d9e4e2d4c8bcb1a79d908376685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b5a89b8e8275685b4f4235281c0f000000000007101920272b2e2f303030303030303030303030303030302f2e2b2620181006000000000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030303030302d2b28221c140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272f34383a38342f271f150b010000000000000000000000000000000000000000000000030a11171c23282b31373a3c4246484b4a5153555658595a5a5b5b5a595958565553514a4b4847423c3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000040c13191d262d33383b4246484b4c5254565758595a5a5b5a5a5958575554524c4d4a4846423c3938332d2a251e1a15121a212930363c4247484c51545657585958575654524c46413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788591939393939393939393939386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98abb5bfcbd7ded1c4b7ab9e9184786a5f53473a2e2114090000000000000000000000000000000000000000000000000000000000040a0f12151513120f0b06000000000000000000000000000f1c2835424f5b6875828e9ba8b5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a79a8d8074675a4d4134271a0e0000000915222f3c4855626f7c8896a1acb9c0bfbebdbcbebab8b6b4b4aeacaaa39f9b938f867f746d665c53493f332720150a000000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000002080d111314181714110c0600000000000000000000000004070d1013191d20252a2d3137383f44464e53575f626c717a828d929ba3adb7c0cad4e2e3d9d0c7b8aca0958a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8dacdc0b3a79a8d8074675a4d4134271a0e000000000000070e151b1f22222424242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151a1d262d333940454745403931271d120700000000000000000000000000000000000000000001080c151c23282e34383c4347484d535558545c606163656666676767676666656361605c545855534d4847433c38342e28231d150c080200000000000000000000000000000000000000000000000000000000060d161e24292f383f44464d525458565d6063646566666767676666656462615d565a5754534d4946443f3836302b262018242c333b42464d5355555d6063646566656463615d56524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3ded2c5b9aca196887b6e6255483b31251a0e04000000000000000000000000000000000000000000000000000000060e151b1f2122201f1b17110a0200000000000000000000000f1c2835424f5b6875828e9ba8b5c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000005111e2a36414d5666737f8c99a8b2bdc9cccbcad0cac6c5c3c1bfbab8b4aeaca59e98928b80786d655b50443c32271b0c0200000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998c7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000010507070b0a0805000000000000000000000003070c1013181d2024292c3036393c42464a5053585f62696e767e858f949da4adb5bfc9d2dce8ddd2c7bdb2a89d9184786c6053463a3025190d0100000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8ccbfb2a5998c7f7266594c3f3326190c00000000000000040a0f131516171717171717171717171717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b5153514b43392f23180c0000000000000000000000000000000000000000040c13191e262e34383f44464e5355575f616467666d6e7072737374747474737271706e6d666764615f5755534e46443f38342e271e19130c0400000000000000000000000000000000000000000000000000000610181f282f353e424a5053575e616568686d7071727273747474737372706f6d68696764615e575653504a46413b373129242d363e454d52575f6166676d7071727272716f6d68615e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabacacacacacacac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd5c9bdb2a8998c7f7266574d42362a20150a000000000000000000000000000000000000000000000000000006101820262b2e2f2d2b27221b140b02000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6d6d1cac4c1bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb3a79a8d8074675a4d4134271a0e00000714202d3946525e687683909da9b6c3cececfd1d2d4d3d2d0d0cac6c5bfbab9afaaa29f928e81776c60584e43372b1e140a000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000060c1012181c1f24292c2f35393a4146474d53545c60636a6f757b828a91979ea6aeb6bfc7d1dbe4ded7ccc0b5aba0968a7e71665b504438281e13080000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd7cbc0b5ab978a7e7164574b3e3124180b000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181e252931373d414950555c605c554b4034291c1004000000000000000000000000000000000000070d161e242930383f444a5053585f6266696e717477797b7d7e7f8080818180807f7e7d7b797774716e6966625f5853504a4540393029241e160e07000000000000000000000000000000000000000000000000060f18222a313a414550545b6063696e7274777a7c7e7e7f80818180807f7f7d7c7a787673716e696662605b54524c47423c352f373f4850575e61696e73777a7c7e7f7f7e7e7c7a786d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8b9b9b9b9b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dbdacec3b6a99c908376695e53463c32271b0f05000000000000000000000000000000000000000000000000050e18222a31373a3c3937332d261d140a000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd1c8bfb9b4b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a79a8d8074675a4d4134271a0e00000814212e3b4754616e7b87939facb9bfc0c1c2c4c6c7ccd2d2d5d6d3d1cbc7c1bcb4aea59d938d80736a6054473e30261c110600000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000001040a0f11171c1f23282c2f35393a4145474c5254575f61666d70757c81878f949ea1a9b0b8c0c8d1d9e3ded6ccc4bbafa4999184786d60544a3f3328160c020000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c7bbafa399887c6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d232830353c42474f535b60676d675c5145382c1f1306000000000000000000000000000000000009101920282f353d424a50545c60646a6e73777b7e81848688898b8c8d8d8e8e8d8c8c8b89888684817e7b77736f6a64605c54514b423d3530282019100900000000000000000000000000000000000000000000050e18212a343c434c515a61666c70757b7e818486898a8b8c8d8d8e8d8d8c8b8a88878583807d7b77736f6c66615e56534e45413a3f49515a61696e757b808486898a8b8c8b8a8987857a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4c6c6c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa9b3becad6dfd2c5b9ac9f92877b6e61584e43372b21170d0400000000000000000000000000000000000000000000030c17202a343c43474846443f382f261b11060000000000000000000f1c2835424f5b6875828e9ba8b5c1ced5cabfb6aea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8074675a4d4134271a0e0004101d2935404b5565717e8b9aa4afb2b2b3b4b5b7b9bbc0c4c5c9ced5dad7d3cec6bfbaafa59f93877c6f62594f42382e23170b00000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000001070d11151b1c23282c2e34383a4045474c5254565e6165696e73797d82888e93999fa6adb3bbc1cad2dae3ddd5ccc4bab0a69f93877d70665c5042382d221705000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272e343a41464d535960656c71796d6053473a2d201407000000000000000000000000000000010a121b222b323a41454f545c60666d71777b8084888b8e919399969899999a9a9a9a999998969992918e8b8884807b77716d66605c544f46413a322b221b120a0100000000000000000000000000000000000000020d172029333c464e555d606c70787d82868b8e91939a979899999a9a9a999998979597928f8d8a8784807c78736e68625f57514b4347515b626c717b81888c91939a979899989796978a7d7064574a3d2f24180d0100000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3d4a5763707d8a97a2adbac6d3dfd4c7bbafa3998e81756a6054473e332920160c030000000000000000000000000000000000000000030c151e29323c464e535553504941382d22170b0000000000000000000f1c2835424f5b6875828e9ba8b5c1ced0c4b9aea49c9999999999999999999999999999999999999999998d8074675a4d4134271a0e0006131f2c3845515d6775828f9caca4a5a5a6a7a9aaacafb5b7b9bdc4c9cfd6dfd7d0cac0bbafa49a8f82766b61544a3f34281c10030000000000000000000000000000000005111e2a36414d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e34383a4045464b5153565d6065686d72767b80848a8f949b9fa4abb0b9bec4cdd3dce5dcd4cbc3bab2a89e948c7f736b60544a3f2f261c1106000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7ddd0c4b7aa9d918477675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d262d333940454c52575f616b6f787e84786b5e5145382b1e120000000000000000000000000000010a131c242d343c444c525960666d72787e83888c9196979a9d9fa4aba5a6a6a7a7a7a7a6a5a4aba39f9d9a9796918c88837e79726d666059524c443d342d251c130a0200000000000000000000000000000000000008131e29323b454e585f676d747d848a8f92999b9d9fa4aca5a5a6a7a7a7a6a6a5a3a9a29f9c9a9795918d89847f7a756e6a605d554f4f59626d727e868e93999d9fa4aca5a5a5a4a99a8d807367554b4135291d110400000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cedad7cbc0b5ab9f93877c6f62594f453b32281e150c05000000000000000000000000000000000000050d151e27303b444e585f62605b53493f33271b0f0300000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc1b4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8074675a4d4134271a0e000714202d3a4753606d79869297979898999a9b9c9e9fa4ababacb2b9bec4cdd5dddbd6ccc0b6ac9f948a7d70665c5044382b1f120600000000000000000000000000000000020e1925303b4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000040a0f151b1d24292c3237383f44464b5153555d6064686d71767a7f83888d91969c9ea6acafb5bdc2c9cfd6dfe0d9d5cac2b9b1a8a0968f82776c60594f42382e1d140a00000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2dddbcec1b4a89b8e817568554b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b51565e61696e757d838a86796c605346392d201300000000000000000000000000010a131c252e363f464e565d606b70787f848a9095999da0a8a7aaacafb5b1b2b3b3b4b4b3b3b2b1b5afacaaa7a8a09d9995908a847f79706b615d564e463f372e251c140a0100000000000000000000000000000000030c1925303a444d575f6a6f7a818a91969c9fa3abaaacafb6b1b2b3b4b4b3b3b2b2b0b3adaba9a6a8a09d9996918c86817b736d67615955606b727f8892989ea5aaacafb6b2b2b1b1aa9d908377675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674818e9ba8b2bdc9d5dcd1c7bbafa49a8f82766b61574d443a30271e170f0802000000000000000000000000000003090f171f273039434d565f6a6f6c655b5044372b1f150a00000000000000000f1c2835424f5b6875828e9ba8b5c1ceccbfb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000a1724303d4a5763707d8a8a8b8b8b8b8c8d8e8f9193999a9ea1a8adb3bbc3cbd5deddd2c7beb0a69d9184786d6053463a2d201308000000000000000000000000000000000008141f2c3845515c6774818d9aa8b1bdc8beb3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2b8b8b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000040a0f151b20262b2f35393c43474a5053555c6064676d71757a7e82868b9094999ea1a8aab0b9bbc0c7d0d5dae1ddd8cec9c0b8b0a7a09691847a6d655b50473d30261c0b0200000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e3d5c9bdb2a8988b7e7165584b3e2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931373d414950555c60686d747b8289909586796c605346392d2013000000000000000000000000000a131c262e373f48505860686d757d838b91969d9fa7aaacb2b4b7b9bbc0bebfc0c0c1c1c0bfbfbec0bbb9b7b4b2acaaa7a09d96918b847d756d686058514940372e261c130a000000000000000000000000000000000a151e2a36414c565f696f7c848e939ea1a8acafb5b7b9bbc0bebfc0c0c1c0c0bfbebdbebab8b6b3b1acaaa9a19e99928e868079706b625d67707d87939aa2aaafb7b9bbc0bebfbeb9ac9f92867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8996a1acb9c5cfdbd8ccc0b6ac9f948a7d70695e564c423930292119130e09040000000000000000000104090e141a21293139434b555e696f7b776c6053463c31261b0f02000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679737373737373737373737373737373737373737373706b6055483c2f231609000915222f3c4855626f7c7e7e7e7e7e7f7f80818284868a8d91969ea1a9b1b9c3ccd5e0d9d0c2b8aca095897d706356493d3025190d010000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5ababababa99c8f8376695c504336291d1000000000000000000000000000000000000000000002080d151b20262b32373a4145474e54545c6063676d70757a7e82868b8f92999c9fa6abadb2b7bbc1c7ccd2d9e2e2d9d2ccc4bdb9aea69f9590847b6e685d53493f352b1e140a0000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5ded2c5b9aca196887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353c42464f535b60676d727a80868f939d9386796c605346392d201300000000000000000000000008121c252e384049515a626a6f7a818991959ea1a8abb1b7b8bdc1c4c6c7ccd2cccccccbcbcdccccd1cbc7c5c4c1bdb8b7b1aca8a19e969189817a6f6a625b514940382e251c1108000000000000000000000000000006111c26303846525e686e7b8591969da5acb2b9bbc0c4c6c8ccd2ccccc9c7c6c6c6c7d0cac6c5c2c0bdb8b7b2adaba39f99928d857d726d606d7a859299a4acb4bcc1c6c8ccd2ccc7bbafa399897d7063564a3d2f23180c00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7884919ea9b3becad6ddd2c7beb0a69e91857b6e685d544b423b332a251e1a14100c07070605040607070d10141a1f252a333b434b555c676e7b857d7063584e43372b1e1408000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d66666666666666666666666666666666666666666360594f44382c201407000815212e3a47535f6a6f71717171717272737476777a7d80848b9197a0a7b1bac3ced9e2d4c8bdb1a89a8d817467564c41362a1e110500000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998b7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9c8f8376695c504336291d100000000000000000000000000000000000000000040c131920262b32373c43474b5154585f62666d7074797d81868a8f92999c9fa3ababb0b8b9bdc4c7ccd4d7ddded8d3d0c7c0bbb2aca49d948f837a6e695f564c41382d23190c020000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdaded1c4b7ab9e918478695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41464d535960656c71797f858d92999ea59386796c605346392d2013000000000000000000000007101a242e37404a525b636c717c848e939da0a7acb2b8bcc3c5c8ced0cec9c5c4c2c1c0bebfc0c1c2c4c5c8ced0cec8c5c3bcb8b2ada8a09d938e847c726d635b524a40372e241a1006000000000000000000000000000c17232e3842505a616d7a849197a1a8afb9bdc4c7cbd1d2cdc7c4c3bfbdbbbab9b9babbbcbec1c4c5c8c5c4bdb9b4aeaba39f9791877f746e727f8c97a1abb5bec6ced2d4d8d4d1cbc0b5ab998d807366554b4034291c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c66727f8b97a2adbac4cfdad9d0c2b9ada19791837a6d665c544d453e36302a251f1d181514131210131315181d20252a31363e454d555d676d79838f82766a5f53473b3025190d010000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605959595959595959595959595959595959595956554f473d33271c10040006121f2b37434e585f6264646464656566676869686d7074797e859095a0a8b2bdc8d4e0d9cec3b7ab9e918478685e5246392d201307000000000000000000000000000000000007121d2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c91919191919191918f8376695c504336291d1000000000000000000000000000000000000001080e161e242931373c43474e54555d60656a6f74797d81858a8e92989b9fa3abacafb5b7bcc2c5c9cfd3d7e0dfd8d3cdc7c2beb6afa8a09e928d82796e685f574d443a2f261b1107000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d5c9bdb2a89a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a21272c303940454c52575f616b6f787e848c92979fa3ab9f9386796c605346392d201300000000000000000000030d19222c363f49525c636d727e8791969ea5acb1b9bdc4c8cdd1cec8c5c4bdb9b7b6b4b3b2b2b3b4b6b7b9bdc3c6c8ccd2cdc8c4bdb9b2aca59e9691877f736d635c52493f362c22180c03000000000000000000000003101c28343f4a54616c76829096a0a9b2bac1c9ced4d7ccc6c2bcb7b6b2b0aeadacacadaeafb2b4b7b8bcc3c4c7c6bfbab5aea9a199938c80747884919ea9b3bdc7d0d8d9d2ccc8c6c0bbb6a99c908376675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929fa8b2bdc9d5dfd5c9beb2a9a0958f82786d665e575046413a36312c29242221201f1c1f202224292c31363b42464f575e676d79828f94887c6f62564c41362a1d12070000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352c21160b0000030f1b26313c464e5355575758585858595a5b565d6064666d727a839096a0acb9c4ced9ded2c5b9aca196877a6d6154473a2e2114070000000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000c1825323f4b5865727f858585858585858585858275685c4f4235291c0f0000000000000000000000000000000000040c1319202830353c43474e53585f62676d72777c8185898e92979b9fa2aaacaeb4b9bbc0c7c7cdd2d5dae0dbd6d3cdc7c2bcb7b1aca49f96918981786d675e564d453c32281d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7ded2c5b9aca096897c6f6256493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d61696e757c838a91969fa2a9aeb59f9386796c605346392d2013000000000000000000010b151f2a343e48515b636e737f8b9299a0a8afb8bcc3c9ced4ccc7c3bcb8b7b2acaba9a8a6a5a5a6a8a9aaacb2b6b9bbc0c7ccd2cfc9c3bdb8afa8a199928b7f736e635b51483e342a1e150b000000000000000000000006121f2c3844505c66707d8a949fa8b2bbc4ccd5d8d1cbc1bab6b1aba9a6a3a1a0a0a0a0a1a3a5a7aaacb1b6b7bbc2c7c6bfbbb3aba49f928b7f7b8796a1acbbc5d0d9d7d0c7c0bbb9b5afacaa9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515d6773808c96a1adb9c2cdd6dacfc4bbb1a79f948e81786e69615a524c46423b39352f2f2e2d2b282c2d2f2f35393b42464d535961696e79828f949b8e8174685e5246392f23180c0000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534640404040404040404040404040404040403d3c38332c231a0f050000000a15202a343c4347484b4b4b4b4b4c4c4d4e4c5254545c60686d7a84919ea8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000000000000000000000000000000000000a15202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000b1824313d4a56626d7278787878787878787878756f65594d4134281b0e00000000000000000000000000000000050d161e2429323a41454e53585f626a6f747a7e83888d92979b9fa2a9acaeb4b9babfc5c7cbd1d3d8dfded8d3d0cac6c2bcb7b0aba79f9a938d847d746d665d554c443c332a20160b0200000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd6cbbfb4aa9e9184776a6054473b2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434850545c60686d747b828990959ea1a8adb3bbac9f9386796c605346392d201300000000000000000007121d27313c46505a636d73808c919fa3abb2bac1c8ced5cec9c1bbb7b1acaaa8a19e9c9b9998989a9b9c9ea0a8a9acafb6bbc0c7d0d5cec8c1bab2aba39f918c80736d635a50463c30271d1207000000000000000000000713202d3a4653606d7884919da6b0bac3cdd6d8cfc6bfbaafaaa79f9d999694939393949496989b9da0a7a9abb0b8babfc6c4bdb5afa49f9287818e9aa8b2bdcdd6d7cdc5beb6afacaba39f9d9e99897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55606d7984919ea6b0bbc5d0d9d6cdc3b9b0a69e938e837b706c615e56534d4745403d3b3a393734383a3b3d4045474d53575e616c707b838f949e9f92867a6e61554b4034291c100400000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a33333333333333333333333333333333302f2c27211a110800000000040e18222a31373a3c3e3e3e3e3e3f3f40414145474a50565e68717e8a96a0acb9c5d2dedacebeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000915222e3a45515b62656b6b6b6b6b6b6b6b6b6b68655d53493d3125190c000000000000000000000000000000060e171f282f353e444c52585f626a6f757c81868b90959a9ea1a9abadb3b8babfc5c7cbd1d4d7dcded9d4d1cdc7c5bebab8b0aba69f9c9590878079706b605c544b433b322a21180e040000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e5dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dfd3c7baaea3988c807366584e43382b1f0d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353b42464f545a61666d727a80868e939d9fa7acb2babeb9ac9f9386796c605346392d20130000000000000000000c18232f39434e58616c727f8c929ca3aeb4bdc4ccd4d2ccc4bdb9b0aaa7a09d9996918f8e8d8b8c8d8e8f9196999d9fa4acafb6bec3cbd1d4ccc4bdb5aea39c928c7f726c61584e42392e23180c04000000000000000004111d2935414b5565717e8b96a0acb8c2ccd5d9d0c6bdb4aea59e9b95908c8a888786868788898b8e9195989c9fa6acaeb4bbc0c7c0bbafa399928e929da9bac4cedbd0c5bbb3aca49f9a99929191928c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3945515d67717e8a949fa9b3bec7d2ddd5cbc2b8afa59e9590857e746d68615e5753514b4948474644404546484a4b5153575e61696e757d8590959fa6a3988c8073675c5145382c1f160b00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2626262626262626262626262626262323201c160f0800000000000006101820262b2e2f31313131323233342f35393a3f444c56606d7884919eaab7c4d1ddd9cdc0b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000020e1925303b4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d110500000000000000000000000000000000000000000000000005121d29343f495156585e5e5e5e5e5e5e5e5e5e5c59534b42372c2015090000000000000000000000000000060f182029313a41454f565d606a6f757c82888e92989da0a7abadb3b8babec5c6cad0d3d7dcdfd9d4d1cec8c5c2bbb7b4aeaba69f9c949089837c746d676059514b423a312920180f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dff6ebe0d6cbbfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d7cbc0b5ab9f92867a6d6154473d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454d535960636c71797f858d92999ea5abb1b9bdc4cab9ac9f9386796c605346392d2013000000000000000004101c2934404b555f6a717e88939fa4adbabfc6cfd6d1c8c0bab2aca69e9c95918c88848381807f7f80818384888c90939a9fa4acb1bbc0c7cfd6cfc6bfbbada49f93887e706a5f544b40342820150a00000000000000000613202c3945515d6776828f9ca8b2bdcad4ddd2c7beb4aba39f938e88837f7d7b7a79797a7b7c7f8184888b90949a9fa3aaafb5bdc2c0b5aba39f9a9da5afbaccd6d6cabeb3a9a29a938d8886848485888276695c4f4336291c10000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935404b55616c76828f97a1acb6c0ccd8dbd4cac1b7afa79f97928a807a746e6963605d5556555453504b51535557555d6064696e737b818a92979fa7b0aa9e9285796d6053473d33271c1000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201919191919191919191919191919171614100b050000000000000000060e151b1f2122242425252525262724292c2e343a44505c6673808d99a6b3c0ccd9dbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000009141f2c3845515c6774818d9aa8b2bdc8beb3a99b8f8275685e5246392d20150a000000000000000000000000000000000000000000000000010c18232d373f454a4b525252525252525252524f4d49423930251b0f0400000000000000000000000000061018212a333b434c525961686d747c82878f939a9fa2aaabb1b8b9bec5c6cad0d3d6dbddd8d4d2cdc8c4c3bcb8b7b0abaaa29f9a949089837d766f6b605d554f45403930281f170e0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e8e1dad0c6bcb3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbdbd4c7bbafa3998d8174685e5246392b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000001080d141a20272b303940454c52575f616b6f767e848c92979fa3abafb8bcc2c9ceceb9ac9f9386796c605346392d201300000000000000020c1a242c3845515c676f7c86929aa4afb6bfcbd1d8d0c7bfb6aea8a19e948f8884807b787675737272737576777b7f83878e939a9fa7afb5bdc6cfd8d1cbbfbbafa49a92867c6f665c51453c32261b0f05000000000000000714212d3a4754606d7a86929facb9c3cedfd8ccc0b6aca399928a817b7673706e6d6d6d6d6e707274777b7f83888e92989fa4abb1b9c0bdb5afaca7a9afb7c0cbded3c6baada2979288807b797777797b7e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18242f3943505a616e7b85929aa4afbbc0c9d3dbd3c9c1b9b1a9a29f928d86807b74706d6766636261605b545c60626466676d70757b80868e939fa2a9b1b9ada1978b7e7165594f44382c1c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000000040a0f121515181818181819191a191d202328343f4a5464717e8a97a4b1bdd2dddccfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000004101c2934404b55626f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f0000000000000000000000000000000000000000000000000006111b252d343a3d3f4545454545454545454542413d3730271e140900000000000000000000000000050e18222a333b454d565d606b707a81878f939a9ea6acaeb4b8bcc3c6c9cfd3d6dbddd7d4d2ccc8c6c3bcb8b6b1acaaa69f9c98928e89837d76706b636059514b433d342e271e160d050000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8dfd6cfc9c6c4bbb1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6ddd5c9beb3a99f92877b6e61564c41362a190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d60696e757c838a91969fa2a9aeb5bdc1c8cdd0cac4bdac9f9386796c605346392d2013000000000000000a141e2c38434f59606d79839198a2acb6c0c8d7dcd0c7bfb5ada49d96918a827c77736f6a6968666565676869696e72767b818790959fa3abb5bdc6cfd8d7ccc0b6aca2989083796d60584e43372b21160b000000000000000a1724313d4a5764707d8a99a3aebbc7d3e0d4c8bbafa49a92877e756e696663616060606161636568696e72767b81868d93999fa7aebbbfc0bbb9b4b5bac0c9d2d4c8bdb1a89f92857d746e6d666b696e706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69707d88939fa5afb7c1c9d6dbd3cbc2bbb3ada49d98928d86817d7a7672706e6d6c656b666d6e7073767a7d82878d92989ea5adb3bbbeb3a99d9083776b605448382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000030608090b0b0b0b0b0c0c080d111317232e3b4855626e7b8895acb6c0ccd8dccfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000c18232f394754606a7784919dabb5c0c7bbaea3998b7f7265584e43372b1c11060000000000000000000000000000000000000000000000000009121b23292e3132383838383838383838383534312c251e150c02000000000000000000000000020b17202a343c454d575e686d747d848e939a9fa4acb0b8babfc6c8cdd2d5dadcd7d3d2ccc7c6c0bbb9b6b1acaaa7a09d9994908b85817c76706b636059544f4540393128231d150c04000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d6cdc5beb9b8b9b9b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ded5cbc3b9ada1978d8074695f53443a3025190700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434750545c60686d737b818990959ea0a8adb3bbbfc6cfd1cbc5bebab2aca79386796c605346392d201300000000000006111c2630384854606b73808d95a0aab4bec7d2dad0c7beb5ada39c928d847d756f6a66625f585b5a58595a5b575f6166696e747c838b9299a3abb4bcc6d0d9d2c7beb4aaa0958d80736a5f54473d33271c10040000000000010e1b2734414e5a6774818d9aabb5bfcbd7d8ccc0b6ac9f93887e716c615f57575554535354555658575f61656a6e747a808790959da4aeb5bdc6c5c1c2c5cbd2dbd1c5b8aca0958b7f726b62605c575f6164615a5044392d201408000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d56606b73808c939da5afb7bfcad0d8d4cdc5bebaaeaaa29f99928e8986837f7c7b7a79787879797b7d7f82868a8f92999fa3aaafbabec5c5b8aca095897d7063544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000001040614202d3a4753606d7a869aa4afbbc8d4dcd0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000007121d2b38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000911181d2224252b2b2b2b2b2b2b2b2b2b292825201b140c03000000000000000000000000000a141d29323c464e575f696e7a818a91969fa4acafb6bec1c6cad0d4d9ddd7d4d1cbc7c5c0bbb9b6afaca9a7a09d9995918c88837e7a746f6a636059544f48433d352f281f18120b0300000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc5bbb3adabadb3bab2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd7cdc3b9afa59e91857a6d60574d4232291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939d9fa7acb2babec5cbd1ccc6bfbab3ada8a19e9586796c605346392d20130000000000000b17232e3842505a636f7c87939fa8b1bcc6d0d9d3c9beb5ada39b918c8079706c625f5855534e4e4d4c4c4d4e4d5355575e616a6f787f879299a3aab4bdc7d2d9d0c6bcb1a79f92877c6f62594f44382c21160a000000000003101c2936434f5c6976828f9ca9b5c2d1dcd4c8bbafa49a8e81746c615a534d4a484746464748494c4d5355585f62686d747c838d929fa3abb5bfcbcdced1d6ddddd0c4b7aa9d9184796d605953514d5355575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303b444f59636e74818e939ea5aebabfc6ced6d7cfcac0bcb4aeaba39f9b98928f8c8988878685858686888a8c8f92989b9fa3abaeb4bcc1cacac0b9b0a79c8f8276665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000060c121518181f1f1f1f1f1f1f1f1f1f1c1b19150f09020000000000000000000000000006111b262f3b444e585f696e7b838e939ea1a9afb6bbc0c7d0d3d6dbd9d4d2ccc7c6c0bbb9b5afacaca49f9d9895908c8884807b76716d67626058544f48443d383229241d160d07000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a9a19ea1a9afb7b3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad7cdc5bbb1a79e938a7e71675d51453b3120170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000003090e151b1e272e343a41454d535860626c71797f858d92999ea5abb1b9bdc4cad0d0c7c0bbb4aea9a29f96918a83776a5d5044372a1d11000000000003101c28343f4a54616c76839099a4afbac3ced8d6cdc1b7ada39b918b7f746d67615a534e48474342403f3f40424246484d535860666c727e879298a3abb5c0ccd7d8cec3bbafa3998f82766b6054483d32271b0f020000000004101c2834404a546a7784909daab7c3d0ddd2c6b9ac9f93877b6e615a5047423d3b3a3a3a3a3b3d3f4246484e53565e616a6f78808b9299a3aebbc0cbd4dee2e5d9ccbfb2a6998c7f73665c5046444246484a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d47525c606c78818e939ca4aeb4bcc2cad0d7d6cec6bfbab5aeacaaa39f9c9996959992919292989597999c9fa3aaacafb5babfc6cec6bfbaaea69f959083796d6053463a2d2013070000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000a16202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c5044382c1f13080000000000000000000000000000000000000000000000000000000105090b0c121212121212121212120f0e0c09040000000000000000000000000000000b17222d38414c565f6a6f7b8491959da5adb2bbc0c7ccd2d9dfd8d3cec8c7c0bbb9b5afacaba49f9c9a93908c88837f7b77736e6964605d55544e48443d38332c272118120c0400000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada19792979ea5afbcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dad5cdc5bbb3a9a0958e81756c61554c4133291f0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000001080d141a20272b303940444c52575f616a6f767d848b92979fa3abafb8bcc2c9cecec8c2beb6afaba39f97928c847e776c605346392d201306000000000006121f2b3844505c66707d8a959fabb5c0ccd5dacfc4bbafa59b918b7f726d605d555047433c3a37313332323431373a3b42464e545b606c717d869299a4afbbc3cfd9d7cbc0b5ab9f94897d7063594f43382c1e13080000000006121f2c3844515c667885929eabb8c5d1dccfc3b6a99c908376695e53473e37312e2d2d2d2e2e3031363a3c43474c525860666d747e87929fa4aeb9c2cdd8e4e3d6c9bdb0a3968a7d7063544a3f38363a3b3d3c39332c241a10050000000000000000000406070c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000000000000000000000000000000020d17202c354044505b666d78818c929fa2aab1babfc6ccd2d6d0cac6bfbbb9b4aeaca9a5a3aba39f9e9e9fa3aaa3a6a9acaeb4b9bbc0c7cbc9c2bcb4aea49d9490837a6d665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495f6b7885929eabb8c5d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000505050505050505050502020000000000000000000000000000000000030f1b27333f49535e686f7c859196a0a7afb9bdc4ccd2d8ddd8d3ccc7c3bcb8b5afacaba39f9c9993908b87837f7b77736e6a66625f5753514b47433d38332c27211b160d07010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c5b8ab9e92858e939ea9b3bcbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3dad5ccc3bbb3a9a1979183796d605a50433a2f21180d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000060c13191f252a32373e424a51565d60696e757c838a91969ea2a9aeb4bdc1c7cdcfc9c3bdb8b0aca49f99928d857f79716c655b5044372b1f120500000000000713202d3a4653606d7884919da7b1bdc7d2ded5c9beb2a99e938b7f726d635b514b433e37312e2b2627252627262b2d31363d424a505a616b707d87939fa7b1bdc7d1dcd1c7bdb0a69d9083766b6054483a3025190d010000000713202d3a4653606d7986939facb9c6d2d9ccbfb3a6998c807366574d42352b2622212020212223262a2d31373a41464e545c606c717e8a929ca7b1bcc7d3dfe2d5c8bcafa295897c6f6256493c2e2a2d2e31302d28221a12080000000000000001070c10131418181818181818181818181818181818181818181818181f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201818181818181818181818181818181818181818181818181413110d070100000000000000000000000000000000000000000000000000000000000000000000050e1a2328333f4a545c666d77808b92989fa7aeb4bbc0c7cbd0d4d1cbc7c5bfbab9b6b2afb5afacababacaeb4b0b2b5b9babfc5c7cbc8c4bdb9b0aaa29f928d827a6d685e544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d45525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b3744505b656e7a859197a1a8b1b9c0c9cfd8dddad5cdc7c2bbb7b1acaba49f9c99928f8b86837f7b76726e6966625f5855534d4745403937322c27211c160f0a0400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82818e97a2aab4bdbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d6cfc9c1bab1a9a29792857c6e675d51483e31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000030a11171e242931363d434750545c60686d737b818990949ea0a8adb3babfc6cfd0cac4beb9b1aca69f9a938e86807a726d67605b53493f33271b0f030000000005121e2b37424d5764707d8a96a0acb9c2d0d9dcd2c6b9ada1978e81756d625b51454039312b26211f1a1a19191a1a1e21252a2f383f445059616b73808d95a0abb5c0cbd7d9cfc2b8ab9f95897c6f63564c41362a1d11050000000714212d3a4754606d7a8799a3afbbc7d4d7cabdb1a4978a7e7164574b3e31241a151413131415161a1e21262b30363c424a505a626c73808d959fabb7c2cdd8e4d5c8bbaea295887b6f6255483c2f2221222423201c17100800000000000000030b12181d1f202525252525252525252525252525252525252525252525252b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2525252525252525252525252525252525252525252525252520201d18130c0400000000000000000000000000000000000000000000000000000000000000000000081117222d38424b545c656c737e8690959fa2aaafb5babfc6c8ced2d3d1cbc7c5c2bfbcc0bbb9b8b8b9babfbdbfc2c5c7cbcbc7c3bdb8b2ada69f98928b81796d685e564c42382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b37434e58606c77828f97a1a9b2bac3ccd5dadfd6cfc9c2bbb7b0aba7a09d99938f8b86827e7a76726e6965615f5755534e4847423c39352f2b27201c16100b05000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859298a3abb3bbc3c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d6d0cbc5beb9b0a8a09792857c6f6a5f554b40362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939c9fa6acb2b9bec5cbd1cbc6bfbab3ada8a09d949087817b736d68605c55504941382d22170b00000000000714212d3a46535f6976828f9ca8b2bdcbd4e2d2c6baafa59e91857a6d615b514940352f271f1b15120f0a0c0c090e12141a1d262d333e474f59606d79839199a3afbbc7d2ddd4c8bcb1a79b8e8175685e5246392d2013080000000613202d394653606c7986929facb9c5d2d6c9bcafa396897c706356493d302316090707070708090e12151a1e252a30383f44505a606c7883909da7b1bcc8d4e0d5c8bbaea295887b6f6255483c2f221515171614100b0500000000000000030d151d24292c2d323232323232323232323232323232323232323232323232323845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463932323232323232323232323232323232323232323232323232322d2c29241d160d040000000000000000000000000000000000000000000000000000000000000000000006111c262f39424b535b606c717b838c92989fa4abaeb4b8bdc3c5c7cbd1d0d1cfccd1cbc7c5c4c5c5c7cbd1cccfcac6c5bfbab9b2aca8a19e948f867e746d675d564c443a30261c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a47535f6a727f8c949fa9b3bbc4ccd5dedcd4cdc5beb9b0aba69f9c95918c87827e7a76726e6865615e5755534d4847433c3a37312c29241d1b16100b050000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757d869299a2a9b1b9bec5c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d3d0cac6bfbab3ada69e9591857c6f6a5f574e43392f241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70797f858d92989ea5abb0b9bdc4cacfcfc7c0bbb4aea9a19e95918a827c756e69615d56514b443f382f261b110600000000000815222e3b4855616e7b87939facb9c3cedfdbcfc2b6a99e938a7d70685d52493f3729241d150d0a0603000000000205090b141c2228353e45515c676f7c87929facb6c0ccd8d8cdc2b9ac9f92867a6d6154473a2f24190d01000006121f2b3844505b667885919eabb8c4d1d6c9bdb0a3968a7d7063574a3d3024170700000000000002050a0f13191e262e343f44505b66707d89959fabb8c4d1ddd5c8bbaea295887b6f6255483c2f2215090a0a08040000000000000000010b151f272f35383a3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f45525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000000a141d2730394149505a62696e787f868e93999fa3aaacb2b6b9bbc0c1c3c5c6c9cfc8c9c9c8d0cbc7c5c4c2c0beb9b8b4aeaca8a09d96918a827b716c605c554c433a32281e140a00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000c18242f394854606b7784919eabb5c0c7baaea3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000001010101010101010101000000000000000000000000000000000005111e2a36414d56626e7c86929fa6b0bbc4cdd6dedbd2cac2bbb3ada69f9c948f89847f7b76716d6865615e5654524d4846423b3a37312e2b26201d18120f0a0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275717e8792979fa7adb3b9bdc4c6cac6c5c4c3c4c5c6cacfced2d2d0d0cac6c5bebab4aea9a19e948f837b6f6a60584e453c31281d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000001080d141a20272b30383f444c52575e616a6f767d848b92979fa3aaafb7bcc2c9cecdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d140a000000000005121e2a36424d576673808d9aa4afbbc8d4e0d3c7bbb0a69b8e81746b61564c41372d2518120b0300000000000000000000020a1117232934404b55606a74808d9aa4afbbc8d4e0d3c7baaea3988b7f7265554c4135291d11040000030f1c28333f4a546a7784909daab7c3d0d7cabeb1a4978b7e7164584b3e2f24180c03000000000000000002080c141c2328333f4a54606b7683909da9b6c3d0dcd5c8bbaea295887b6f6255483c2f22150900000000000000000000000007121d2731394045474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b525e6b7885919eabb8c4d1d2c6b9ac9f9386796c60534b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4745403a31281d130700000000000000000000000000000000000000000000000000000000000000000000020b151e272f383f4450575f666d737b81878e92989ea0a8aaacafb5b5b6b8b9bebbbcbcbcbcbbbfbab8b7b5b4b3adababa39f9c96918b847e766e69615a514b433a312820160c0200000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000007121d2c38434f5966737f8c99a4afbbc7bfb4ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e0e0e0c0b0906010000000000000000000000000714202d3946525e6874818e99a3aeb8c2cdd6dfdbd2c9c0b8b0a9a19e948f89827d77726e6964615e5654524c4846423b3a36312e2b26211e1a15100d0701000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c717d8590959ea1a9adb2b8babec2c4c5c7cbd1c9c9d0cac6c5c3c2bfbab8b3adaaa39f97928a827a6e6960584e463c332a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000060c13191f252a32373e424a50565d60696e757c838a91969ea1a9aeb4bcc1c7cdcec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0200000000000714212d3a46535f697784909dacb6c0ccd8ddd0c3b7ab9f94887c6f62594f443a30251b13070100000000000000000000000000061118232f39434e58616e7b87939facb9c4cedad7cbbfb4aa9c8f8276675d5145392c2013060000000b17222d434f5c6976828f9ca9b5c2cfd8ccbfb2a5998c7f7266554b4035291e150c08020000000000000000020a1117222d38424f596773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c18242f39434b5153585858585858585858585858585858585858585858585858585858585e6b7885919eabb8c4d1d2c6b9ac9f9386796c60585858585858585858585858585858585858585858585858585858585853514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000030c151d262d333e454d545c60696e747c81868c9196999d9fa3aba8a9abadb3aeafafafafaeb4aeacaaa9a7a9a29e9b99928f8a847e79716c615f575045403930281f160e040000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887c6f62544a3f34281c10030000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b191816120d070000000000000000000003101c28343f4a54616e7b86929fabb4bfcad3dfddd3c9c0b7afa69f97928a827c76706b66615e5754524c4746413b3a36302d2a26211f1a15120e0904010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696b707b838b92979ea1a8abaeb4b5b7b9bbc0bcbcbcbbbfbab8b7b5b4aeaca9a29f98928d857e756d685f574e463d342a21180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000030a11171e242931363c434750545c60686d737b818790949ea0a8adb3babfc6cfd0cac4bdb9b1aba69e99928e868079726d666159544e46423b353028231d17110a020000000000000815222e3b4855616e7b8895a0acbec7d2ddd5c9bdb2a89c8f82766a5f53473e32281e13090000000000000000000000000000000007121d27313d47535f6976828f9ca8b2bdc9d5dcd1c5b9ac9f92867a6d6054473a2d211406000000061b2835424e5b6875818e9ba8b4c1cdd9cec2b5a89b8f8275675d51453a30271e19130f0a06030000000000000006111c262f404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000004101d2935404b555d6065656565656565656565656565656565656565656565656565656565656b7885919eabb8c4d1d2c6b9ac9f9386796c656565656565656565656565656565656565656565656565656565656565605d554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000030b141b2227333c424a50565e616a6f747a7f84888c909299999b9d9ea1a9a2a2a3a3a2a2aaa39f9d9c9a9797928f8b86827d78716d67615a534d453e342e271e160d04000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000a16202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c5044382c1f130800000000000000000000000000000000000000000000080f161c202223282828282828282828282625221e18110a01000000000000000006121f2b3844505c6673808d99a3aebdc6d1dcdfd5cbc1b7afa59d948f857e766f6a63605954524d4746413b3936302d2a25211e1a14120f0906020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960696e787e858c91969b9fa2aaa8aaacafb5afafafafb4aeacaaa8aaa29f9b97928d86807a716c605d564d453d342b22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939a9fa6acb2b9bec5cbd1cbc5bebab2aca7a09d948f87817b736d67605c544f47433d363129241e18120b0600000000000000000c1926323f4c5965727f8c98a7b1bcd0d9ded2c5b9aca0968a7d7064584e43352c20160c0000000000000000000000000000000000010b151f2b37424d5764707d8a96a1acb9c5d2ded3c7baaea3998a7d7164574a3e2e23170c0000000c1825323f4b5865727e8b98a7b1bcc8d4d2c5b8ac9f92867a6d60564c4239302a251e1b13120f0b060502000000000a142734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000006131f2c3845515d676d7272727272727272727272727272727272727272727272727272727272727885919eabb8c4d1d2c6b9ac9f938679727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000020a1117212a30383f444d52585f62686d72777b7f8386898c8e90929794959596969595949892918f8d8b8885827e7a75706c66605c555047423c3328231d150c0400000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c3b8ab9e9185796d6053463a3024190d01000000000000000000000000000000000000000008111a21272c2f303434343434343434343432312e29231b130a00000000000000000713202d3a4653606d7985929eabb4bfcfd8e2d9cdc3b9afa59d938e827a716c626058544f4746423b3935302d2a25201e1a14120e090602000000000000000407090a090806030000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569575e666c717a7f848a8f9298999b9d9fa3aba2a3a2a2aaa29f9d9b9998928f8a85807b746d68615a524c433c332b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000002090e151b1e262e343a41454d535860626c70787f858d92989fa4acb0b8bdc3cacfcfc6bfbab3ada8a19e959089827c746e68605d55504a423e37322a261f19130c0700000000000000000005121e2a36424d576975828f9ca8b5c2cedbddd1c4b7aa9e9184786c6053463c31201a0e04000000000000000000000000000000000000030d1a26313c4653606c7884919eabb7c4d1ded7cbbfb4ab9a8d807467544a3f34281c100300000815212e3b4854616e7b8795a0acb8c7d1d3c7baaea3988b7e71685e544b433c36302b26201f1c1714110e090604000d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714202d3a4753606d797e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e85929fabb8c5d2d8cbbeb1a5988b7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060f181e262e343b42464e53565e61666a6e73777a7c7f82838586888889898989888887858482817e7b7975716d6864605b54514b433e37312a2118120b030000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d110500000000000000000000000000000000000000050f1a232b33383c3d414141414141414141413f3e3a352d251b1107000000000000000916222f3c4955626f7c8897a1adbdc6d1e1e0d4c8bcb1a79e938e81786d68615a544e48443d3a36302d2925201e1914120e0905020000000000000000050b101416171515120f0a04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c545b60686d73787d8285898c8f9192999595969695959892908f8c8985827d79736e68615e565045413a312a21191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaafb6bec2c8cecdc7c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d0802000000000000000000000714202d3a46525e697885919eabb8c4d1ded7ccc0b5ab998d8073665b5044382b1f1208000000000000000000000000000000000000000009151f2b3844505b6674808d9aa7b3c0cfdadcd1c3b6a99d908376665c5044382c1f120600000714202d3a46525e697783909dabb5c0cbd6cbbfb4aa9e92857a6d665c554e46413a37322d2b2822201e1a1313100c071a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a878b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9298a2aebac6d3d8ccbfb3a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474c5254585f6266676d6f727576787a7b7b7c7c7c7c7b7b7a79777674716e6c6564605d5653504a454039302b261f180f0700000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685d5246392d20150a000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000c1925323f4c5865727f8b98a9b3becfd8e2ded1c4b8aca0958e81776d665e565047433d38332d2a25201d1914110d08050200000000000000000000080f161c20222322211f1b150b060000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4a50565d60666d7075797c8082848687888989898888878584827f7c7975716d67615e56524c443e352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000040c13181f252a32373e424a50555d60696e757c828a91969ea1a9aeb4bbc0c7d0cec8c2bbb7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e09030000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd4c7bbafa499897d7063544a3f33281c0f030000000000000000000000000000000000000000030f1c28333f4a5464717e8a97a9b2bdc9d5dfd2c5b8ac9f9286796d6053463a2d201307000005121e2a36424d576673808c99a3afbbc5d0d0c6b9ada1978f81786d675f58524c47433c3938332d2d2a25201f1c18131a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879498989898989898989898989898989898989898989898989898989898989fa2aab3becad6dbcfc3b7aca39b98989898989898989898989898989898989898989898989898989898989894877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373a4146474e5355555d606366686a676d6e6f6f70706f6f6e6d6c6569676462605b5354524c46443f38342e271e1a150e060000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6154473c31261a0f00000000000000000000000000000000000004101c27333d474f54565b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000004101c2934404b556875828e9ba8b5c1cfdbdfd3c7bbb0a69d9083796d655c544c443e37322c27201e1a14110d08050100000000000000000000000008111a21272c2f302f2e2b262017110a02000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f444c52545c6064666d6f737577797b7b7c7c7c7c7b7a797775726f6d6664605c55524d46413a3229241e160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000070d161d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccfc9c3bdb8b0aba59e99928d857f79716c656059534e46413b352f28231c150c0a0400000000000000000000000000000a1724313d4a5764707d8a97a9b3bec9d5dfd2c6b9ac9f93867a6d6054473a2d22170b000000000000000000000000000000000000000000000b17222d3b4854616e7b8796a1adb9c5d2dfd3c7baaea398887c6f6255493c2f2216090000020e1a25303b4855626e7b87929faab4becad6cabeb3a99e938f81796f6a615e56534e4946443f3b3a36302d2c28231f1c2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abaeb3bcc5d0dbdfd4c9beb5aca7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141920262b3036393c4347484b515356595b555d60616262636362626161605b535a58555350494745413a38332d28231d150c0903000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000c18242f394854606b7784919eacb6c0c7baaea3998b7e7265584e43372b1c110600000000000000000000000000000000000714202c38444f5960636767676767676767676765625b51463a2e221609000000000006131f2c3845515c677884919eabb8c4d1dedcd0c3b7aa9e94897c6f675d534a423a322b27201c16110e0905010000000000000000000000000000050f1a232b33383c3d3c3a373127221b140b050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4241454a5053545c60636668666d6e6e6f706f6f6e6d686a686662605c5453514b46413b3630282019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000710191f282f353b42464e545961666d727a80868e939a9fa6acb2b9bec5cbd0cac4beb9b2aca69f9c938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfcfdaddd0c3b6aa9d908377675d5145392c1c1106000000000000000000000000000000000000000000000614212d3a46535e697884919eabb8c4d1ded6cbbfb4aa978a7d7164574a3e3124170b0000000914212e3a47535f6a74818e98a2aebac2cbcfc5bbafa59e938f837c736d68625f585553504a4746423d3a38342e2c282334404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b8babec5ced7e1e5dad0c7beb7b3b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1e252a2d31373a3b404547494c4f4b51535555565656565555545350494e4b4846443f3a39352f2b28221c18120b030000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000007121d2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083766a5f5347382e23170b00000000000000000000000000000000000916222f3c4854606b7074747474747474747474726d62574a3e3125180b00000000000714202d3a4753606d7a8696a1adb9c5d2dfd7cbc0b5ab9c8f82756b60554b41393028201b15100b050200000000000000000000000000000000000b16212b353d44484a4847433c332d261d170e0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4235383f44464a50535659545c6061626263636262615e565c595653514a4745403936302a251e160e080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000040f19222b313a41454d52585f626b70787f858d92989fa4acb0b8bdc3c9cfcbc6bfbab3ada8a09d949089817b736d68605c555049413d37312a251f18130c060000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddadacdc0b3a79a8d807467554c4135291d0a000000000000000000000000000000000000000000000005121e2a36424d576875828e9ba8b5c1cedbdcd0bfb2a5988c7f7265594c3f3226190c00000006121f2b37434e58616e7a85929fa6b0b9c3cccdc1b8afa59e959087807a746f6a6662605b5454524d494645403a38342e34404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbabebebebebebebebebebebebebebebebebebebebebebebebebebec5c6cad0d7e0e9ece2d9d0c9c3bfbebebebebebebebebebebebebebebebebebebebebebebebebebebebaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f13191d20262b2e2f35393a3c3f4240454748484949494948484746443f413e3b3937332d2c29241f1c17110c0700000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000000000a1723303d4a5663707d818181818181818181817f7265594c3f3226190c00000000000814212e3b4754616e7a8794a8b2bdc9d5e0d4c7bbafa3998a7d7164594f43392f271e160e0a040000000000000000000000000000000000000004101c27333d474f545655534e443f382f292018120b030000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362e34383a3f4446494d4a51535455565656555554524c4f4c494644403a38342f2a251f19130c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000a15202b343d434b51575e616a6f767d848b92979fa3aaafb6bec2c8cecfc7c0bbb4aea9a19e96918a837c756e69615d56514b443f382f2b262019140d070100000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd7cabeb1a4978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99a5b2bfccd8dacdc0b3a79a8d8074675a4d4134271a0e000000020f1a26313c46525e68727f8c949fa7b1bac4cccac1b7afa79f99928d86817c77736f6c6665615e575653514b4645403937404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbd2d3d6dbe1e9f2f4ebe2dad4cfcccbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11151a1f2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a3937332d312f2d2b2722201d19130f0b06000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000a16212d3a46535e6976828f9caab4bec8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000000000c1926323f4c5965727f8c8e8e8e8e8e8e8e8e8e8276695c504336291d1000000000000815222f3b4855626e7b8895a1aebbcfdadfd2c5b9ac9f92867a6d6054473d31271d150c040000000000000000000000000000000000000000000714202c38444f596063625f585049413b3229231d150d0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423623282b2e34383a3c4040444648484949494948474641423f3c3a38342e2c29231d19140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00030f1b27323d464e555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d1a150e0802000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd6c9bcb0a396897d7063564a3d30231708000000000000000000000000000000000000000000000000091825323e4b5865717e8b98a4b1becbd7dbcec2b5a89b8f8275685c4f4235291c0f000000000915202a36414c56606d79829095a0a8b2bac1cbc9c1b9b1aba39f98928e8884807c7975716e696763605c5453514b46443f4d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d7dce3eaf3f9efe7dfd9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f1214181d2020232624292c2d2e2f2f30302f2f2e2e2d2b27222522201f1b1713110d08030000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a3024190d010000000000000000000000000000000c1926323f4c5965727f8c989a9a9a9a9a9a9a8f8376695c504336291d100000000000091623303c4956636f7c8996a2afbcc9d5ddd0c4b7aa9d918477685d5245392b1f150b03000000000000000000000000000000000000000000000916222f3c4854606b706f6a605b534c443e342f271f17110a020000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1f23282c2d302e34383a3b3b3c3d3c3c3b3a393630332f2d2c28231f1c18120e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2b37434e5860676d737b81878f949da0a8adb3babfc6cccec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0a030000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded5c8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7dccfc3b6a99c908376695d5043362a1d1000000000030d1925303b45515c676d7a839196a1a8b0bbc0c7cbc2bdb5aeaaa39f9a96918c8885827e7b7773706d6664605c545350494d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c7cbd1d9e1eaf1e7ddd5cdc8c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206070d1013141619181d2020222223232323222221201f1b17181513120f0b06040100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000020e1a25313b4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d11040000000000000000000000000000000c1926323f4c5965727f8c98a5a7a7a7a7a79c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dccfc2b6a99c8f837669564c413529190d030000000000000000000000000000000000000000000008131f2b38434e5863707d7c726c655e564f4540393127221b140b0500000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c12171c1f202323282c2d2e2f2f30302f2f2e2d2a252623201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000815222e3b4754606a6f7980868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba69e99928e868079726d66615a544e46423b353028231d17110a0200000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cbc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000008141e2834404b555d686e7b8491969ea6afb5bdc2c8c6bfbbb4aeaca8a09d9997928e8b8784807d7975706d6663605b53515a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7cfd9e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709070d10131415151616161615151413120f0b06080605030000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000009141f2c3945515d6774818e9aa8b2bdc9beb2a99b8e8175685d5245392c2015090000000000000000000000000000000c1926323f4c5965727f8c98a5b2b4b4b4a99c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec2b5a89b8f8275685c4f422f24190c00000000000000000000000000000000000000000000040e1a242e3b4754606a7783867f776e686159514b433c332d261d170e07000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c060c10121316181c1f202122232323222221201e1919161312100c07040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000916232f3c4956626f7c858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca7a09d948f87817b736d67605c545047433d363129241e18120b06000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfd3c7bbafa399877a6d6054473a2d2114070000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000020c18232e39434c565e696f7c848f949fa3abb0b8bcc3c8c6bfbab8b2acaaa9a19e9b9895908d8985827d7974706c65605d556773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacafb5bdc7d1dce4d9cdc3b9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a090908070605030000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6054473c31261a0f0000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc1b6a99c8f8376695c504336291d1000000000000a1623303d495663707c8996a3afbccfdadccfc2b6a99c8f837669544a3f34281c10030000000000000000000000000000000000000000030c16202b37424d57626f7c89928b827a706b605c554e443f382f29201910070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f00030607070c101213151516161616151413110d08090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a979fa2aaafb6bec2c8cecfc6bfbab3ada8a19e959089827c746e69605d55504a423e37322a261f19130c07000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4dfd2c5b9ac9f928679675d5145392c2013060000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000007121d27303a444d575f6a6f7a828c92999fa6acb1b8bcc2c5c7c3bdb8b7b3adaba8a7a09d9a98928e8a85817c78726d67606773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a87949d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa3abb5c0cbd7e0d4c8bcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eacb6c0c7baaea3988b7e7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000916222f3c4955626f7c8895a9b3bec9d5ddd1c4b7aa9e918477665c5044382c1f130800000000000000000000000000000000000000020b151e28323a47535f6975818e9b948f857d746d675f585049413b322a22190e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000406070808090a0909080707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a9aeb4bbc0c7d0d4c9c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d080200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded2c5b8ab9f928578665b5044382b1f12060000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3ded1c5b8ab9e9285786b5f5245382c1f12000000000000000b151e28323b454e585f686d777f8790949da0a7abb1b8b9bdc4c5c5c4beb9b8b5b1acaaaaa29f9b97928e89847f79726d6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879090909090909090909090909090909090909090909090909090909090909299a3afbbc7d3ded1c4b8aca09590909090909090909090909090909090909090909090909090909090909090877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000007121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5347382e23170b00000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000714212e3a4754616d7a8797a1adb9c6d2dfd2c5b9ac9f9286796d6053463a30251910060000000000000000000000000000000000040b141d27303a44505a626e7b86929f9e97928a80796f6a605b534c443c342a20150a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bfc6ccd2d5cbc1b7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e0903000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3dfd2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000000030c162029333c464e565d656c727c838990959d9fa7abadb2b7b9bdc1c5c6c5c1bcb8b7b4aeaca9a29f9a96918b857f797073808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714212e3a4754616d7a8383838383838383838383838383838383838383838383838383838383838387929facb9c5d2ddd0c3b6aa9d8983838383838383838383838383838383838383838383838383838383838383837a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000713202d3946525e687885929eabb8c5d1ded3c7baaea3988a7d7063564c41362a22181008020000000000000000000000000001080d161d262e39434c56616c76828f99a3a9a19e928d837c726c655e564e463c32261b0f03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdd0d8d9cdc3b9afa59e99928d857f79716c656059534e46423b352f28231c150c0a0400000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2dfd4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000000000040e17212a343c444c535b606a6f767d838a9095999ea1a8aaacb2b4b8b9bec2c5c5c3bfbab8b3adaba8a09e97928c847d73808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000713202d3946525e686d7777777777777777777777777777777777777777777777777777777777777885919eabb8c4d1d2c6b9ac9f938679777777777777777777777777777777777777777777777777777777777777776e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000b17222d3846535e6976838f9caab4bfc8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000005111d2a36414c566976838f9ca9b6c2cfdad7cbbfb4aa9b8e8175685e52463e342a2219140e090502000000000000000105080d13191f282f38404b555e68717e8a949fabb3ada49d9590867f776e685f584e43372b1f1306000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d4c8bcb1a79e938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2ded7ccc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000050f18222a323a4149505860626b70787e83888d91969a9ea0a8a8abadb3b6b9babfc3c5c5bebab8b2aca9a19e96918880808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000005111d2935414c565e616a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b7885919eabb8c4d1d2c6b9ac9f9386796c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615e564d41362a1e11050000000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393939393939393939393939393635322d261e160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a2f24190d010000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000010d192530404d596673808c99a9b3bec9d5dcd1c5b8ac9f92867a6d61594f463c342a251e1a14120e090b0a0a0a0b080d1113191e2429313a4149515c676d7a85919ea6b0bdb9aea7a098928b827a6f6a5f54473b2e221508000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0958e817b746d68605c555049413d37312a251f18130c0600000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1deddd2bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7dccfc3b6a99c908376695d5043362a1d100000000000000000000006101820282f383f444e545961656c71767b8084898e9196989b9ea1a9a9acaeb4b7b8bcc3c4c3bdb9b3ada8a09a938c85929fabb8c5d2ded5c8bbaea295887b6f6255483c2f2215090000000000000000000000010d1925303a444c52545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5e6b7885919eabb8c4d1d2c6b9ac9f9386796c605d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d54524d443b3025190e0200000000000000000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464643413e3830281e0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000e1a25313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000081623303c4956636f7c8997a1adb9c6d2dfd3c7baaea2988e81756b61584e463e36302a26211e1a19181716171818191e20252a2f353c434b535b606d79829097a1adb8c2c0b9b1aaa39f948f857c6f6255493c2f221609000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d0c3b6aa9d90837b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0ddd6c9bdb0a3968a7d7063574a3d302417080000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000060e161d262d333d43474f535b60646a6e73787d8184888b8e9297999c9fa3aaaaacb1b6b8bcc2c5beb9b2aca49f989298a2aebac6d3dfd5c8bbaea295887b6f6255483c2f22150900000000000000000000000008131e28323a414647505050505050505050505050505050505050505050505050505050525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053505050505050505050505050505050505050505050505050505050504746413b32291f1408000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a5353535353535353535353535353534f4e49423a3020170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c2015090000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000713202d3a4653606d7985929eabb8c1d0d9d6cabfb4aa9e938a7d706a5f585046413b36312d2a2626252423242425252a2d30363a41454d555d656c75818e949fa9b2becacbc3bcb4aea69f92867a6e6154473b2e211408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0959087807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cedbd7cbbeb1a4988b7e7165584b3e3025190e020000000000000000000000000000000000000000000003101c28343f4a546673808c99a6b3bfccd9d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000040b141b222732373d41495053585f62666c7074777b7e8185888c8f92989a9da0a7a9abb1b8b9bec4beb6afaaa29fa2aab3becad6e2d5c8bbaea295887b6f6255483c2f221509000000000000000000000000020c1620283035393a444444444444444444444444444444444444444444444444444445525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053464444444444444444444444444444444444444444444444444444443b3936302920170d0200000000000000000000000000000000000000000000000000000000000004101c28333e474f55576060606060606060606060606060605c5a544c4232291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acb9c7c4b8ac9f92867a6d6054473c31261a0e0000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000006121f2c3844505c6673808d9aa6b0bec7d2dbd0c6bcafa59e92857c6f6a615a524c46423b3a3631323131303031323036393a41464c51575f676d77808d939ea6b0bbc4cfd5cfc6bbaea3998d8074685e5246392d201407000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcadcd4c8bcb1a7a099928d857f79716c656059534d46413a342e27221b140b090300000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2dddacec1b4a79b8e817468564c41362a1e11050000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000020a111720272b2f383f44464e53545b606367696e7175787c7f8286898d9095989d9fa7abadb3b8bcc0bbb3aeabaeb3bcc5d0dbe6d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000040e161e25292d2e373737373737373737373737373737373737373737373737373845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463937373737373737373737373737373737373737373737373737372e2d2a251f170e05000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000010d18242f394653606c7884919eacb6c0c7baaea3988b7e7165574d42372b1c110600000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000003101c28343f4a54626e7b88949eacb6c0ccd8d8cec1b9ada19792857c706c615e56534d484642403f3e3d3d3d3e3f404146474c52555d60696e79818d929da5afb8c2cdd6d7cbc0b5ab9f92867b6e61564c41362a1e1105000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcbd1d9cdc3b9b1aba39f97928c847e786f6b615f57524c454039332d261d1a150d08020000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8ddd1c4b7aa9e918477685e5246392d201407000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded5c9beb3a9968a7d7063574a3d3024170a000000000000000000000000050c13191d202120262d33373c43474a505356575f6165656c6f72767a7d8084878b9095999ea1a9acb1b9bdbebab8babec5ced7e1e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000040c13191d20212a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a21201e19140d0500000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70797979797979797979797979797979767066564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000007121f2b3744505b6573808c9aa4afbbc8bfb4aa9d908376695f5347382d22170b00000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000c17232e3847535f6a75828f9aa4afbbc5cfdad6cabeb3a9a19792857e756e68615f5755534d4d4c4b4a494a4b4b4d4c5254565e61676d737b838f939da4aeb7c1cad4d8cec6bbafa3998e8174695e53443b3025190d01000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b4bbc0c7cfd4cbc3bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c0700000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d899aa4afbbc8d4ded2c5b8aca096877a6e6154473b2f24180c000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3dfd2c6b9ada197877b6e6154483b2e2115080000000000000000000000050e161e252a2d2e2d2a25272b3137383f44464a4d5355535b606266676d7073777b7f83888d92979da0a7acb2bbc0c5c6cad0d7e0e9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000002080d1113141d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1414110e0802000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707d8686868686868686868686868686868276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c6b7ab9f95887b6e62544a3f33281c0f03000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000006111c2b37434e58626f7c87939fa9b3becad6dacfc5bbb3a9a197928a817a736e6964615f57595958575657575859565e6164686d727a808690959ea5aeb6c0c9d3dcd0c6bcb1a79f92877b6e62574d4232291e140800000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2dfd4c8bdb2a8978a7d7164554b4035291b1106000000000000000000000000000000000000000004111d2935414c5665727e8b98aab4becad6ded1c5b8ab9e928578695e53463a2d21140700000000000000000000030c1620283036393a3936302820262b2d3338393d42464849505355555d606367696e72767b80858b90959ea1a8afb6bec5ced7e2e9f2e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000105070711111111111111111111111111111111111111111111121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013111111111111111111111111111111111111111111111108070502000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9393939393939393939393939393877b6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000b17222d3846535f6976838f9caab4bfc7bcb1a7998d8073665b5044382b1f1308000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000f1a26313c47545f6a75818e97a1adb9c0cad4d7cdc5bbb3a9a29e938e85807b75716e696866656464636364656668686d71757a7f858d9299a0a7afb8c0c8d2dbd6cbbfb4aa9f958c8073695f53453b3120170d0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a92989fa3abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000613202c3945525d687784919daab7c4d1dcd9cec0b4a79a8d8074675d5145382d22170b00000000000000000000000000000000000000000a13202c3945525d6875818e9ba8b4c1d0dbdbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000a151e28323a41464746413a322c231c22282b2d31363a3b3f4446494b515356575e6165696e73797e838a91969fa4acb4bcc5d0d9e3eee1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000004040404040404040404040404040404040404040405121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060404040404040404040404040404040404040404040400000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f9f9f9f9f9f9f9f9f9f9f9fa4998c7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184786c6053463a2f24190d010000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000915202b37434e58616d7a85929ea4aeb8c2cbd4d7cdc5bbb3ada59e97928d87827e7b787573727170707071727375787a7d82868c92979fa3abb1b9c1cad2dad2c9c1baaea3989083786d60574d4233291f0e050000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000714202d3a4753606d797f868e92999ea6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000000000000000000004111d2935414c566874818e9babb5c0cbd7ded1c5b8ab9e9285796d6053493f33271c110600000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d2dfd5c9beb3a9998c807366594d4031251a0e0200000000000000000006111c26303a444c5254524c443e352c21171c1f20262a2d2d3337393c4045474a4d5254575f62676d71787e848d939aa2aab4bdc7d2dde8e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aeacacacacacacacacacb5ab9d9084776a5f5347382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000e1a26313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000030f1b26323c46525e68717e8a929da6b0b9c2cbd6d7cdc5beb9afa9a29f99938f8a888582807f7e7d7c7d7e7e808284878a8f92999ea1a9aeb4bdc3cbd3dbd6c9c1b7afa59f92867c6e665c50453c3121170d000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2c3945515d676d737a81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000010d19242f3e4b5764717e8a99a3afbbc7d3dfd2c6b9ada2978b7e71655b5044382d22170d0300000000000000000000000000000000030c17222d3744505b65727f8c98a2aebac6d3dfd2c6b9ada197897c6f6356493c30231609000000000000000000000c17232e38424c565e615e564f473e3329201712131a1e2122272b2d2f35393a3d4246484d53555c60656c717980889298a2abb5c0ccd7e3e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7783909dabb4bfb9b9b9b9b9b9b9b9b8aca095887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2015090000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000a15202a36414c56616c74808d949fa7b0b9c1cad0d7cfcac1bbb3adaba49f9c9797918f8c8c8b8a898a8a8b8c8f9196979c9fa3abadb3babfc6cfd5d7d0cac1b7afa59d938b7f726a5f544a3f332a200f05000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0004101d2935404b555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d0dbd6cabeb3a99d9184786c60544a3f33281f150c040000000000000000000000000000030c151e28333f4a54606c7884919eaab4bfcad6ded1c5b8ab9e9285796c605346392d20130600000000000000000003101c28343f4a545e686d6861594f453b32292117110e1214171b1f2024292c2d30363a3c42474b51535b60676d737d869299a4afbbc7d4e0e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acbdc6d1c6c6c6c6c6c6c8bcb1a79a8d8073665c5044382b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000040d1925303a44505a606d78828f959fa6afbabec5ced6d6cdc5bebab5afaca8a9a19e9b9998979796969798999b9ea1a8a8acafb5b9bec5cbd1d8d6cec6bfbaafa59e938e81776c60584e42382e21180e00000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000c18242f39434b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000713202c3945525d6876828f9caab4bfcad6dbcfc5b8aca095897d70665b50443c31271e160d04000000000000000000000000030c151e26303844505b66707d8a96a0acbcc6d0dbd5c9bdb2a89b8e8174665b5044382b1f12060000000000000000020b19222c3844505c666d7a706b61574d443b3328221c140b080b0f1213181d1f20252a2d31373940454950555c606b707d87939facb9c6d2dfe1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674808d9aa7b1bccfd8d2d2d2d2d2d9cec3b8ab9e9185796d6053463a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1c110600000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000008131e29323e44505c666d7a8390949ea5aeb4bcc2cbd0d6cfcac7c0bbb9b5b3adaba8a6a5a4a3a3a3a4a5a6a8abadb2b5b9bbc0c7c9cfd7d6d0cac2bcb4aea59e938e81786c655b50463c30261c0f0600000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000007121d27313940454c52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000004111d2935414c5665727e8b98a2aebac6d3dfd4c8bcb1a79c9083786c60584e433930281f160e0904000000000000000003090d151e273038424e58606c7883909ca8b2bdced8dfd2c5b9ada1968a7d7064544a3f33281c0f0300000000000000000a141d2a36414c56606d78847d70695e564d453c332d261d19140e0905070c1013141a1e20262b2f34383f444b5159616b74818e9aa7b4c1cddae1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdddd8d4d2d1d2d5d2c6b9ada197897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000007131f2b3744505b6573808c99a6b0bbc7bfb4aa9c908376695f5347382d22170b00000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000020d172028343f4a545d686d79828e939fa2aab1babfc6cacfd5d2ccc7c6c2beb9b8b5b3b2b1b0afb0b1b1b3b5b7b9bdc2c5c7cbd1d5d5cfcac6bfbab1aaa29f938e81786c665b53493f332a1e150a0000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000010b151f272f353b41464e535960666c71797f868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000010d19242f3a4754606d7a86929facb8c1cfd9d9cec3b7ab9f948c7f726a5f554b433a3128201a15100c0707060607060b10141a1f273039424a545f6a727f8c949fabbac4cee0d7cbc0b5ab9e9184796d6053463a2d22170b000000000000000006111b262f3846525e68727f8c857b6e685e574e443f382f2a251e1a14100c070606090e12151a1d23292d333940454f5964707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6d5d2ccc8c6c4c6c9cfc9beb3a99b8e8175675d5145392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabb7c6c6b7ab9f94887b6e62544a3f33281c0f03000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000050e17232e38424c565d676d79818a92989fa7aeb4b9bec5c9ced3d4d2cfc9c6c4c2bfbfbebdbcbdbdbebfc2c4c5c9cfd2d3d4d1cfc9c5bebab4aea79f98928b81786d665b544a41382d21180c030000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000030d151d242930363c43474f545b60676d737b81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d080200000000000000000000000000000000000813202c3945515d6774818d9aa5afbdc7d1dcd3c7bcb0a69f92867c6f675c554b433a322b261f1c18151313131315171c1f252a3139424b545c666e7c86929fa6b0bcccd5ded3c7bbafa3998c7f73665c5044382c1c110600000000000000000b17222d38414e58616e7a859290837a6e696058504a423c36302a261f1c1813120f0b060d090e12181b22272f343e4a5763707d8a96a3b0bdc9d6e1d5c9beb3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6875828f9ca9b3becad0c7c0bbb9b8b9bec4cdc4b8ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000b17222d3846535f697683909caab4bfc7bcb0a6998c8073665b5044382b1f1308000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000006111c26303a444c555d676d757e8690959fa3aaadb3b9bdc4c6cad0d2d3d2d1cecccbcacac9c9cacbccced1d2d2d1cfcec8c5c3beb9b3adaaa29f9590867e756d665c544a42382f261b0f06000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000030b12181e252a31373d424a50555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000004111d2935414c55626f7c88939eabb5c0cbd7d8cdc2baaea3999083796d675d554c443e37312c282321201f1f202123282b30363d434b545c666d78839098a3aeb9c2cdded6cabfb4aa9f92867b6e61544a3f34281c0a0000000000000000030f1b27333f4953606a74818e989590847b6f6a605b544e46413b36312c2923201f1c1719191a1a1b1a1e212429333f4a5465717e8b98a4b1becbd7dfd2c6b9ada197867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb9c5cfc7beb6afacabadb3bbc4c7baaea2988b7e7164574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5765717e8b98a2aebac6c2b7ab9e9184786c6053463a2f24190d010000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000a151e28323a434c555d606c717b838c92989ea2a9acb2b8babfc2c5c6cad0cccdcececfcfcecdcdcccbcfcac6c5c3c1bcb8b7b2ada9a29f98928c837b716c605c544a42382f261d140a00000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000001070c141920262b2f383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000010d19242f3a47535f6a75828f99a3afbbc5cfdad7cbbfb4aba0958f81796d675d564f47423c38342e2e2d2c2c2d2e2e34383b42464f555d666d78818e959faab4bfcbd4dbd3c7baaea2988d8174695e5242382e23170c00000000000000030e18212b3744505b656f7c87939fa09691847c726c665f58524c46423b38342f2d2b28222626272727252a2d30353c44505b6673808d9aa6b3c0cdd9ded1c4b8ab9e918578675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3afbbc7ccc0b6aca49f9ea1a9b3bec9bfb4aa9c8f8276695e53463a2d21150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d11040000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000030c162028313a434b515a61696e7880868c92979ea1a8acaeb4b5b8babebebfc0c1c1c2c2c1c1c0bfbfbebeb9b8b6b4b1acaaa9a19e97928c8680786e69625a504a42382f261d140b02000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000002080e151b1d262d333940454d52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a020000000000000000000000000008131e2b37434e58626e7c87929fa9b3becad6dcd1c6bdb1a79e938f82796d686159534d4644403c3b3a38383a3b3c3f44464d525960676d78818e939ea7b1bcc6d0ddd5c9bdb2a89f92867b6e61574d4230261c1106000000000000000915202935414c56606c7883909aa4a8a09691877f786e6a615e56534d4745403b3938332d333333343431363a3b41464e57606c7884919eabb7c4d1dedccfc3b6a99c90837669554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7784919dabb5c0cbc8bbafa49a939197a1adb9c6c6b9ac9f93877b6e6154483c32271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8175675d5145392c2014090000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000040d161f28313a404550575f666d737a80858b91969b9fa2aaa9abadb3b1b3b4b4b5b5b5b4b4b3b3b2b1b3adaba9a7a7a09d9997918c85807a736d665f5750443f3830261d140b02000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000030a0b141c22282f353b41464e535960666d717980868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000010f1b26313c47535f6a74818e97a1adb9c1cbd5d8cfc3b9afa59e948f837a706b625f5753514a49484645454648494a5053575e616b7079828f939ea5afb9c3ced8d4cbc3b9ada1968d8073695e52453b301e150a00000000000000020f1a26313945525d68717e8b959facb2a8a199928c827c746e68615f5753514b4846443f414040404041424246484c52585f69707d8a96a1adb9c5d2dfd6cabeb3a99a8d8074675a4d412f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55626f7c8995a0acbdc7d1c6b9ac9f938885919eabb8c4c8bbafa49a8c7f7266584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000040d161f282f353e454d545c60686e73797f848a8f9298999c9fa2a9a4a6a7a7a8a9a8a8a7a6a6a5a4a9a19e9c9a9895908c89847f7a736d68605c544d453f342e261e140b0200000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000a15202b37434e58616e7a85929ea5afb9c3cdd6d5cbc1b7afa69f9590847d756e6963605c545654535151535456545c6063696e757d838f949ea5afb7c1cbd4d6ccc3b9aea49e91847a6d60564d4233291f0c030000000000000006121f2b37434e58606d7a85929ea7b1bab2aba39f948f87817a736e6964605c555553504a4d4c4c4d4d4e4f4d5354565d616a6f7b85929ea8b2bdc9d5dfd2c6b9ada297897d706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818d9aa7b1bccfd1c4b8ab9e9184808c99a6b3bfccc0b6ac9d9184776a605447382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1b110600000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000040d161d2429333b424a50565e61676d72787e8285898d8f92979698999a9b9b9c9c9b9a9a999898969792908e8b8783807c78726d67615e56504a423c3328231c140c0200000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000060b12181f252a31373d424a50555d60696e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c04000000000000000000040f1a26313c46525e68717e8a939ea7b1bbc5ced7d3c9c1b8b0a79f96918a827b74706d66646261605c5c60616264666d70747b818990959fa6afb7c1c9d2d7cec4bab1a79d92897d70675d51443b3020170d00000000000000000814212e3a47535f6a73808d97a1adb9c2bdb5aea69f99928d86807b75706d676462605b545a59595a5a5a5c575e6164686d727c839197a1adbac4cfdad9cfc5b8ab9e9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ced0c3b6a99d90837e8b98a4b1becfc7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000007131f2b3844505b6673808c99a6b0bcc7bfb4aa9c908376695f5346382d22170b00000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000040c1318212930383f444c52555d60666d7175797d80828588898b8c8d8e8e8f8f8e8e8d8c8c8b89878583817e7b77736f6c65605d55524c443f38302a2117110a0200000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000001070d141920262b30383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e160e040000000000000000000a15202a36414c56616c75818e95a0a9b3bcc5ced6d3cac2b9b1a8a09e948f86817d7974716f6e6d66676d6e6f7174797c80868e939da0a7b0b8c1c9d2d6cdc5bcb2a89f958d81746b60554c4132291f0e0500000000000000000815222f3b4855626e7b87929fa9b3becbc6bfbbb0aba39f98928d87827d7975716e6c6668676666666767696a696e71747a7f869195a0a9b3beccd6dcd1c7bdb1a79b8e8174665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cecec6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d5cec1b5a89b8e817d8996a8b2bdc9c8bdb1a89a8d8074665c5044382c1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fabb7c6c6b7ab9f94887b6e6153493f33271b0f03000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000001070f181e262e343b41464b51545c6064666d707376797b7c7e808181828282818180807f7e7c7a787674726e696662605b53514b46413a342e261e180f0600000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d4c7bbafa499887b6e6255483b2f2215080000000000000000000000000000000002080e151b1e262e343940454d52585f626b70787e858c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c35302820160c020000000000000000030d1925303b44505a606d79839097a1aab3bcc5cdd5d4cbc2bab2aca69e99928e8985817e7c7b797878797b7c7e8185898d92989ea5acb1b9c2cad3d4cdc4bbb3aaa1969083796d60594f433a2f20170d0000000000000000000d1a2633404d596673808c949fa7b0b8c1cbcbc2bdb5afaaa29f99938f8a85827e7b7976757473737373747577787b7e81868c9298a0a7b1bbc5cfded7cbc0b5ab9f958a7d7064544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9b3becad6ccbfb3a6998c807a8796a1adb9c5cec3b8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909caab4bfc7bcb0a6998c8073655b5044372b1f1307000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000060c151c232830363940454a5053545c606366656c6e70717374747576757574737372716f6d68696765615e575653504945413a353028231c150c06000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7dfd2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d717980868e93999fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a32281e130800000000000000000008141e29323e45515d676e7b859298a2a9b3bbc3cbd5d4ccc4bdb9b0aba39f9a97928e8a89878685858687898a8e92979a9fa2aaafb8bcc3cbd4d5cbc2bbb3a9a29891847b6e675d51473d31281e0e050000000000000000000713202d3a4653606d78828f959fa6afbbc0c7cfc7c0bbb4aeaba49f9c98928f8b88858381807f7f808081828385878b8e92989fa2aab1b9c3cdd7d4ccc3bbafa3999083786d6053463a2e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5d0d6cabeb3a9978a7d7884919eabb8c4d1c6b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b98a2aebac7c2b7ab9e9184786c6053463a2f24180d010000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000030a11171e252a2f35383f44464b515356535b6061636566676868696968676766656563615e565b5854534d4946443f38352f29251e17110a03000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcddd0c3b6aa9d908377675c5145382c1f13060000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c443a3025190d010000000000000000020d17202935414c555e696f7c869297a1a9b1b9c0c9ced6cec9c1bdb4aeaca9a29f9b97959a939292979495979b9ea1a9acaeb4bcc1c8ced6cec9c0b9b1a9a19792867c6f695e554b40352b1f160c0000000000000000000006121f2c3844515c666d798390949ea5afb5bdc3cbcbc5bfbab5afacaaa29f9b979892908e8d8c8c8d8d8d8f909297979b9fa2aaaeb4bcc3ccd5d5cbc3bab2a89f92877c6f665c5044382b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a89f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5966737f8c99a4afbbc7d7d3c6baada297887b75828f9ba8b5c2d0c9beb3a99b8e8275685d5245392c20140900000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000060c14191d24292e34383a4045464a495053555658595a5b5b5c5c5b5b5a5959585654524c4e4b4846423c3937332d29241d19130c06000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3d5c9beb3a9998c807366554b4034281c100400000000000000000000000000000000000000000000060b12181f252a31373d424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e564c4135291d1105000000000000000000050e19242f3a434d57606a6f7d859297a0a7aeb9bdc4cbd0d5cfc6bfbab9b3adaba7a4aca49f9e9fa2a9a2a4a7abadb3b8babfc6ced4d0cac4bdb9aea79f9791857c6f6a5f564d43392f231a0d040000000000000000000004101c2834404a545d676d7a828e939fa3abb1babfc6cbcac7c0bbb9b4aeaca8aaa29f9c9b9a9999999a9a9c9d9ea1a9a7acaeb4babfc6ced6cfc9c2b9b1a8a0968d80736a5f544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7784919eabb5c0ccd7d2c5b8ab9f928578737f8c99aab4bfcbcfc5b9ac9f92867a6d6054473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c2014090000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000002080d12181c23282b2e34383a3d3f444648494b4d4e4e4f4f4f4e4e4d4d4c4b49474641413f3b3a36312d2b27221b18130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8e0dad5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1dfd2c6b9ada197887c6f6255493c2e23180c00000000000000000000000000000000000000000000000001070d141920262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d685e5246392d2013070000000000000000000008131e28313b454e58606b6f7c8590959da4acb2babfc6cad0d1cbc7c5bebab8b4b1b6afacababadb3afb0b4b8b9bec5c6cad0d0cac6bfbab2aca49d9590857c6f6a60584e443b31271d11080000000000000000000000000c18232e39424b555e686d79818c9299a0a7aeb4babfc6caccc7c6bfbab8b5b4aeaca9a8a7a6a6a6a6a7a8aaabadb3b4b8babfc6cad0d0cac4bdb9b0a79f969184796d60584e42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e86796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbdc7d2ddcfc2b5a89c8f8275707c8998a3aebac7d3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c4b8ac9f92867a6d6054473b31261a0e0000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2d3337393b3d3e404141424342424140403f3e3c3a393630322e2d2a25201f1b17110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a090704000000000000000713202d3a4653606d798693a0acb9c6d3e8ded6cfc9c5c4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4ded8ccc0b6ac9e9185786c605346392d201307000000000000000000000000000000000000000000000000000002090e151b1e262e343a40454d52585f626b70787e858c92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a6d6154473a2e21140700000000000000000000010c161f29333d464f59606a6f7b838d929ea1a8aeb4babec5c8cdd2cfcac6c5c1bdc0bbb9b8b8babebcbdc1c5c6cacfd2cdc8c5bebab4aea8a09e928d837b6f6a60584e463c32291f150b0000000000000000000000000007121c27303a434c565e676d747f8790959fa3aaaeb4babfc5c7cbcac6c5c2bfbab8b6b4b3b2b2b3b3b4b5b6b8b9bec1c5c7cad0cdc8c5bebab2ada69f9590847b6e675d51463c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774808181818181818181818181818175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8b2bdd0d9d6cabeb3a9988c7f726d7986929facb8c5d2cbbfb4aa9c908376695f53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606c7884919eabb7c2c6baaea2988b7e7164574d42362a1b110600000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000060b1012181c1f2022272b2d2e3032333435353636353434333232302e2d2a252521211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000713202d3a4653606d798693a0acb9c6d3e0d6ccc4bdb9b7b9b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedcded4c8bbafa49a8e8174655b5044372b1f120500000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba59e99928d85786c5f5245392c1f120000000000000000000000040d17212b343d464f585f696e79808a91969fa3aaadb3b8bcc3c5c7cbd1d0ced2ccc8c6c5c5c6cacfcaced0d1cbc7c5c3bcb8b3adaaa29f96918a80786e695f584e463c342a20170d0300000000000000000000000000000b151e28313a444c555c606d727c838c92989fa3aaaeb4b9bbc0c4c6c9cfcac6c5c3c1c0bfbfc0c0c0c2c3c5c6cacfd1cbc7c5c2bcb8b4aea8a19e948f837a6e695e554b40342a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e74757575757575757575757575756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c3cedfd3c6baada297897c6f6776838f9ca9b6c2d0d1c6b9ac9f93877b6e6155483d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505b6673808d99a7b1bcbebfb4aa9c908376695f5346382d22170b00000c1926323f4c5965727f8c98a5b2bebeb6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000003070c101313171b1f202223252627282829292828272626252321201d19181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2427272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272423201c161008000000000713202d3a4653606d798693a0acb9c6d3dacfc4bab2adabadb2b8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5e0d7cbbfb4ab9f93877c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f9786796c605346392d2013000000000000000000000000050f19222b343d464e575f676d747d848c92989fa2a9acb1b6b9bbc0c1c3c5c6cacfc8c9c9c8cfc9c6c5c3c1bfbbb9b6b1aca9a29f98928c847d746d665e574e463c342b22190e05000000000000000000000000000000030c161f28323a434b515b636a6f787f868d92989fa2aaacafb5b8b9bec0c2c3c5c7cbd1c8c9c9c8c8d0cac7c5c3c1bfc0bbb9b6b1abaaa29f96918b82796d685e574d43392f22180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c646768686868686868686868686868655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6d3ded2c5b8ab9f9285796d6673808c99aab3becad4c8bbafa49a8c7f7366584e43382b1d12070000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb1b1b1b1ac9f93877b6e6153493f33271b0f03000c1926323f4c5965727f8c98a5b1b1b1b1a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000406060b0f12131516181a1b1b1c1c1c1b1b1a1a1918161413110d08080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434302f2c28211a11080000000713202d3a4653606d798693a0acb9c6d3d5c9bdb2a8a19ea1a8b1b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddd7cec5baaea3998e81756a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea99386796c605346392d201300000000000000000000000000071019222b343c454d555c606c707980868d92979da0a7a9acafb5b4b6b8b9bebbbcbcbcbcbbbeb9b8b6b4b5aeaca9a7a09d97928d867f79706b605c544d453c342b221910070000000000000000000000000000000000040d16202830394045515860666d727b80868d92989c9fa3ababadb2b3b5b7b9babfbbbcbcbcbbbbbabfbab8b7b5b3b5afaca9a79f9d98928c847e786d675e564d453b31271d10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41372c201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfcad6d7cbc0b5ab9b8e817566636f7c8998a2aebac6d3ccc0b6ac9e9184776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909daaa5a5a5a5a5a49a8c8073655b5044372b1f1205000c1926323f4c5965727f8c98a5a5a5a5a5a59c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0f0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c38332c231a100500000713202d3a4653606d798693a0acb9c6d3d2c5b9ada1969196a0a7b1bbb3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbd9d0c5bcb2a89f92867b6e61584e432f261b11060000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa3aaafb6bec2c8cecfc6bfac9f9386796c605346392d20130000000000000000000000000000071019222a333b434b515961676d737b80858c9095999d9fa3aba8a9abadb3aeafafafafaeb3adaba9a8aba39f9d9995908c85807a736d676159514a423b332a2219100700000000000000000000000000000000000000040e161e272e343f464e545c60696e747b80858a8f92999b9ea1a9a6a8aaacaeb4aeafafafafaeadb4aeacaaa8a6aba39f9c9895908c857f79716c665d554c443b33291f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392f251a0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd3c7bbafa3998a7e7164606d7985929fabb8c5d0d2c7b9aca096897c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b9898989898989898989184786c605346392d201306000c1926323f4c5965727f8c98989898989898988f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b00000713202d3a4653606d798693a0acb9c6d3d1c4b7ab9e91849095a0abb5bebab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9d8d1c7bdb4aaa1968d8074695f53463c321d140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfb9ac9f9386796c605346392d20130000000000000000000000000000000710182129303940454f555d60696e737a7f83888c909299999b9d9ea1a9a2a2a3a3a2a2a9a19e9d9b999992908c88837f7a736e68605c554f444039302921181007000000000000000000000000000000000000000000040c151d2328343c424a50575e61696e747a7e82868b8e919798999b9d9fa3aaa1a2a3a2a2a1a1aaa29f9d9b999799928f8b87837f7a736d67605b544b433a322921170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403d372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8d7dfd2c5b9ac9f92867a6d615c6675828f9baab4bfcad4c8bdb2a89a8d8174665c5145382c1f130800000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a868b8b8b8b8b8b8b8b8b8b897c706356493d3023160a000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8276695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000008141f2b36414a53585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f839099a3afbbc0beb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dad6cfc6bfb5aba29891847a6d61574d42342a200b02000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb2b9bec5b9ac9f9386796c605346392d201300000000000000000000000000000000060f181e272e343e434b51565e61676d72777b7f8386898c8e90929794959596969595949792908e8c8986837f7b77726d67615e56514b433e342e271e170f060000000000000000000000000000000000000000000000030b1218222b30383f444d52575e61676d71767b7e8185888b8d8f9092989495959696959594939892908e8c8a8886837f7b76726d68605d55504a423a312820170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b3033343535353535353535353535353534312c251d150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8d6cabeb3a99c8f8275685e5464717e8a98a2aebac6d3cec3b8ab9e9285796d6053463a3024190d01000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945525d68707d7e7e7e7e7e7e7e7e7e7e7e7c6f6256493c2f231609000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100c070000000000000b1824303c48535c64676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676361594f44382c201407000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7c87929fa3afb5bdc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4d9d4ccc4bdb5aea49992867c6f685e52453b3122180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfac9f9386796c605346392d20130000000000000000000000000000000000060c151d2328313940454d52555d6065696e73767a7c7f818385878888898989898887878583817f7c7a76736e6965605d55524c4540393028231c150c0500000000000000000000000000000000000000000000000000000710191e262e343b42464d52555d6064686e7175787b7e808284868787888989898888878786858482807e7c7976726e6966615e56514b443f382f281f160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a20242727282828282828282828282828282725201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1acbec7d2ddd3c6baada2978a7d71645653606d7a86929facb8c5d0d2c6b9ada2978a7d7064564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c7072727272727272727272726f6a6054473b2e221508000815212e3b47535f6a6f72727272727272727272706b6155483c2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c18120b03000000000d1a2733404c58646e74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706b6155483c2f231609000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737e8b919fa4abb3bbc1c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d4cec8c2bab2aba39f93877d706a5f564c4133291f10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91969ea1a9aeb4ac9f9386796c605346392d2013000000000000000000000000000000000000030b12181f272f353b42464c5154575f6266676d70737576787a7b7b7c7c7c7c7b7b7a78767572706d6766615f5754514b46413b342e271e18120b0300000000000000000000000000000000000000000000000000000000070c151c232830363b42464b5153565e616568696e71737577797a7b7b7c7c7c7c7b7a7a7979777573716f6d6765615e5754524c454039332d261d160d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b18140f090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdd0d9ded2c5b8ab9f9285796d6053515d6775818e9ba9b3becad6cabeb3a99b8f8275685d5246392d201509000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a616465656565656565656565656260584e43372b1f13060006121f2b37434e585f62656565656565656565656361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c28231c150c030000000e1b2734414e5a6774818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73737f8c9399a2a9b0b8bdc3c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d5d2cec8c3bdb8b0a8a199928b7f726b61584e443a3021180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaaf9f9386796c605346392d20130000000000000000000000000000000000000000070d151d242930363a4145474d5355555d606366686a686d6e6f6f70706f6f6e6d676a686663605d5555534d4745413a363028231d150c0700000000000000000000000000000000000000000000000000000000000000030a11171f252a3036394045474d525458575f62656668666c6d6e6e6f706f6f6e6e6d6d666a68666462605c5554524d4746413a352f28221c140b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0f0f0f0f0f0f0f0f0f0f0f0f0f0e0c0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4cedfd4c8bcb1a79a8d8174675c514b5564707d8a97a2adbac6d3cfc5b9ac9f92867a6d6154473c31261a0e000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e47505557585858585858585858585856544e463d32271b0f0300030f1b26323c464e53555858585858585858585857554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000013202d394653606c79868d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c7f7366594c403326190d000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736d737f8792979ea6acb2b9bbc0c5c7cbcac6c5c4c5c6cad0cdd0d2d1d0cfc9c5c3bcb8b2aca69f9691877f726d62594f463c32281e0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d525860626b70787f858d92989fa49f9386796c605346392d2013000000000000000000000000000000000000000000030b12181f252a2f35393c4247484b515356595b565d606162626363626261605d555b595653514b4847423c39352f2a251e18120b0300000000000000000000000000000000000000000000000000000000000000000000060c141a1f252a2f35393b4146474b4d5355585a545b6061616262636362626160605c545b59575553514b4846423b39363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a2aebac6d3ded1c5b8aca095897c6f62554b4653606d7985929fabb8c4cfd3c7baaea3998b7e7265574d42372b1b11060000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2c353e44494a4b4b4b4b4b4b4b4b4b4b4b4947433d342b20150a0000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4a48443e352c21170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4644403930271c1207000013202d394653606c7986939a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998c7f7366594c403326190d000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666d727d858f949da0a8acafb6b9bbc0c1c4c5c7cbd1c9d2ccc8c6c5c4c2bdb9b7b1aca8a09d948f847c726d625b51473e342a20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9f9386796c605346392d20130000000000000000000000000000000000000000000001070c14191e24292c31373a3b404547494c4e4c5254555556565656555454514b4e4c494745403b3a37312c29241d19140c070000000000000000000000000000000000000000000000000000000000000000000000000002090e141a1d24292c3036393b3e4247484b4d4a50535454555656565555545453504a4f4d4b484745403b3a36302d2a251e18120b0600000000000000000000000000000000000000000000000000000000000004080a0b131313131313131313131313131313120707050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313130b0b090501000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfcad6d7cbc0b5ab9d9184776a60544345515c6674818e9aa9b3bec9d5cbbfb4ab9d908376695f5347382d22170b0000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a232c33393c3d3f3f3f3f3f3f3f3f3f3f3f3c3b37322b22190f04000000040e18222a32373b3c3f3f3f3f3f3f3f3f3f3f3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753514a42392e23180c000013202d394653606c7986939fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366636b707b828a91969c9fa4acacafb5b5b7b9bbbfbbbcbcc0bbb9b8b7b5b2adaba7a09d96918b827a6f6a625b51493f352c22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242930363c43474f545c60676d737b818790949386796c605346392d201300000000000000000000000000000000000000000000000002090e13191d20262b2e2f35393a3d40424145474848494949494848474541423f3d3a38352f2d2b26201d18130e08020000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181d20252a2d2e31373a3b3e403f44464748484949494948474746443f42403e3c3a38342f2d2a25201e19130c07010000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201f1413110d08020000000000000000000000000000000000000000000000000000040a0f13151620202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88949fabbcc6d0dbd4c7bbafa3998c7f7266584e43404b5463707d8997a1adb9c6d2d1c6b8ab9f95887b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303132323232323232323232322f2e2b2720191007000000000006101820262b2e2f32323232323232323232302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a4034281c10040013202d394653606c7986939facb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b2a6998c7f7366594c403326190d000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665961696e757d848a8f939a9c9fa3aba8aaacaeb5aeafafb6afacabaaa8a8a19e9b95908a847e786d68605851493f372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a50555d60696e757c828a9186796c605346392d2013000000000000000000000000000000000000000000000000000001080d11151a1e2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a39352f33302d2c2924211e1a15110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1014191e2021262b2e2f322d3338393a3b3b3c3d3c3c3b3b3a3a38342e33312f2d2c2923201e1a14110d08020000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201e19130d05000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a6b0bcced8dfd2c5b9ac9f92867b6e6154473d3a4653606d7985919eabb8c4ced4c7bcb1a7998c8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324252525252525252525252523221f1b150f0700000000000000060e151b1f2122252525252525252525252423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5144382c1f12060013202d394653606c7986939facb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b2a6998c7f7366594c403326190d000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659575f616b70787d82878c909299999b9d9fa3aba2a2a3aca49f9e9d9b9896918e8a837e78716c665e564e463f372d251b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f444c51575e616a6f767d8486796c605346392d2013000000000000000000000000000000000000000000000000000000000104090e1214181d1f20232624292c2d2e2f2f30302f2f2e2d2c29242623201f1d1814120e0904010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104080e1114141a1e21222522282b2d2e2e2f2f30302f2f2e2d2d2b2823262422201f1c1814120e0905010000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393939393939393939382e2d2a251e170e050000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393932312e29221b12090000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2cdded6cabeb3a99c8f8276695e52463a3844505c6674808d9aa8b2bdc9d5cdc2b7aa9e9184786c605346392f23180c00000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161718181818181818181818181615130f0a04000000000000000000040a0f12151518181818181818181818171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070013202d394653606c7986939faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6998c7f7366594c403326190d000613202d394653606c78818181818181818181818181817e7064574d535961666c70767b7f83868a8c8e91929994959696959a9392918f8b8884817d78716c66605b544c443d342d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70787f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000206070c1013141619191d2021222223232323222121201d1819161413100c070602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507090e12141518171c1f2021212223232322222121201f1c171a18151413100c07050200000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e464646464646464646464646464646453a3936302920170d020000000000000000000000000000000000000000030d19222b32373b3c464646464646464646464646464646463e3d3a342d241b11060000000000000000000000000000000000000000000004111d2935414c5663707d8a96a1adb9c5d2dfd3c6baada2978a7e7164564d4236343f4a54626f7c8996a1acb9c5d2d2c5b9aca096897c6f63554b4034291c1004000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0c0c0c0c0c0c0c0c0c0c0c0908060300000000000000000000000000030608090c0c0c0c0c0c0c0c0c0c0a0a070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e2114070013202d394653606c7986939d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d998c7f7366594c403326190d0006121f2b3844505b666c75757575757575757575757575706c615549464f545b6064696e73767a7d8082848687888889898887868584827e7b7874706c65605b54504a423a322b221b130901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000406070a080d11131415151616161615151413110d070a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060808060b0f1213141515161616161514141312100b060b09070604000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353535353535353535353524746413a32291e130800000000000000000000000000000000000000010b151f2b343d434749535353535353535353535353535353534b4a453f362d22180c010000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9d5ded2c5b8ab9f9285796d6053473b302e384854606a7884919eabb7c3ced5c9bdb2a89a8e8174675c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1dbd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b969696969696969696969696969696969696969696969696969696969696969696969696969696969696969694877a6d6154473a2e2114070013202d394653606c798691919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191918c7f7366594c403326190d00030f1c28333f4a545b606868686868686868686868686864615a50443e424a5053575f6266686d71737577797a7b7b7c7c7b7a79787775726e696864605b53504a443f382f282019100901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242931363c434750545c6065625b51463a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a0909080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606070808090a09090808070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606060606060606060605f54524c443a3025190f0500000000000000000000000000000000000007121d27313d464e54565f606060606060606060606060606060585650483f34291d11050000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c4cfdad4c8bdb2a89a8d8174675c514538292c38434e586673808d99a7b1bcc8d4cec4b8ab9f9285796d6053473a3025190d010000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cececec3b6aa9d9083776a5d5044372a1d11040000000000000001040607060401000000000000000000000000000000000000000000000000040607090b0d0d0c0b08070502000000000000000000000000000000000000000000000000000000000000030607090b0b0a0908060300000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000030608090a0b0b090706030000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a094877a6d6154473a2e21140700111e2b3744515e6a77838484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847f7265584b3f3225180c00000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e2f383f44464d5355565d60646668666d6d6e6f6f706f6e6d666a6865625f5757535049443f38332d261d160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a5053585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b615e564c41362a21170b0200000000000000000000000000000000040d18242f39434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e211509000000000000000000000000000000000000000006121f2b37434e5865727f8b98a3aebac7d6ded1c5b8aca096897c6f62554b40342927323d4855626f7c8895a0acb8c5d1d3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1c1b6aa9d9083776a5d5044372a1d1104000000000001070d10131413100d07010000000000000000000000000000000000000000070c10121316181a1a19181514120e09040000000000000000000000000000000000000000000000000000060b101213161718171515120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171613120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121515171817161312100b06000000000000000000000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada094877a6d6154473a2e21140700101d2a36434f5b677177777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777726d62564a3d3124180b000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2d33383c4247484c52545759545c6061616263636261605c545c5855534d4a46443f38332d28221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f44464b4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010406070809090a0a0b0b0b0b0b0b0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d1012131313131313131313131313131313130f0e0c08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c71797979797979797979797979797979786d685e52463e33291d140a000000000000000000000000000000010c161f2935404b55606a6f79797979797979797979797979797979716c62564a3d3124170b00000000000000000000000000000000000000000815212e3a47535f6a7783909daab4bfcbd7d7ccc0b5ab9d9184776a605443392f23212e3a47535f6a7784919daab7c2cdd6cabeb3a99c8f8275685e5246392d2015090000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4b4aa9d9083776a5d5044372a1d110400000000040c12181d2020201d18120c0400000000000000000000000000000000040a0f12181c1f2023252627262422211e1a14100c0701000000000000000000000000000000000000000002090e11171c1f202324252422211f1b15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151b1f212224252423201f1c17110e0902000000000000000000000c1925323f4c5865727f8b98a5b2bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbaada094877a6d6154473a2e211407000e1b27333f4b565f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a65625b51463a2e2215090000000a141d262d333839424242424242424242424242423d3c39332c2422282b31373a3b4145474a4d4a50535455555656555453504a4f4b4847423d3937332d28221c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e34383a3f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0c0e080d1113141516161717171818181817171716141313100c070b0808060200000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f2020202020202020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d868686868686868686868686868686857a6d615a50453b2f261b1106000000000000000000000000000008131e28313a45515d676f7c878686868686868686868686868686867e7165584b3e3225180b0000000000000000000000000000000000000003101c28343f4a54626f7c88959fabbcc6d1dcd4c7bbafa4998c7f7266584e4331271d1f2b37434e5866737f8c99a7b1bcc8d4d0c5b9ac9f92867a6d6154473c31261a0f0000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a8a89d9083776a5d5044372a1d1104000000040d161d24292c2d2c29241d160d0800000000000000000000000000040a0f151b1c23282c2d3032333433312e2d2a261f1d18120c07000000000000000000000000000000000000050d141a1c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000050c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d050000000000000000000c1925323f4c5865727f8b98a5b2bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c7baada094877a6d6154473a2e211407000b17222e39444d565b5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e585651493f34291d1206000000020b141c22282b2d3535353535353535353535353531302d28221a171c1f262b2e2f35393a3e403f44464748484949484746443f423f3b3a37312d2b27221b17110b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282c2d32312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000040607070c1013141517191a1c191d2021222223232424252525242424232221201f1c181a181514120e0908060200000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c75818e969393939393939393939393978f82756c62574d41382d22170c03000000000000000000000000040e19242f3a434f59606d798491999393939393939393939393978f82756c62564a3d3124170b0000000000000000000000000000000000000006121f2c3844505c6673808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221151b26313c4855616e7b88959fabb8c7d2d3c7bbafa3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9b9083776a5d5044372a1d11040000010c161f282f35393a39352f281f1a11080000000000000000000003090e161b20272b2e34383a3c3e40403f3e3b3a36312c29241d18120b03000000000000000000000000000001090e171f252a2e34383a3c3e3e3d3c3a37312c29241d160d080000000000000000000000000000000000000000090e161e252a2d3337393c3d3e3d3c3937332d29251e160e080000000000000000000000000000000000000000080d161d24292c31373a3c3d3e3e3c3a38342e2a251f170e0901000000000000000c1925323f4c5865727f8b98a5b2becbd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c7baada094877a6d6154473a2e2114070006111d28323b444b4f515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514b4a463f372d23180d0100000000020a11171c1f20282828282828282828282828282423201c17100b0f151a1e2124292c2d312e34383a3a3b3c3c3d3c3b3a38342e322f2e2b26201f1b17110b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202524221d1811090100000000000000000000000000000000000000000000000000000000000000000105070c10131316181c1f20222426272824292c2d2f2f30303031313232313131302f2e2d2c2823262422211e1a1514120e0906020000000000000000000000000000000000000000000000000007111a232a313538393939393939393939393939393939393534312c251d150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a606d7a84919aa49f9f9f9f9f9f9f9fa99e938b7e71695e53493f33271e150a0000000000000000000000020c16202935414c55606b74808d96a09f9f9f9f9f9f9f9f9fa59e92857b6e615a50453a2e211509000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdded6cabeb3aa9c8f8276695e52463a2d201415212d3a46535f697683909dabb5c0ccd7cbc0b5ab9d9083776a5f5347382d22170b00000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e8e83776a5d5044372a1d1104000007121d283139404547454039312c231a11080000000000000001080d151a20272b323739404446494b4d4d4c4b4846423b38352f28231c150c06000000000000000000000000020b131b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283036383f4446494a4b4a4946443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b130b020000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6baada094877a6d6154473a2e21140700000b16202932393f43444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443f3d3a342d251b110600000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050003090e1214191d20212423282c2d2e2e2f30302f2e2d2c28232522211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101213181815120d06000000000000000000000000000000000000000000000000000000000000000002080d1113181c1f202323292c2d2f313334352f35393a3b3c3c3d3d3e3e3e3e3e3e3d3d3c3b3a38342e33312f2e2b2622211e1a15120e090300000000000000000000000000000000000000000000030e19232c353c41454646464646464646464646464646464642403c372f271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e45525d68707d88939fa7b1acacacacacacafa59f92857b6e655b50443c30261c11060000000000000000000008131e28323a45515d67707d88939fa8b2acacacacacacb3a99e938a7e71685e52483f34291d110500000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd3c6baaea2988a7e7164574d42362a1e12121e2a36424d5765727f8b99a4afbbc7d4d1c7b8ab9f95887b6e62544a3f33281c0f03000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480818181818181818181818181818073665a4d4033271a0d0000010d18242f39434b5153514b433e362c231a11080000000000060b13191f262b32383d43474a51535658595a595755534d47454039342e271e180f0800000000000000000000010b141d252d333b42464a50535657585755534e4745413a312c231b1309000000000000000000000000000000000a131c242c323a4146495053555758575553504946413a322c241c130a0000000000000000000000000000000009131b232c313a4145474e53555758575653504a46423b322d251d140b0100000000000c1925323f4c5865727f8b98a5b2bababababababababababababababababababababababababababababababababababababababaada094877a6d6154473a2e2114070000040e1720282e33363737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373732312e29231b1309000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000000000206080d11131417171c1f2021222223232221201f1c17181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070c0b0906010000000000000000000000000000000000000000000000000000000000000000050c13191d2023282c2d2f2f34383a3c3d3f4142434145474849494a4a4a4b4b4b4b4a4a4a494746454042403e3b3a37312f2e2b26211e1a150f0b06000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353534e4d4841392f251a0f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222935414c56606b74808d95a0abb5c0b9b9b9b9baaea2988f82776c60584e42382e23170d030000000000000000050e1925303a444f59606d7a84919aa4afbab9b9b9b9b9b9ada1978e81756c61564d41362d22180c010000000000000000000000000000000000000713202d3946525e6875828f9ba9b3bec9d5ded2c5b8ab9f9285796d6053473b30251a0e0e1a26313b4754616e7b87939facb9c6d1d4c8bcb1a7998d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e7475757575757575757575757575736e63584b3f3226190c000004101d2935404b555d605d5550483e352c231a12080200030a11171e242931373d43474e54545c60636566676664615f5753514b444039302a211a12090000000000000000000a131d262f373f454d52545c6062646564625f5854514b433e352d251b1108000000000000000000000000000009121c252e363e444c52535b606264656462605b53524c443e362e251c1209000000000000000000000000000008111b252d353e434b5154585f6264656462605c54524d443f372f261d130a00000000000c1925323f4c5865727f8b98a5adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada094877a6d6154473a2e211407000000050e161d22272a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2524221d18110901000000000000000000000000000202020202020202020202020200000000000000000000000001040707060c101213141515161615141312100c060808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e34383a3c3f404547484a4c4d4f504c525455555656575758585857575756555453514b4f4d4b4847423f3b3a37312d2b261f1b17110a020000000000000000000000000000000000000d1925313c4650585d5f6060606060606060606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d19242f3a434f59606d79839199a3afbbc2cec6cabeb3aa9f948b7f726a5f544a3f34281f150b01000000000000020d17202935414c56616b74818e96a1acb6c0ccc6d0c4baafa59e91857a6d615a50443b30241b1106000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5cfdad5c9bdb2a89a8e8174675d514538291f14090914202d3946525e6876838f9cabb5bfcbd7cdc3b7ab9e9184786c605346392f24180c000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676868686868686868686868686866635c52473b2f23170a00000613202c3945515d676d67615a50473e352c2419140d0c10141c22282f353c42474e54586062666d6f71737372716e6965605d55514a423c332c241b12090000000000000006101c252f38414951575e61666d6f7171706f6a66605d554f473f372d231a0d04000000000000000000000000050e1b242e37404850565e61656c6f7071706f6c65615e56504840372e241b0e05000000000000000000000000040d1a232d373f474f555d60666a6f7071716f6d66615e56514941382f251c0f06000000000c1925323f4c5865727f8b98a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a094877a6d6154473a2e21140700000000040b11171b1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070809090a0908070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1720293036393a404546494c4b51535557595a5b5d565d60626263636364646565646464636261605c545b595755534d4c4847423c3a37312b27221b140b080200000000000000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483c3124180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d45515d676f7c87929fa7b1bcc6d0d0c5bcb0a69f92867c6e665c50443c31271d120700000000000008141f29323b46525e68707d8a939da8b2bec7d2d2c7beb2a89d938a7d70685e52483e32291f12090000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aebbc7d6ded2c5b9aca096897c6f63554b403529170d0205111e2a36414d5665717e8b99a3aebbc7d3d2c5b9ada196897d7063554b4035291d10040000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362a1f130700000714202d3a4753606d79706c61594f473e362a251f18171c1f262d333a41454d535860626a6f74797c7e80807f7e7b77716d67605c544d453e362d241b12090000000000030e18222e37414a525b62696e74797c7d7e7d7b78736d67615951493f352c1f160c0100000000000000000000020d17202d364049515a61686d73787c7d7e7d7c78736d68615a514940362d20170d0200000000000000000000010c16202c353f49515961676d73787b7d7e7d7c79746e69625b524a41372d21180e030000000c1925323f4c5865727f8b939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393877a6d6154473a2e211407000000000000060b0e10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b51535659555c606264666768696b686d6e6f6f707071717171717170706f6e6d666a686664625f575955534e4847423c37332d261d19140d05000000000000000000000000000000121f2b3845515d6a7479797979797979797979797979797979756f65594d4034271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606a737f8c959faab4bfcad6cec2baaea3989083786d60584e43392f24180d0400000000060f1925303b44505a616d7a85919ea5afbac4d0d8ccc0b6aca1968e81746c61564c41362c20170d00000000000000000000000000000000000000000815222e3b47545f6a7783909dabb5bfcbd7d8ccc0b6ac9e9184776b605443392f24180500020e1925303b4754616d7a86929facb9c5d0d5c9bdb2a89b8e8174675d5145392c1f14080000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4b4740382e24190e0200000c1926323f4c5965727f7d706b61595048403630292423282c2f383f444c52575f616a6f767c8185898b8c8d8c8a88837e79736d665f5750483f362d251b1106000000000a15202a343f49525c646d727b8185898a8b8a88848079706b625b51473e31281e13080000000000000000000009141f29333f48515b636c717a8084888a8b8a8884807a716c635b51483e32291f14090000000000000000000008131e28323e47515b626b70798084888a8b8a8985817b726d645c52493f332a2015090000000c1925323f4c5865727f87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c5254545c60626568676d6f707274757677797a7b7c7c7d7d7d7e7e7e7e7d7d7d7c7a7978777573716e696966625f5755534d46443f382f2a251e170e080000000000000000000000000000131f2c3946525f6c79858686868686868686868686868686868175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f39434e58606d78839098a2aebac2cdd6cbbfb4aa9f958c7f736a60554b4035291f160c010000020b17212a36414d56616c75818e97a1adb7c0ccd6d0c7bbafa49a91847a6d60594f443a30241a0e050000000000000000000000000000000000000004101c2834404b55626f7c8895a0acbdc6d1dcd4c8bbafa49a8c7f7366594f4331271d120700000814202d3946525d6875828f9caab4bfcad6cfc4b8ab9f9285796d6053473b3025190e0200000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403f3b362e261c12080000000c1926333f4c5966727f867d706b615a5146413b352f2e34383e424a50565d60696e757c82898d929798999a999795908b857f786e69615a50483f372d23180c010000030f1a26313c46515b646e747f868d929797989796918c857d726d62594f433a2f24190d010000000000000000020e1a25303b45505a636d737e858d919797989797918d857e736d635a50443b3025190e000000000000000000010d19242f3a444f59626d727d858c919697989797928d867f746e645b51463c31261a0f0200000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796c605346392d20130600000000000000000000000000000000000000000004080c0e0f131313131313131313131313131307070501000000000000000000000000000000000000000000000000000000000005080a0b1313131313131313131313131313120f0a05000000000000000000000000000000000000000106090b0c1313131313131313131313131313090907030000000000000000000000000000000000000003090d111213131313131313131313131313130a0a080400000000000000000008111a22282d30313939393939393939393939393939392f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6165666d6f7275777a7b7d7f808283848587888889898a8a8b8b8b8a8a8a89888786858382807e7b7875726e6a66615f57535049413d363029201a110600000000000000000000000000131f2c3946525f6c798592939393939393939393939393938e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505c666e7b86929fa6b0bbc5cfd0c6bcb1a79f92877c6f675d51453d31281e130800000a141d29333b46525e68717e8a939ea9b3bec9d2d2c7bdb2a89f93887d70685d52473e32281e1208000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221150b01000005111d2935414c5664717e8a98a2aebac6d3d3c6baaea2988a7e7164564d41362a1e110500000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b3033343535353535353535353535353533322f2a241c140a000000000c1926333f4c5966727f8c867d716c635b524d45403e3c3f44464f545b60686d747b82898f949a9ea1a9a6a6a5a7a09d97928c837b716c625a51493f34291d1205000006121f2b37434e58636d74808b92989ea1a9a4a8a19e9792877f726b61554c4135291d1104000000000000000005111e2a36424d57626c737f8a92989ea1a9a4a9a19e97928a7f736c62564d42362a1d1207000000000000000004111d2935414c56616c727f8792979ea1a8a4a9a19e98928b80746d63584e43372b1e1308000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c655b5044372b1f12050000000000000000000000000000000000000001090f14181a1b20202020202020202020202020201413110d080200000000000000000000000000000000000000000000000000060c1115171820202020202020202020202020201e1b1610090100000000000000000000000000000000060d1215181820202020202020202020202020201615130f0a0400000000000000000000000000000000070e15191d1f2020202020202020202020202020171614100b0500000000000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d7276797c7f818486888a8c8d8e909192989595969696979798989797979695949792908e8c8a8885827f7b77736e6964605b534f46413b322c2317110a020000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3becad6cec3bbafa3999184796d60594f433a2f24190e0506111b262f3b45505a616e7b85929ea5afbbc4cfd7ccc0b5aba0968d80746b60564c41352c20160c0000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3ceded6cabfb4aa9c8f8276695e53463a2d211403000000010d1924303a4753606d7a86929facb8c5d0d6cabeb4aa9c8f8276685e5246392d20150a00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3232323232323232323232323232322e2d2a251e170e050000000c1926333f4c5966727f8c92877e736d615e56514b4a494a50535961666c717a80868f939c9ea6abadb3b3b3b2b1aca9a29e9590867e716c625b51453a2e22150900000815212e3a47535f6a727f8c929fa2aaadb3b1b2aca9a19993877d70675d5145392c20150a00000000000000000714202d3a46525e69717e8b919fa2aaadb2b1b2ada9a29f918b7e71695e5246392e23180c00000000000000000713202c3945525d68707d879399a1a9acb2b1b3adaaa29f928c7f726a5f53473a3025190d010004101c2834404b545c606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b53493f33271b0f03000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000911192025292c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800000000000b17222c353e44494a5353535353535353535353535353534947433d342b20160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7f8286898c8e91929997999a9b9c9e9fa2aaa2a2a3a3a4a4a4a4a4a4a3a3a2a9a29f9d9b999797928f8c8884807b76706c656059524c443e3628231c140c0200000000000000000000131f2c3946525f6c7985929facacacacacacacacacaca89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adbac1cdd7cbc0b5aba0958d80746b60564c41352920170d0c17222d38414d57626c75828f97a2adb7c1cdd6cfc6bbafa4999184796d60594f433a2f231a0e05000000000000000000000000000000000000000005111e2a36424d5664717d8a97a2adb9c6d2dfd3c6baaea2988b7e7164574d42362a1e1205000000000813202c3945515d6775818e9ba9b3becad6d0c5b9ac9f92867b6e6154473c31261b0f00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3936302920170c0200000c1926333f4c5966727f8c9992887f766e68605d555756545c60646b70787e858d92999ea5aab0b8b9bebfc0bfbcb8b3ada79f9892877e726d62564a3d3124180b0005111d2a36414c56626f7c87929fa4aeb4b9bebebdb9b3aba49992857a6d6054473c31261b0f0300000000000004101c2834404b55616e7b86929fa4aeb3b9bebebeb9b3ada49f92867b6e61544b4034281c1004000000000000030f1b27333f4953606d7a859299a4abb3b9bdbebeb9b4aea49f92877c6e62564c4135291d110500000c18232e39424b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545453504941382d22170b000000000000000000000000000000000000010b151d252c3134353939393939393939393939393939392d29251e160e0400000000000000000000000000000000000000000009121a22282d3031393939393939393939393939393937332c251c13090000000000000000000000000009131b23292e31323939393939393939393939393939302f2c272119100700000000000000000000000007111b232b313638393939393939393939393939393931302d28221a110800000004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808b8f9298989b9d9fa3aba5a7a8a9aaacaeb4afafb0b0b0b1b1b1b1b0b0b0afb3adabaaa8a6a9a19e9c9996918d87827d78706b615e56504840342e261e140a00000000000000000000131f2c3946525f6c7985929facb8b9b9b9b9b9b9b9b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c44505b656e7b85929fa5afbbc4cfd1c7bdb1a89f93887d70685d52453e32291e13151e27333f49535f69717e8b949ea9b3bec9d3d1c6bdb1a79f93877c6f675d51473d31281e11080000000000000000000000000000000000000000000714202d3a46525e6975828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b31251a0e020000000004101d2935404b5564707d8a97a2adbac6d3d4c7bbafa3998c7f7265584e43372b1c1106000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4746413a32291e130800000c1926333f4c5966727f8c999a938c827b726d6766646365666d71767d838b92979fa3abafb7bbc2c6cacfcdcec8c5beb9b1aaa29993887f7265584b3f3225180c000713202d3946525e6875828f99a3afbabfc6cacec9c5bdb5aba1978c807366584e43372b1f120600000000000006131f2c3845515c6774818e98a2aebabec5c9cfc9c5bebaaea2988e8174665c5145382c1f130600000000000005121f2b3744505b6573808d97a1abb5bdc5c9cec9c6bfbaafa3998f8275685e5246392d201307000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746443f382f261b110600000000000000000000000000000000000009131d272f373c40424646464646464646464646464646463935302820160c020000000000000000000000000000000000000006101a242c34393d3e4646464646464646464646464646433e372e251b1005000000000000000000000006111b252d343a3d3f46464646464646464646464646463c3b38322b22190f0400000000000000000000030e19232d353c424546464646464646464646464646463d3c39332c231a100500000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9c9fa3aaa8aaacafb5b2b3b5b6b7b8babfbbbcbcbdbdbebebebdbdbdbcbbbebab8b6b5b3b3adaba8a8a09d9a938f8a837d756e68615a52443f3830261c1106000000000000000000131f2c3946525f6c7985929facb8c5c6c6c6c6c6c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea9b2bdc9d5cfc3bbafa49a91847a6d605a50443a3025191c26303844505b656e7b86929fa6b0bbc5cfd7cbbfb5aba0958d80736b60554b40352b1f160c000000000000000000000000000000000000000000000814212e3b4754616e7b86929facb9c5cfdbd5c9bdb2a89b8e8174675d514539291f14090000000000010d18242f3a4653606d7985929fabb8c4cfd7cbc0b5ab9d9083776a5f5347382e23170b000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130701010101010101010101010100000000000000000000000000000000000000000000000000000000000000010d1924303a444c525458585858585858585858585858585854524c443a3025190d01000c1926333f4c5966727f8c99a49f948f857f7a7573716f7174797d838a90959ea1a9aeb5bdc1c7cac6c5c3c3c4c6c9cac2bcb4aba49a9286796c5f5246392c1f13000714212e3a4754616d7a86929fabb5c0cad0d6dad5d0c7bdb3a99e9184786a5f53473a2e2115080000000000000713202d3a4653606d7985929faab4bfcad0d5dad5d0cabfb4aa9f9285796d6053463a2d2013070000000000000613202d394653606c7884919ea9b3bdc7d0d5dad5d0cac0b5ab9f92867a6d6154473a2e2114070000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3937332d261d140a000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353535346413a32281e1308000000000000000000000000000000000000000c17222c363e45494b53535353535353535353535353534f4940372c21160a00000000000000000000010d18232d373f464a4b53535353535353535353535353534948433d342b21160a000000000000000000000915202b353f474e5253535353535353535353535353534a49443e352c22170b00000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885929eabaeb4b4b7b9bbc0bfc0c1c3c4c5c7cad0c9c9c9cacacbcbcacacac9d0cac6c5c3c1bfbeb9b8b5b2acaca49f9c959089827a706c635c504a42382e231711070000000000000000131f2c3946525f6c7985929facb8c5d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e96a1adb9c0ccd8ccc0b6aca1968e81746c61564c41362a21232e38424e58606c77829098a2aeb8c1cdd7cec6bbaea3999083796d60594f43392f23190d0400000000000000000000000000000000000000000007131f2c38434e5866727f8c99a3afbbc7d7ded2c5b9aca096897c7063554b403529170d0300000000000007131f2c3845515c6674818e9aa9b3bec9d5d1c7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130e0e0e0e0e0e0e0e0e0e0e0e0e0a0a080400000000000000000000000000000000000000000000000000000004111d2935414c565d60656565656565656565656565656565615e564c41362a1d1105000c1926333f4c5966727f8c99a5a69f97928c86817f7d7c7e81848a90949da0a7adb3bbbfc6c7c5bfbab8b6b6b8b9bec1c6c5bdb5ac9f9285796c5f5246392c1f13000b1824313e4b5764717e8a99a3afbdc7d1dbe2e5e2d9d0c5b9aca196887b6f6255483c2f2215090000000000000a1623303d495663707d8998a2aebcc6d0dbe1e6e1dbd0c6baada297897c706356493d3023160a0000000000000915222f3c4855626f7b8896a1adbbc5d0d9e2e5e2dbd1c7bbafa3998a7e7164574b3e3124180b000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27221b140b020000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060605f524c443a3025190d01000000000000000000000000000000000005111d28343e48505557606060606060606060606060605f5a52493e33271b0f0200000000000000000006121d29343f49515658606060606060606060606060606056544f463d32271b0f000000000000000000010d1925313c4751595e5f60606060606060606060606060575550473e33281c1004000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9bfc1c4c5c7cbd1cdcecfcecccac9c8d1cbc7c5c5c4c5c5c7cbd1c9cbced0d0cecfcac6c5c2bdb8b6afaca79f9d938f857e736e605c544a3f342823190d0300000000000000131f2c3946525f6c7985929facb8c5d2dfdfdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a84919ea4aebac3cfd2c7beb2a89d938a7e70685e52463e332928343f4a545f6a727f8c949faab4bfcad3d0c6bcb1a79f92877c6f675c51463d31281d1108000000000000000000000000000000000000000000000915222e3b4854606a7784919dabb5c0cbd7d8ccc0b6ac9e9184786c605346392f2418060000000000000004101c2834404b5463707d8997a1adb9c6d2d4c8bcb1a79a8d8073665c5044382b1f13070000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000000000000000000000000000000000000000713202c3945525d686d7171717171717171717171717171716d685e5246392d201307000c1926333f4c5966727f8c99a5b0a9a29f98928e8c8a898b8d91969c9fa6acb1b9bec5c6bfbab8b4aeaca9a9abadb2b5b9bbc0b8ac9f9285796c5f5246392c1f13000d192633404c5966737f8c99abb5c0cfd9e3edf4ebe2d5c9bdb2a8968a7d7063574a3d3024170a0000000000000b1825323e4b5865717e8b98aab4beced8e2ecf1ece2d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724313d4a5764707d8a97a8b2bdcdd7e2ebf4ede3d7cbc0b5ab998c7f7266594c3f3326190c00000000030b12181c1f202121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201f1b17110a02000000000000000000000000000000000000000c1824313c48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c4135291d110500000000000000000000000000000000000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12050000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1c1106000000000000000004111d2936424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d201408000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad0d0d1ced0cac6c5c3c1bfbebcbbbbbfbab9b8b7b8b9bbc0bbbcbfc1c3c5c7cbd0d2d1cec8c7c0bbb9b1aba69e97928a80746d665c50443f352b1f150b01000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525d68707d89929da8b2bdc7d1d0c4baafa59e92857a6d615a50453b2f303944505c666e7c86929fa6b0bcc5d0d6cbbfb4aa9f958c7f736a5f554b40342b1f160c0000000000000000000000000000000000000000000004101d2935404b55626f7c8995a0acbdc7d1dcd4c8bbafa49a8c7f73655b5044372b1d120700000000000000000c18232e3a4653606d7985919eabb8c4ced9cdc3b8ab9e9184796d6053463a2f24180d0100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2727272727272727272727272727272423201c1710080000000000000000000000000000000000000000000000000714212d3a4754606d7a7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7a6d6154473a2e211407000c1926333f4c5966727f8c99a5b2b3adaaa29f9b999796989a9ea1a8abb0b8bcc3c7c0bbb4aeacaaa29f9d9c9ea1a9a8acafb6b8ac9f9285796c5f5246392c1f13000d1a2734404d5a6773808d9aa6b3c0d1dce7f3fdf3e5dacebeb1a4978b7e7164584b3e3125180b0000000000000c1926323f4c5965727f8c98a5b2bfcfdbe6f2fdf2e6dbd0bfb2a5988c7f7265594c3f3226190c0000000000000b1825313e4b5864717e8b97a4b1beced9e5f3fdf3e8dcd1c0b3a69a8d8073675a4d4034271a0d000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413120f0b060000000000000000000000000000000000000000010e1a2734404d59656f75797979797979797979797979797976685e5246392d20130700000000000000000000000000000000000a1724303d4955616c7179797979797979797979797979766c5f5346392d2013060000000000000000000b1824313d4a56626d7279797979797979797979797979796f6b605448382d22170b000000000000000006121f2c3845525e6a757979797979797979797979797979706c6155493c3023160a000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0cec9c5c4c1bebebab8b6b5b3b1afaeaeb4aeacabababacafb5aeb0b2b4b6b8babfc5c6cad0d4d2ccc8c3bcb8b0a9a19e928c81786d605b51473d31271d1207000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56616b74808d96a0abb5c0cbd7ccc1b9ada1978f82756c62574d413839434e58606d78839098a3aeb8c2ced7cec6baaea3989083786d60584e43392e22190d040000000000000000000000000000000000000000000006131f2c3845515d6774818e9aa8b1bdcfd9dfd2c6b9ac9f93877b6e6153493f33271b0f03000000000000000007121f2b3844505c6674808d9aa8b2bdc9d5d2c6b9ada197897d7063554b4035291d110400000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a3434343434343434343434343434343431302d28221a110800000000000000000000000000000000000000000000000915222f3c4855626f7b888b8b8b8b8b8b8b8b8b8b8b8b8b897c6f6256493c2f231609000c1926333f4c5966727f8c99a5b2bebab4aeaca8a6a4a2a4a7abadb2b7bbc2c7c1bdb5afaaa39f9b989290909197969b9fa4acb1ac9f9285796c5f5246392c1f13000c1926333f4c5966727f8c99abb5bfcbd7e3edf3ebe1d4c8bdb2a8968a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b97a9b3becad6e2ecf4ebe4d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724303d4a5763707d8a96a8b2bdc9d5e1ebf3ede3d7cbbfb4ab998c7f7266594c3f3326190c0000000000000000040607070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706050300000000000000000000000000000000000000000000020f1b2835424e5b68758186868686868686868686868686867a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e86868686868686868686868686796c605346392d201306000000000000000005111e2a36424d5665727f86868686868686868686868686867d6f63544a3f33281c0f03000000000000000613202c3946535f6c7987868686868686868686868686867e7064574a3d3124170a000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909ca9b6c2c0bdb9b7b4b2b3aeabaaa8a6a4a3a2a1aaa39f9e9e9f9fa3aba1a3a5a7aaacaeb4b8babfc6c9ced6d4cdc8c1bbb3ada49c938e80746d62594f43392f24180c020000000000131f2c3946525f6c7985929facb8c5d2dfe5dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1924303a444f59606d79849199a3afbbc3ced5c9beb3a99e938b7e71695e53493f404b555f6a737f8c959faab4bfcad4d0c6bcb0a69f92867c6e665c50463c30271d100700000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ceded6cabfb4aa9c8f8376695f5341382d22170b00000000000000000003101c28343f4a54626f7c8996a1acb9c5d2d5c9beb2a99b8e8175675d5145392c20140900000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534641414141414141414141414141414141413d3c39332c231a1005000000000000000000000000000000000000000000000915222f3c4855626f7b8895989898989898989898989895897c6f6256493c2f231609000c1926333f4c5966727f8c99acb5bdc6bfbab8b4b2b0afb1b4b8b9bdc4c7c2bcb7afaba39f98928e898583838586898e939a9fa7ac9f9285796c5f5246392c1f13000b1724313e4a5764717d8a99a3aebbc7d1dbe2e5e1d9cfc7b9aca096887b6e6255483b2f221508000000000000091623303c4956636f7c8997a2adb9c5d0dbe1e5e2d9d2c6b9ada197897c6f6356493c302316090000000000000815222f3b4855626e7b8896a0acb9c4cfd9e1e5e2dbd3c7baaea3998a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e939393939393939393939393877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a939393939393939393939386796c605346392d20130600000000000000000714202d3a46525e697683909393939393939393939393938d8074665b5044382b1f1206000000000000000613202c3946535f6c79869293939393939393939393938a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8b6b3b2acaaa8a5aaa29f9d9b99979695949498929291929299949496989b9d9fa3aaacaeb4b9bdc4cad0d8d4cdc5beb9aea59d928c7f726b60554b4035291e14080000000000131f2c3946525f6c7985929facb8c5d2d9d9d9cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515d676f7c87929fa7b1bcc6d0cfc5bbb0a69f92857b6e655b504445515c676f7c87929fa7b1bcc6d0d6cabfb4aa9f948c7f726a5f544a3f342a1e150b000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d3dfd3c6baaea2988b7e7164574d422f261b1106000000000000000000000b17232e384854606a7884919eabb7c3ced9cfc4b8ac9f92867a6d6053473b30251a0e02000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a4a4a4a4a4a4a4a4a4a295897c6f6256493c2f231609000c1926333f4c5966727f8c9aa4abb5bdc3c6c5c1bfbdbcbec0c4c5c9c3bcb8b1aba59e99928d86817c797676787a7d828790959ca49f9285796c5f5246392c1f13000714212d3a4754606d7a86929fabb5c0cad0d5d9d5cfc7bdb2a99e918477695f53473a2e2114080000000000000713202d3a4653606d7985929eaab4becad0d5dad5d0c7beb4aa9e9285796d6053463a2d2013070000000000000814212e3a47535f6a7784919ea9b3bdc7cfd5d9d5d0cabfb5ab9f92867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9386796c605346392d20130600000000000000000814212e3b4754616e7b87939f9f9f9f9f9f9f9f9f9f9f9e9184786c605346392e23170b000000000000000613202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a2aeaca9a6a8a09e9b98969892908e8c8b89888887868685848586868788898c8e9092989b9fa2aaacb2babfc6ced4d7cfc9bfb7afa59f93887d70675d51453b3025190e0100000000131f2c3946525f6c7985929facb8c5ccccccccccc1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c95a0aab4bfcbd6cdc1baaea2988f82776c60584e4f59606d79839099a3aeb9c3ced7cdc5baaea2989082786c60584e42382e22190c0300000000000000000000000000000000000000000000000714212d3a46535e6976828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b3120140a000000000000000000000006111c2c38434e586673808d99a7b1bcc8d4d3c6baaea2988b7e7164574d42362a1e1205000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1b1b1b1b1b1b1afa295897c6f6256493c2f231609000a1724313d4a5764707d879399a3abb2bbc0c7cbd1cac9cbcec9c4bdb9b1aca79f9d938f87817a746f6c6569676d70757c838c929f9f9285796c5f5246392c1f13000613202c3945525d6875818e99a3afbabfc6c9cec9c4bdb5aba1978c7f7366574d42372b1e120600000000000006121f2c3844505c6674808d98a2aebabec5c9cfc9c5beb6aea2988d8074665c5044382b1f120600000000000006121f2b37434e5866737f8c97a1abb5bdc4c9cec9c6bfbaaea3998e8175675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8acacacacacacacaca094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4acacacacacacac9f9386796c605346392d2013060000000000000005121e2a36424d5765727f8b9aa4afacacacacacacacacada197897c6f63544a3f34281c10030000000000000613202c3946535f6c7986929facacacacacacacaca3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aaa39f9c999796918e8b8987858382807e7c7b7b7a7979787878797a7a7b7d7f8183868a8e92989ea0a8aeb4bcc3cbd4dad5c9c0bbafa49a9184796d60564c41362a1d120700000000131f2c3946525f6c7985929facb8bfbfbfbfbfbfbfb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a3aebac2ced6cabeb3aa9f948b7f726a5f5455606b73808d95a0abb5bfcbd4d0c5bbb0a69f92867b6e665b50463c30261c10070000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd5c9bdb2a89b8e8174675d5145392c2013020000000000000000000000000f1b27323d4855626f7c8895a0acb8c5d1d6cabfb4aa9c8f8276695e52463a2d20150a000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d676767676767676767676767676767676767676764615a5044392d2014080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbebebebebebcafa295897c6f6256493c2f231609000a1623303c4955616c717e879299a0a8afb6babfc5c6c6c5c3bdb9b2aca7a09d959089827b746e6862605b555d60636a6f78808a92989286796c5f5246392c1f130004111d2935414c56616e7b87929fa4aeb4b9bebebdb9b3aba3999184796d6053473c31261a0e0200000000000003101c28343f4a54616d7a86929fa3adb3b9bdbebdb9b3aca49f92867a6d61544a3f34281c1003000000000000020f1a26313c4753606d79859199a3abb3b9bdbebeb9b4aea49f92877b6e61554c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9ada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b9b9b9b9b9ac9f9386796c605346392d201306000000000000000714202d3a46525e697683909cacb6c0b9b9b9b9b9b9beb2a99a8d8074665c5044382b1f12060000000000000613202c3946535f6c7986929facb9b9b9b9b9b9b0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b556774818e9a9a98928f8d8a8784817f7c7a7877757371706f6e6d6d666b6b6c676d6d6e70727477797d81868b91969fa2aab1b9c2cbd4dbd8ccc0b6aca0968d8073685e5246392f24180d01000000131f2c3946525f6c7985929facb2b2b2b2b2b2b2b2b2a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d44515c666e7c86929fa6b0bcc5d0d0c5bcb0a69f92867c6e665c5d676f7d87939fa7b1bdc6d1d6cabeb3a99f948b7e72695f544a3f342a1e150a00000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8d7ded2c5b9aca196897d7063554b4035291d11040000000000000000000000000a16212e3a47535f6a7784909daab7c2cdd8d0c6b9ac9f93877b6e6154483c32261b0f000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679747474747474747474747474747474747474747474706c6155493c3023160a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cbcbcbc8bcafa295897c6f6256493c2f231609000814202d3944505a626c717e8791969fa4acaeb4b8b9bab8b6b2aca8a19e95918a837c756e69615e5653504b5153585f666d737e86929285796c5f5246392c1f1300010d19242f3a47535f69727f8b929fa2aaadb3b1b2aca9a19992877d70675d5145392a20150900000000000000000c17232e3846525e68717e8a919fa2a9adb2b1b2ada9a29a938a7e71685e5242382e23170b00000000000000000915202c3945515d67707d879299a1a9acb2b1b3adaaa29f928b7f72695f53433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c6c6c6c6baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc6c6c6b9ac9f9386796c605346392d201306000000000000000815212e3b4854616e7b87939facb9c6d2c6c6c6c6cfc4b8ab9e9185796d6053463a2e23170c0000000000000613202c3946535f6c7986929facb9c5c6c6c6bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67778490918d8a8683807d7a7775726f6d686a68666463626161605c545e555c606161636568666d70757a7e848c92989fa7b1b9c2cbd4ddd2c7beb2a89f92867a6e61554b4035291d1004000000131f2c3946525f6c7985929fa6a6a6a6a6a6a6a6a6a6a69b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404a545f6a727f8c949faab3becad6cec2baaea3989083786d60606d79849199a4afb9c3cfd6cdc5baada2978f82766d62574d42382d22180c030000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8ded1c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000006121f2b37434e5866737f8c99a7b1bcc8d4d4c7bbafa4998c7f7266584e43372b1c11060000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc0b3a79a8d808080808080808080808080808080808080808080807d7064574a3d3124170a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d7d5c8bcafa295897c6f6256493c2f2316090004101c28333e48505a626c717c848d939a9fa3aaabacadabaaa8a19e96918b837d766f6b625f57524c46444045474e545c606c717d869285796c5f5246392c1f13000008131e2b37424d57626d74808b92989ea1a9a4a8a09e9791877e716b60554b403529180e03000000000000000006111c2a36414c56616c727f8a92979ea1a8a4a8a19e9792887f726c61564c4130261c1106000000000000000004111d2935404b55606b717f8791979ea0a8a4a9a19e98928b80746d62574d4231281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2d2c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000005121e2a36424d5765727f8c9aa4afbbc8d4d2d2d2d2d2c6b9ada197897d7063544a3f34281c100300000000000613202c3946535f6c7986929facb9c5d2d2cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a878984817d7a7673706e68686563615e565b59585655555453514b514b515354555659545c6064676d71797f8690959fa7b0b8c2ced7d9d0c4baaea3988d8073675d5145392c201307000000131f2c3946525f6c798692999999999999999999999999998e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39424e58606c77828f98a2aebac1cdd6cbbfb4aa9f958c80736a6b74808d96a0abb5c0cbd5cfc5bbafa59f92857b6e615b51453b2f261c0f0600000000000000000000000000000000000000000000000004111d2935404b5563707c8996a0acbec7d2ddd3c7bcb0a6998c8073655b504437281d130700000000000000000000000000030f1b26313c4855616e7b88959fabb8c7d2d7ccc0b5ab9d9184776a5f5447382e23170c0000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecec1b5a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000b17222c363f48505a616a6f7980878e92989c9e9fa29f9d9a96918c847e78706c636059534d46413b3735393c424a505a616b707d8686796c5f5246392c1f130000010e1a26313c45515b646e747f868d929797989796918c857d716c62594f43392f241806000000000000000000000d1925303a44505a636d727e858d919697989796918d857e726d635a50443a301e140a000000000000000000010d18242f3a434f59626c717d858c919697989797928d867f746e645b51453c311f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000714212d3a46535e697683909dacb6c0ccd8e4dfdfe1d5c9beb3a99a8d8174665c5044382c1f120700000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c807c7874706d676664615e56585654524c4f4d4b494848474645404540454747484a4c4b5153555d60676d737b8390959fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6053473a2e23180c000000131f2c3946525f6c79868c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c44505b656e7b85929fa5afbbc4cfd0c6bcb1a79f92877c6f707d89929da8b2bdc7d2d5c9beb3a99e938b7e71695e52493f33291d140a000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdd0d9dbd0c4b7ab9f94887b6e6153493f3327160c0100000000000000000000000000000a15212d3a46535f697683909dabb5c0ccd7d2c7b8aca095887c6f62544a3f34281c100300000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced1c5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f231609000005101a242d363f48505860676d747c81868c8f92939792908e89847f79716d66615a544f47423c36302b292c30383f445059606b707d85786c5f5245392c1f1200000009151f2a333f49525c646d727b8085888a8b8a88847f79706b625a50473d31281d12070000000000000000000008131e29323e48515b636c717a8084888a8b8a8884807a716c635b51483e32291e0c020000000000000000000007131d28313d47505a626b70797f84888a8b8a8885807b726d645c52493f332a1f0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000815212e3b4854616e7b87959fabbec7d2dde8f4f2e6dacfc4b8ab9e9285796d6053463a2e23180c00000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f746f6c6563605d555754524c4c4947464142403e3d3c3b3a3a38342f34383a3a3b3d3f4045464b51555c60696e7a8390949faab3becad6dcd0c6baaea2988a7e7164544b4034281c100400000d192633404c5966737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b3bec9d5cec3bbafa3999184797a84919ea4aebac4d0d6ccc4b9ada1978f82756c61574d42372d21180b02000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4cecececabfb4aa9c908376695f5341382d22170b00000000000000000000000000000005121e2a36424d5765727f8b99a4afbbc7cecec8bcb1a79a8d8074665c5044382c1f130800000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6cbc0b6aea9a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000008121b242d363e464e555d606a6f747a7f828586868583817c78726d67605c545048433d37312a251f1d1f262e343e474f59606b707d7064574a3d3124170a000000030e18212d37404a525b62686e74797c7d7e7d7b77736d67605950483f352b1f160c0100000000000000000000020d17202c363f49515a61686d73787c7d7e7d7c78736d68615a51493f362c20170c0000000000000000000000010c161f2b353f48505960676d73777b7d7e7d7c79746e68625b524a40372d21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000005121e2a36424d5766727f8c99a7b1bcd0d9e4eef9f7ebdfd2c6b9ada197897d7063544a4034281c1004000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626763605b5353514b4a4746413f3c3a3936303331302f2e2e2d2c2823292c2d2e2e302e34383a40454b51575e686d79829098a2aebac3ced9d6cabfb4aa9c8f8275665c5145382c1f130600000c1825323e4b57636d73737373737373737373737373737373706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57626c75818f97a1adb9c0ccd7cbc0b5aba0968d80818e96a1adb6c0ccd5cfc4baafa59e92857a6d615a50453b30241b0f060000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac1c1c1c1c1baaea2988b7e7165574d422f261b1106000000000000000000000000000000020e1a26313b4754616e7b87939facb9c1c1c1c1c1b8ab9e9285796d6053463a2f24190d01000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd2c8c0b9b5b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d6d5c8bcafa295897c6f6256493c2f2316090000000009121b242c343d434b51586062686d727678797a787774706c65605c55504a423e38322b2620191410151c2328353d474f59616c706c6155493c3023160a00000000060f1b252e38404951565e61666d6f7171706e6a66605d554f473f362d23190d04000000000000000000000000050e1a242e373f4850565d61656c6f7071706f6c65605d5650483f372e241a0e05000000000000000000000000040d1a232d363f474f555d60666a6e7071716f6d66615e56514940382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000714212d3a46535f697783909daab6c2cdddebf5f7f7eee2d5c9beb3a99a8e8174665c5144382c1f1207000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555a565350494745403d3b393630302e2d2a25262523222221201f1c181c1f2021222323282c2f353940454d565d676e7a85929fa7b1bcc8d4dbd0c5b8ac9f9286796d6053463a2d20130700000a16222f3b46515b636666666666666666666666666666666664615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea5afbac4d0d1c7bdb2a89d928d8e939ea8b2bdc8d2d5c9bdb2a89e938a7e70685e52483e33291f120900000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4b4b4b4b4b4b4b4ac9f92867a6d6054473c3121140a00000000000000000000000000000000000914202d3946525e6876838f9cabb5b4b4b4b4b4b4ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced3d3d2cbc5c1c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8c9c9c9c8bcafa295897c6f6256493c2f231609000000000009121a222b313940454e54565e616569666d6d676a6763605b53514b443f38302c27211a150d08040a1117232b353d474f59616461594f44392d201408000000000009131d262e373f444d52545c6062646564625f5853514b433d352d241b1108000000000000000000000000000008121c252e363e444c52535b606264656462605b53524c443e362e251c1208000000000000000000000000000008111b242d353d434b5153585f6264656462605c54524d443f372e261d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000815222e3b4855616e7b8895a0abb8c4d1ddeaebeaeaebe6dacfc5b8ab9f9285796d6053463a2e23180c000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494e4946443f3a39352f2e2d2a252321201d191a18161515141313100c101314141517181c1f24292f343b434c555e68727f8b95a0acb8c7d1dcd3c7baaea398897c6f6256493c2f231609000006121e2a354049515759595959595959595959595959595959575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525e68707d8a939da8b2bdc7d2cfc3baaea49d9a9b9ea5afbac4cfd6ccc4b9ada1968e81756c61564c41362d21170d0000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fa8a8a8a8a8a8a8a8a8a89b8e8175675d5145392c201302000000000000000000000000000000000005111e2a36414d5665717e8b99a3a8a8a8a8a8a8a8a8a99b8e8175685d5245392c201306000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbdbdbdbdbdbcafa295897c6f6256493c2f2316090000000000000810191f272f353d43474c525459545c60605d555b56535049454039342e261e1b160e0903000000061119232b353e474f5557554f473e33281c10040000000000010b141d252d323b41464a50535557585755534e4745403a312b231b1209000000000000000000000000000000000a131c242c323a4146495053555758575553504945413a322c241c130a0000000000000000000000000000000009121b232c313a4045474e53555758575553504a46413b322d241d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000006121e2b37424d5766727f8c99a7b1bcc8d4e0e1dedddddee1dfd3c6baada2978a7d7063544b4034281c10040000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c413c3937332d2c292421201e19161413110d08070c10131315171718181818171615131213181d2329313a434c56606d7883909dabb5c0cbd7d6cbbfb4aa988c7f7265594c3f322619060000020d19232e3740464b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212a36414c56616b74818e96a0abb5c0ccd7ccc0b6aea9a7a8aaafb7c1ccd6d0c4baaea49e91847a6d605a50443a30241b0f05000000000000000000000000000000000000000000000000000006121f2b3844505b6673808c999b9b9b9b9b9b9b9b9b9b9b96897d7063554c4135291d11040000000000000000000000000000000000020e1925303b4754616d7a86929b9b9b9b9b9b9b9b9b9b9b92867a6d6054473a2d211407000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb0b0b0b0b0b0b0afa295897c6f6256493c2f23160900000000000000070d151d242932373a4146474c4a505353514b4e4946443f38342e28231c140c0a0400000000000007111a232c353e44494a49443e352c21170b00000000000000020b121b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283035383f4446494a4b4a4846443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b120b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000814212e3a47535f697783909daab7c3cdd9d9d4d1d0d1d2d5d9d6cabeb3a99b8e8174665c5145382c1f13070000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f34302d2b27221f1d181414110d08070c10131417181c1f2022232425252525242321201f1b1714181f28313b44505c66717e8b99a3afbbc7d4dcd0c1b4a89b8e8175685b4e422d22170b00000007121c252e353b3e404040404040404040404040404040403d3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a4afbbc3cfd2c8c0b9b5b3b4b6bac1c9d3d2c7bdb2a89d92897d70685d52483e32291e12090000000000000000000000000000000000000000000000000000000613202d394653606c79848e8e8e8e8e8e8e8e8e8e8e8e8e8e84786c6053463a2f24190d010000000000000000000000000000000000000814202d3946525d6875828e8e8e8e8e8e8e8e8e8e8e8e8e8b7e7165584b3e3225180b000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadada79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a295897c6f6256493c2f2316090000000000000000030b121820272b3035393a3f3f4446474540413d3937332d28231d17110a0200000000000000000008111a232c33393c3d3c39332c231a1005000000000000000000090e171f252a2e34383a3c3e3e3d3b3a37312c29241d160d080000000000000000000000000000000000000000080e161e24292d3337393c3d3e3d3c3937332d29241e160e080000000000000000000000000000000000000000080d161d24292c31373a3b3d3e3e3c3a38342e2a251f170e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000815222f3b4855626e7b8895a0acb8c4d5d5cec8c5c4c4c5c9ced6cfc5b8ab9f9285796d6053463a2f23180c0000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222723201f1b1713100c0707070d1013181d1f202323282c2d2f30313132323131302e2d2b272221201d1f28343f4a54616d7a86929facb9c5d2dccfc3b6a99c90837669544a3f33281c0f030000000a131c232a2f323333333333333333333333333333333331302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515d676f7d87939fa7b1bdc6d1d2cbc5c1c0c1c2c6cbd3d7ccc0b5aba0968d81746b61564c41362c20170d000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8181818181818181818181818181817e71665b504438281e13080000000000000000000000000000000000000005111d2935414c5663707d81818181818181818181818181817f7265594c3f3226190c000000000000000000000000000000000000000f1c2835424f5b6875828e9ba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895969696969696969696969695897c6f6256493c2f23160900000000000000000001070c151b1e25292d2e2e34383a3a39352f302d2b27221b18120b0600000000000000000000000008111a21282d3031302d28211a11080000000000000000000000050d14191c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000040c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000006121f2b37434e5866737f8c99a7b1bcc8d4ccc3bdb8b7b7b9bdc4ccd3c6baada2978a7d7063554b4034291c100400000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161b1613120f0b060403090e12181d2024292c2d302e34383a3b3d3e3e3f3f3e3d3d3b3937332d2d2c2924232e3846525e687683909ca9b6c3cfdcd1c4b8ab9e918578665b5044382b1f1206000000010a12191e2225262626262626262626262626262626262423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202935414b55606b73808d95a0abb4bfcbd7d6d1cecdcecfd2d7d9cfc7bbafa4999184796d60594f443a2f241a0e05000000000000000000000000000000000000000000000000000000000714212d3a46535f696e757575757575757575757575757575716c62544a3f3328160c0100000000000000000000000000000000000000010d1924303a4854606b707575757575757575757575757575726d62574a3e3125180b000000000000000000000000000000000000000f1c2835424f5b6875828e93939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b888a8a8a8a8a8a8a8a8a8a8a8a8a897c6f6256493c2f2316090000000000000000000000040a0f13191d202123282b2d2d2c292423201f1b17110c070000000000000000000000000000000810171c20232423201c1710080000000000000000000000000002080e11171c1f202224252422211f1a15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151a1f212224252422201f1c17110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000815212e3a47535f6a7784909daab7c3cdcec3bab2acaaaaacb2bac4cecabeb3a99b8e8175675c5145382c1f130700000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090e090605030002080d141a1d24292c2f35393a3d40404546484a4a4b4b4b4b4a494846443f3d3a39352f2c2a36414c5666727f8c99a5b2bfccd8d2c6b9ac9f9386796c605346392d2013060000000000070d12161819191919191919191919191919191919171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f3a434f59606d79839099a3aebac2ced7e2dbdadbdbdedcd1c7bdb1a89f93877d6f675d51473d32281e1208000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6168686868686868686868686868686865625a5042382d22170b00000000000000000000000000000000000000000008131e2c38444f596063686868686868686868686868686865625b51463a2e221609000000000000000000000000000000000000000f1c2835424f5b687581868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000714212d3a4754606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d2114070000000000000000000000000002080d111314171c1f2020201d181613120f0b06000000000000000000000000000000000000050b101416171614100b050000000000000000000000000000000000060b101213161718171514120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171513120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121415171817161312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000915222f3c4855626f7b8895a0acb8c5d4c8bdb2a8a09d9ea0a8b2bdc9d0c5b8ab9f9285796d6053473a2f24180c00000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000060b14191f252a2f35393a4045474a4c4b5153555657585858585756545350494a4745413a3834303e4a5764717d8a97a4b0bdcad7d4c8bbafa49a867a6d6053473a2d20140700000000000002060a0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d45515c666f7c86929fa6b0bcc5d0dbe7e6e7e8e3d7cbc0b5aba0958d80736b60554b40352c20160c000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f2f261c110600000000000000000000000000000000000000000002101c27333d474f54565b5b5b5b5b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000000000000000000000000000000000714202d3a4753606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000613202c3945515d676d7070707070707070707070707070706d685d5245392c201307000000000000000000000000000000010507060b1012131413110d070605030000000000000000000000000000000000000000000004080a0a0a0804000000000000000000000000000000000000000000030607090b0b0a0808060200000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000020608080a0b0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000006121f2b37434e586673808c99a7b1bcc8d1c5b8aca096919196a0acb9c5d2c6baaea2988a7d7064554b4035291d1004000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e252a3136394045474b51535659555c6062636464656564646361605b535754514b46443f383c4956636f7c8996a2afbcc9d5d8ccc0b6a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949faab4bfcad6e2eef4ede0d3c7bbafa3999184796d60594f433a2f231a0d040000000000000000000000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d1d140a00000000000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000000000000000000000000000006131f2c3845515c676d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000000000000000000000000000000000000000004111d2935414b555d60636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000000000003060707060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000815212e3a47535f6a7784919daab7c3ced0c4b7aa9d918484919eaab7c4d1cabeb4aa9b8e8175675d5145392c1f1307000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232830363b42464b5153555d60636669676d6e70717172727170706e6c656764605d5553504a45404855626e7b8895a1aebbc8d4ddd2baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c78829098a2aebac6d3dfecede0d4c8bcb1a79f92877c6f675c51473d31281d11080000000000000000000000000000000000000000000000000000000000000000030d18212931363a3b4242424242424242424242424242423e3d3a342d241b0b020000000000000000000000000000000000000000000000050f1a232b33383c3d42424242424242424242424242423f3e3a352d251b1107000000000000000000000000000000000000000004101c2934404b555c6060606060606060606060606060606060606060606060606060606060606060606060605c544b4034281c1004000000000000000000000000000000000000000000010d18242f3a434b515457575757575757575757575757575754524c443a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0909070704010000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000915222f3c4855626f7c8896a0acb8c5d5cdc0b4a79a8d80818e9ba8b4c1d1d0c5b8ac9f9285796d6053473a2f24180d010613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171e262e343b41464d53555d6064676d70737578797b7d7d7e7e7e7e7d7c7b797774706d6764605c54514b4754606d7a8793a0adbac6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c44505b666e7b86929facb8c5d2dfebeaded1c5b8aca0958c80736a60554b40352b1f160c00000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e35353535353535353535353535353532312e29221b12090000000000000000000000000000000000000000000000000008111a21272c2f30353535353535353535353535353532312e29231b130a000000000000000000000000000000000000000000000c18232f39434b51535353535353535353535353535353535353535353535353535353535353535353535353514b42392e23180c000000000000000000000000000000000000000000000007131d28313a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707080808080808080808080807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070d1013141516171716151413110d0806050300000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060006131f2b37434e586673808d99a8b2bdc8d4cabeb3a9988b7e7f8c99abb5c0cbd3c6baaea2988a7d7164554b4035291d10040613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212930383f444c52575e61676d71757a7d7f82858688898a8b8b8b8b8a89878583817d7a76716d66605d555053606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57626c76838f9ca9b6c2cfdce9eaddd0c3b7aa9d9084796d60584e43392f23190d040000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222828282828282828282828282828282524211d171109000000000000000000000000000000000000000000000000000000080f161c20222328282828282828282828282828282625221e18110a010000000000000000000000000000000000000000000007121d273139404547474747474747474747474747474747474747474747474747474747474747474747474645403930271d12070000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f2820160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11131414141414141414141414141413110d0801000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181d202022232323232221201d191613120f0b060000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000815222e3b47545f6a7784919eaab7c3ced2c6b9ada197887c7d8999a3afbbc7d3cabfb4aa9b8e8275675d5145392c2013080013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333b424a50565e61696e73797e8285898c8f91939a96979798989797969892908d8a86827d79736d67605b54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69717e8b949fabb7c4d0dde9ebded2c5b8ab9f92857b6e665b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b191816120d07000000000000000000000000000000000000000000000000010b151f272f34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b00000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021212121212121212121212121201d19130c040000000000000000000000000000000000000000000000000106090b0c131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e212224292c2d2f2f30302f2f2d2c292422201f1b17110d08020000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000916222f3c4955626f7c8896a0acb9c5d5d1c5b8ab9e9285787a86929facb9c5d2d0c5b8ac9f92867a6d6053473a2f24190d0113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353e454d545c60686e747b80858a8f9298999c9e9fa4aca4a4a5a5a4a3aaa29f9d9a99928f8a847f79716c665e606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc7d3dfececdfd3c6baaea2989082786c60584e43392e23180d0400000000000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0906010000000000000000000000000000000000000000000000000000030d151d23292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c030000000000000000000000000000000000000000000000000000040c13181d202124242424242424242424242424242421201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d0400000000000000000000000000000000000000000000060d1215181820202020202020202020201f1515120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f262a2d2e2f35393a3b3c3d3d3c3c3a39352f2f2d2b27221b19130b0600000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130606131f2b37434e586673808d99a8b2bdc8d4ccc0b6ac9b8f82757783909daab6c3cfd3c7baaea2988a7e7164554c4135291d110413202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d363e474f575e666d727a81878d92979b9fa2aaa8abacafb6b0b1b1b1b1b0b4aeacaaaba39f9c97918c847e786e68606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232f39434e58606d78839098a2aeb8c2cdd8e4e8e6e2d6cabeb4aa9f948c7f726a5f554b4034281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b030000000000000000000000000000000000000000000000000000000001070d1113141717171717171717171717171717171413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3a39352f2820160c0100000000000000000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2c22211f1b150e060000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151d23282c31363a3b3f40454748494a4a49484745413f3c3937332d29241e17110a020000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060815222e3b4754606a7884919eabb7c3ced4c8bbafa49a8b7e7173808d99a9b3becad6cabfb4aa9b8f8275675d5145392c20130813202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d373f48505961696e787f858e92999fa2a9acaeb4b5b8b9bbc0bdbebebebebdbfbab8b6b5aeaca9a19e97918b827a706b6d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202934404b555f6a727f8c949faab4bfcad4dedcdbd9dadbd0c5bcb0a69f92867c6f675c51453d31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0d0e0e0e0d0c0c0b090707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c101314141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323a41464747474747474747474747474745413a32281e13080000000000000000000000000000000000000009131b23292e31323939393939393939393939392f2e2b26201810060000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383b4246484c4b515355565656565554524c4c4946443f38353027221b140b0600000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013030f1b27333f4953626f7c8996a1acb9c5d5d2c6b9ac9f93877b6e6f7c8997a2adbac6d3d0c5b8ac9f92867a6d6054473a2f24190d13202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232c363f49515a616b707b828c92989fa3abadb3b8babfc2c4c6c8c9c5c4c3c2c0c0c0c1c3c3bfbbb9b2ada9a19e948f857d706d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515c676f7c87929fa6b0bcc5d0d7d3d0cfcccdd1d7cec2baaea3999083796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080d1113141618191a1a1b1b1a1a191818161413110d0807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c5254545454545454545454545454524c443a2f24190d01000000000000000000000000000000000006111b252d343a3d3f4646464646464646464646463c3a37312a22180d03000000000000000000000000000000000000000000000000000000000000000000000000080e161e242930394045464d535558555d60626263636262605d56595553504946413a332d261d180f0a010000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201305121f2b3744505b6573808d9aa8b2bdc9d5d0c3b6aa9d908377696d7985929fabb8c5d2d3c7baaea3988a7e7164564c4135291d1113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353e48515b626c717d8590949fa2aaafb5babec5c6cacac6c5c1bdb9b7b6b5b4b3b3b5b6b8b9bdc2beb9b2ada69f9792867d70798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a444f59606d79839199a3aeb9c2ced3ccc7c3c2c0c1c5cad7cbbfb4aba0958d80736b60554c41352920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c10121316191d20212324262627272827262625242321201d19171413110d08050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424c565e616161616161616161616161605d564c4135291d110400000000000000000000000000000000010d18232d373f464a4b5353535353535353535353524847433c342a1f150b010000000000000000000000000000000000000000000000000000000000000000000008111a202830353e434b5153575f616568676d6e6f70706f6f6d68696662605b53524c443f382f2a211c130b0200000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130613202d394653606c7884919eabb7c4ced5c9bdb2a8998c7f73666675818e9babb5c0ccd6cbbfb4aa9c8f8275685d5245392c201308202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d47505a626d727e8792979fa6aeb4bbc0c7cacfc9c5bebab8b5b2acaaa9a8a7a6a7a8a9abadb2b6b9bbbeb9b0a9a19892877d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56606b74808d95a0abb5bfcbd3cac1bbb7b5b3b4b9c0c8d1c6bdb1a79f93877d6f675d51453e32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202324292d2e2f3132333434343433323231302d2c29242421201d1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545e686d6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013070000000000000000000000000000000006121d29343f4951565860606060606060606060605f55534e463c31271d120700000000000000000000000000000000000000000000000000000000000000000008121a232c323a41454f555c6064696e7275777a7b7c7d7d7c7b7a7876726f6c65615d565049413c332e251d140b01000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130f1b27333f4953626f7c8996a1adb9c5d6d2c5b9ada196887c6f6264717e8b99a4afbbc7d4d0c5b9ac9f92867a6d6054473a3024190d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a444f59616c727f889299a2a9b0babec5cbd0cac5beb9b3adaba8a8a09e9c9b9a999a9b9c9ea1a9a9acafb5bbbbb3aaa39992857b8894a1aebbc7d4d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323b45525d68707d88939fa7b1bdc6d1cdc1b8b0aaa8a6a8aeb6c0cbcfc3bbafa49991847a6d605a50443b3025190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2f3035393a3c3e3f4040414141403f3f3e3c3a393530312d2c2924211e1a14100b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415161616161616161616161616161616161616161616161616161616161616161616161615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e212121201e19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d7a7a7a7a7a7a7a7a7a7a7a7b7a6d6054473a2d211407000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c625f584e43392f23180e050000000000000000000000000000000000000000000000000000000000000008111a242c353e444c525961676d71777b7f8284868889898989888785827f7c78726d68605b534e453f372e261d140a010000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013121f2b3744505b6574808d9aa8b2bdc9d5d1c4b8ab9e9184786a5f616d7a86939facb9c6d2d3c7baaea3998b7e7164564c4135291d11202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414c56606b717e88939aa3abb3bbc2cad0cec5bfbab3ada9a29f9b979691908f8d8d8d8e909196989c9fa4abafb5bcb4aba1979083909ca9b6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d7a84919aa4afb9c3cfcfc5bbb0a69e9c999ca4aeb9c3cfccc0b5aba1968e81746c61564c41362a21180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d13181c22282b2e34383a3c3f414647494b4c4d4d4e4e4d4d4c4b4b49474541413e3a39352f2d2a261f1c160f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222323232323232323232323232323232323232323232323232323232323232323232322221f1b150e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a2d2e2e2d2a251e18130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d788587878787878787878787877e7164574b3e3124180b000000000000000000000000000000000b1824313d4a56626d727979797979797979797979796f6a5f554b40342920170b02000000000000000000000000000000000000000000000000000000000007111a232c363e474f565d606b70797e83888b8f91939a959696959596918f8c88847f7a726c655f57514940382e261c130a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201313202d394653606c7884919eabb8c4cfd5c9beb3a99a8d817467585e687683909da9b6c2cdd7cbbfb4ab9c8f8275685d5246392d2013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e686f7d86929aa4acb5bdc5cdd6ccc4bcb4aea9a19e97928e8b87848382818080828385888c8f93999fa4abb0bbb3a99f9490949fabb7c4d0ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d56616c75818e96a1acb6c0cbd6cabeb3a99e948f8d929ca7b1bdc6d1c7bdb2a89d938a7e70685e52463f332a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d24292d333839404446494c4c5254565759595a5a5b5a595958575654524c4d4a4745413b3a36312c271f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c222831363a3b3b39363029241d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a9794949494949494949285796d6053473a2d201407000000000000000000000000000000000c1825323f4b5865727f8686868686868686868686867c6f675c51453e32291d140a00000000000000000000000000000000000000000000000000000000060f19232c353e48505961686d747d848b9095989b9e9fa4aca3a3a2a9a19e9c9996918c867f776e6a635b524a40382e251c120800000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d200f1c28333f4a54636f7c8996a1adb9c5d6d2c6b9ada197897d7063565665727f8c98a7b1bcc8d4d1c5b9ac9f92867a6d6154473a302519202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3943505a616d7a859198a3acb6bec7cfd4cbc3bab2aaa29f97928b85827e7b7776757473747576787b7f83878e93999ea6aeb5b0a69f9c9fa6b0bbc7d3dfd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea8b2bec7d2ccc4b9ada2978f82808d95a0abb4bfcbd0c4baafa59e92857a6e615a50453b30261c11060000000000000000000000000000000000000000000000000000000000000000000000000002080d161d24292f35383f44464a51535659565d6162646566676767676665656463605d565a5754514c4846423b38332b28221c140b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181d262d333b4246484746413b352f28231c150c0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828e9ba9a1a1a1a1a1a89a8e8174675d5145392c1f1306000000000000000000000000000000000b1824313d4a56626d75828f9793939393939393989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000030e18212b353e47505a616b707a818a91969d9fa7a8aaacafb6b0b0afb2adaba9a8a09e98928b837b726d645c524a40372e241a0e04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20121f2b3844505b6674808d9aa9b2bdc9d5d1c5b8ab9e9285796d605354616e7b87959fabb8c7d2d3c7bbaea3998b7e7165564c41362a1d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000000000004101d2935404b55616c75818f97a1aab4bec7d0d4cac2b9b1a8a198928c857f7975716e69696867666768696a6e72767b81878f949fa3abb2b0aba9abb0b8c2cdd8e4d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303844505b656e7b85929ea5afbac4d0cfc4baafa59e92857a79839099a3aebac2ceccc0b9ada1978f82756c62574d42382e23170d030000000000000000000000000000000000000000000000000000000000000000000000050d14191f282f353a40454a5053545c60626669686d6f71727373747474737272716f6d68696764605d5555534d48443d38332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333b424648494949494949494949494949494949494949494949494949494949494949494949494947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821292f383f444d535454524c45403a342e271e1b160f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facadadadadaca096897c6f63554b4035291d1004000000000000000000000000000000000915222e3a46515b616d7a85919aa49f9f9f9f9fa0958d80746b61564d41382d22170d040000000000000000000000000000000000000000000000000009151f2a333d474f59616c717d848e939ea1a8abb1b5b7b9bbc0bcbcbcbdb9b8b5b2acaaa29f9490867f746e645c524940362c20160c020000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013202d394653606c7885919eabb8c4cfd5c9beb3a99a8d8174665c50535e697683909dacb6c0ccd7cbbfb5ab9c8f8276685e5246392d20202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000000000006131f2c3945515d67717e8a939ea9b3bcc6d0d6cdc2b8b0a79f9691867f79726d6764615e565c5a5a5a5b585f6265696e757b828c9299a1a9b2b7b6b7bbc2cad4dee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adb7c1ccd5c9bdb2a89e938a7e716f7c86929fa6b0bcc5d0c9beb3a99e948b7e71695f544a3f34281f150b01000000000000000000000000000000000000000000000000000000000000000000070e171f252a313a41454b51545b6063666d6f7275787a7c7e7f8080818180807f7e7e7c7a787674716d6765615f57544f46443f382f29241d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555656565656565656565656565656565656565656565656565656565656565656565655544e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d2328333b424a50575e61615e56514b444039302c27211b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a3aebabac0b6ac9e9184786c605346392f24180c000000000000000000000000000000000006121d29343f46525e68707d88939fa7b1acacb1a79d928a7d70685e53493f33271f160c010000000000000000000000000000000000000000000000040d1a26313c454f59616b717e8791979da5adb2b8bcc2c4c6c5c3c2c2c3c5c5c4c2bdb9b4aea69f98928c80746e635b51483e32281e13080000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201c28343f4a5463707c8997a1adb9c6d6d2c6b9ada197897d7063544a4d5765727f8c9aa4afbbc8d4d1c5b9ac9f92867a6d6154473b3025192c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e08010000000000000000000000000005111d2935414c56606d7984919ea5afbbc4cfd8d0c4bbb0a69f9590847c736d67605c5554524d4f4e4d4d4f4e5355575f62696e777f879197a1a9b3bcc6c7cdd4dce6e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3bec9d3ccc3b9ada1968e81756c6a727f8c949faab4bfcacfc5bbb0a69f92867b6e665c50443c31271d120700000000000000000000000000000000000000000000000000000000000000010a1119202930363e434b51555d60666c7074797c7f828587898a8c8c8d8d8e8d8c8c8b8a89878582807d7a76726e6963605953504a423c352f271f181008000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6163636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e272e343e454d545b60696e6e68605d55514a423e38322b26201a140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000010d18232a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d120700000000000000000000000000000000000000000000010c16202b37424d57606b707d879299a1a9afb9bdc4c7c6bfbab8b7b5b5b6b8babec5c8c5bfbab0aaa39f928d80736d635a50443a3025190b0200000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201f2b3844505c6674818d9aa9b3bec9d5d1c5b8ab9e9285796d6053464854616e7b87939facb9c6d2d4c7bbafa3998b7e7265564c41362a1e2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b020000000000000000000000000713202d3946525e68737f8c97a1adb7c1cdd6d2c7bdb2a99f948f837a6e6a605d55514b47464242414041424347484d53575f656c727c859197a2aab4bfcad6e0e6eee1d4c7bbaea194887b6e6155483b2e22150800000000000000000103040404040404040404040404040404040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc5cfcfc3baaea49e91847a6d60606c78829098a2aebac1cdcdc1baaea2989083786d60584e43392f23180d040000000000000000000000000000000000000000000000000000000000010a131b232b323b414650555d60676d72787c8185898c8f9297959798999a9a9a9a999898979697918f8d8a86827f7b76706b64605b544e454039312a221a1109010000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e707070707070707070707070707070707070707070707070707070707070707070706f6a5f54473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101920293039404550575f666c727b7a736d67605c545048443d37312a251f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0b01000000000000000000000000000000000000060d1925303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0500000000000000000000000000000000000000000008131e28323a47535f69707d869299a3abb2bbc1c9c2bcb7b4aeacaaa8a8aaabadb3b9bbc0c7c2bcb4aea49c928c7f736c61564c4135291d140a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20202d3a4653606d7985929eabb8c4cfd5c9beb3a99a8d8174665c504446535e697683909dacb6c0ccd7cbc0b5ab9c8f8276685e5246392d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b0100000000000000000000030f1c28333f4a54616d7a85929fa9b2bec9d3d7ccc0b5aba1968f82796e685f58514b45403b3a363034333431373a3c42474d535b606a6f7c859298a2aebac2ced8e2ede1d4c7bbaea194887b6e6155483b2e221508000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a2aeb8c2cdd1c7bdb2a89d92897d70685d5b666e7b86929fa6b0bbc5cfcabfb4aa9f948c7f726a5f554b4034291f160c01000000000000000000000000000000000000000000000000000000020b141c252d353d444d525a61676d737a7f84898e9297999c9ea1a9a4a5a6a6a7a7a7a6a5a5a4a9a19e9c9a99928f8b88827d77716c665f58514b433c342c231b130a0200000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222b323b424b515a61696e787f86858079726d66615a544f47433c363029241e160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a7b1bccabfb4aa9c8f8276695e5341382d22170b000000000000000000000000000000000000000008131e28323d45515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c0200000000000000000000000000000000000000010d19242f3a44505a616e7b869298a3abb5bdc4c6bfbab0abaaa29f9d9c9b9d9fa2a9acafb6bec4c6bfbaaea49c918a7e71685e52463d2f261b1106000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1c2834404a5463707d8997a1adb9c6d6d2c6b9ada197897c7063544a3f424d5765727f8c9aa4afbbc8d4d1c6b9ac9f93877a6e6154473b30252c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362e261d12080000000000000000000006121f2b3844505b66727f8c98a2aebbc4cfdbd4c7bbafa49991847a6d675e564e45403a342e2d2a25272727262b2e31373c41495058606a6f7d86929fa6b0bcc6d0dce7e1d4c7bbaea194887b6e6155483b2e22150800000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c959faab4bfcad7cbc0b5aba0968d80746b6056545f69717e8b949ea9b3becad0c5bcb0a69f92877c6f675c51453d31281e13080000000000000000000000000000000000000000000000000000010b141d262e373f474f565e616c717a80858c91969a9ea2a9a8abadb3b1b2b3b3b4b4b3b3b2b1b1b2adaba9aba39f9c98948f89837e786f6a605d554e463e352d251c140a01000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808989898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b2227343d444c545c606c717b838c92928c857f79716c636059534e46423b352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000020c16202834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291e140a0000000000000000000000000000000000000004111d2935414c56616c76828f98a2aab4bdc6c5bcb4aea69f9c9892908f8f9092979b9fa4acb2bac3cbbfb6ada39e92857a6d61594f41382d22170b000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1f2c3844515c6674818e9aa9b3bec9d5d1c4b8ab9e9185786c605346393b4854616e7b87939facb9c6d2d4c7bbafa4998b7e7265564d42362a2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252524d4c4740382e24190e030000000000000000000613202d394653606c7884919eaab3becdd6d5c9bdb2a89f93877d70685e554c443c352f2823201e191b1a1a1a1f21262b2f383f444e58606b717e8a949eaab4bfcbd6e3e1d4c7bbaea194887b6e6155483b2e221508000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676f7c87929fa7b1bcc6d0cfc6bbafa3999184796d60594f4d57626c75828f97a1adb9c1cccec2bbaea3999183796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000a131d262e384049515960686e767e848c92979ea1a8abadb3b5b8b9bebdbfbfc0c0c1c0bfbfbebdbeb9b8b5b5aeaca9a69e9c95908a837c736d675f584f473f372e261c130a000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d96969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d262d333e464e565e666d747e8690959f9f97928b847e76706b625f58524d45413a322820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b30261c11060000000000000000000000000000000000000713202c3945525d68717e8a949faab4bcc6c5bcb3aaa29f94908a858482828385898e939aa0a8b1b9c3c8bfb9ada1978e81746b6053493f33271b0f030000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d202d3a4653606d7985929eabb8c5cfd5c9beb2a99a8d8074665b5044383a46525e697683909cacb6c0ccd7ccc0b5ab9c908376695e52463a2d2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f1307000000000000000003101c28343f4a5463707d8a96a0acbcc5d0ded2c5b9aca1968d80736b60564c433b3229241d1814110e090d0a0f12151a1d262d333d464f59616c76828f98a3aebac7d3e0e1d4c7bbaea194887b6e6155483b2e2215080000040e1720272e33363737373737373737373737373737373734322f2a241c140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a3afb9c3ced1c6bcb1a79f92877c6f675d514745505a616e7a85929ea5afbac4d0cbbfb5aba0958d80736b60564c41352920170d02000000000000000000000000000000000000000000000008121c252e38404a525b626b707a828a91969fa2a9adb2b8b9bec2c5c6cacfcbcccdcccbcbcccbcbcfc9c6c4c2bfbbb9b6b0aaa79f9d95908780796f6a6159514940382e251c12090000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272f383f44505860686e78818a92989fa7a9a19e96918a837d756f6a615e57524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9bdb2a89b8e8174675d5145392c201302000000000000000000000000000000000000000000000007121d27303c45505a606d7a849199a3afbbbfb4aba0968e81746c61574d42382e23170d040000000000000000000000000000000004111d2935414b55606d7a85929ea6b0bcc5c6bcb3a9a298928b837e7a77757577797d81889196a0a7b1bac4c9beb3a99d93897d70655b5044372b1f13080000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2834404b5463707d8997a2adb9c6d6d2c6b9ada197897c6f63544a3f3336424d5765727f8b9aa4afbbc8d4d2c6b9ac9f93877b6e6154473b30253946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b000000000000000006121f2b3844505c6675818e9ba8b2bdced7d6cabfb4aa9e9184786d60594f443a31292018130c0705020000000206090b141b2227343d46505a616e7b86929facb8c3ced9e5d4c7bbaea194887b6e6155483b2e22150800000b15202931393f4244444444444444444444444444444444403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935414c56616b74808d96a0abb5c0cbd7cbbfb4aaa0958d80736a60554b403f46525e68717e8a939ea8b2bec7d1c6bdb1a79f93887d70685d52453e32291f14080000000000000000000000000000000000000000000007101a242e37404a525c636d727d858f949ea1a8adb3b9bdc4c6cacfd1cbc7c5c3c1c0bfbfbebfc0c1c2c5c6cacfcbc7c5c2bbb7b1aba79f99928d847c706b625b524a40372e241b120800000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7afafafafafafafafafafafafafafafafafafafafafafafafafafafafaa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2830394149505a616a6f7a838e939fa2aab1b3ada8a09e959089827c746e69605d564c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca096897c7063554b4035291d10040000000000000000000000000000000000000000000000000b151e2a333f45525d686f7d87929fa7b1bcbdb2a89d938a7e71695e544a3f34281f160c010000000000000000000000000000000613202c3945515d6774808d97a1adb8c2cbbfb4aaa29792867f76716d676968666d70757d849095a0a8b2bdc9c5bbafa59d9083786c6053463a3025190d0100000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2c3845515c6674818e9ba9b3becad6d1c4b8ab9e9184786c605346392d303b4754616e7b87939facb9c6d2d4c7bbafa4998b7f7265574d42362a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f3326190d00000000000000000713202d3a4653606d7985929eabb8c4ceded3c6baaea2988c7f72665c50473d32281f170e0701000000000000000000020a1117222b343e46535f6973808d9aa8b1bdc8d4e1d4c7bbaea194887b6e6155483b2e2215080006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333b46525e68707d89929da8b2bdc7d1cec5baaea3989083786d60584e433936414c56616c75818e96a1acb6c0cccfc3bbafa49a91847a6d605a50443b3025190f060000000000000000000000000000000000000000030d19222c364049525c646e737f8791979fa6adb2babec5c9cfcdc8c4c3c0bbb9b6b5b4b3b2b1b2b3b4b5b8babec1c5c6caccc7c3bcb8b1aba39f9691867d726d645c52493f362d241a0f06000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1720283139424a535b606c717c8490959da5aeb4bcbeb9b2aca79f9d948f87817b736d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b98a3aebac7c0b6ac9e9184786c605346392f24180d01000000000000000000000000000000000000000000000000030c18212935414c56606b73808c959faab3bebaafa59f92857b6e665c50443d31281e13080000000000000000000000000000000714212d3a4754606d7a86929fa9b3becac7baaea39892857c726d64605d55545c60636b707a839096a0acb9c1cdc0b8aca095897d7063564c41362a1d110500000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2d3a4653606d7985929fabb8c5cfd5c9bdb2a99a8d8074665b5044382b2d3a46525e697683909cabb5c0ccd7ccc0b5ab9c908376695e52463a2d3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b9ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585868074675a4d4134271a0e0100000000000000091623303c4956636f7c8997a2adb9c6d2dfd2c5b8ac9f92857a6d60544a3f352b20160d0500000000000000000000000000061019222a36424d57626f7c8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e221508000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea4aebac3cfd0c5bcb0a69f92867c6f665c51463d31303b44505a606d7a84919aa4afbbc3cfccc0b6aca1968e81756c61564d41362a21180c03000000000000000000000000000000000000010b151f2b343e48525b646e74808c9299a1a9b0b9bdc4cacfcbc7c2bcb8b6b5afaca9a8a7a6a5a5a5a6a7a9abadb3b4b8babfc5c7ccc8c2bdb5afa8a09892877f736e645b51483f362c21180c030000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020304040504030201000000060f182129323a434b545c656c737e8691969fa7afbabec5c9c3bdb9b1aba69e99938e86807a6d685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac0baada2979082786d60584e433a2f24190f060000000000000000000000000006121f2b37434e5865717e8b98a2aebbc5c8bcb1a79f92867d6f6a625b53514b4a50535960686e7a84919ea5afbdc7c8bcb1a79b8e8175685e5246392d20130700000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392834404b5563707d8a97a2adbac6d3d2c5b9ada196897c6f63544a3f33282a36424d5765727f8b99a4afbbc7d4d2c6b9ac9f93877b6e6154483b313946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e0d3c7baaea39992929292929292929292929292929292929292929292929292929292929292929292929292929292929292928d8074675a4d4134271a0e01000000000000030f1c28333f4a546673808d99a9b3becad6d5c9bdb2a89a8d8074685d5242382e23190e0400000000000000000000000000000007101a26313b47535f6a7784919daab7c4d0ddd4c7bbaea194887b6e6155483b2e221508000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e97a1adb6c0ccd6cabfb4aa9f948c7f726a5f544a40342b29323e45525d68707d88939fa8b2bdc7d1c7beb2a89e938a7e71685e52463f332a1e150a00000000000000000000000000000000000007121d27313d46505a636d74808d929fa3abb3bbc2c9cfcfc7c0bbb9b1aba9aba39f9d9b9a99989899999a9c9fa2a9a8acaeb4b7bbc2c7cfc7c0bbb2aaa299938b80736d635a50483e332a1e150b0000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfc5c6cad0d7d6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0e0f1010111211100f0e0d0c090f18212a333b444c555d666d77808b9298a1a8b1b9c0cad0d5cec8c2bcb8b0aba49f98928d847a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0c0100000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c030000000000000000000000000815212e3a47535f6a7683909daab4bfcdc5b8aca0958c7f726b6058514745403f44464f565e686f7d89939eabb5c0ccc3b9ac9f92867a6d6154473a2f23180c00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392c3845515c6774818e9ba9b3becad6d1c4b8ab9e9184786c605346392d2225303b4754616e7b87939facb9c6d2d4c8bbafa49a8c7f7265574d42363946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d7cbbfb4aba39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0100000000000006121f2b3844505b667683909ca9b6c3cfdbd2c5b9ada196887b6e62564c4130261c1107000000000000000000000000000000000009141f2b37434e586673808c99a6b3bfccd9d4c7bbaea194887b6e6155483b2e22150800101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b2bec8d2cdc5baaea2989082786c60584e42392e22202935414c56606b74808d96a0abb5c0cbd0c4baafa59e92857a6e615b51453c30261c110600000000000000000000000000000000000c18242f39434e58616c73808c929ca4afb5bdc4cdcfc9c0bdb5afaca79f9d999992908e8d8c8c8b8c8d8e8f9297979b9fa2aaaab0b7bbc1c8cbc3bcb4aba49f928c7f726d625a50453c30271d120700000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b8babec5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c10131416181a1b1c1d1d1e1e1d1d1c1b1a181618212a333c454d565d676d78818d929fa3aab2bac2cbd6dbd6cdc4beb9afa9a19e949087807a6d685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a7b1bccabfb4aa9c8f8376695f5341382d22170b00000000000000000000000000000000000000000000000000000000010c162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a0000000000000000000000000915222f3c4855626f7c88959fabbcc6c9bdb2a99d9183786d60594f463f393534383d444c56606b74818e99a4afbbc7c7baaea3998c7f7265554b4034291c1004000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d8074655b5044372b1c202d3946525e687683909cabb5c0ccd7ccc0b6ac9d908376695e53463a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dcd1c6bdb4aeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e010000000000000613202d394653606c7985929facb8c5d2ded1c4b8ab9e9184786a5f53443a2f1e150a000000000000000000000000000000000000030f1b26323e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e22150800111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656e7b85929fa5afbbc4cfcfc5bbb0a69f92867b6e665b50463c30271c19242f3a444f59606d79849199a3afbbc3ceccc1b9ada2978f82766d62574d42382e23170d0300000000000000000000000000000004101d2935404b55606a717e8a929ca4aebbc0c7cfccc4bdb9afaba39f9b95908c8986838281807f7e7f80818285888a8e92989c9fa6aab0b8bdc3ccc5bdb5afa49c918b7f716c61574d42392e23180c03000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6abaeb3bcc5d0d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000205080d111314181d1f202224262829292a2b2b2a2928272625232129333c454d575e686d79828e939da4aeb4bcc4ccd4d7cfcac1bbb2ada59d97918a827c746d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c11060000000000000000000003101c28343f4a546673808d99a7b1bccec5b9ada1968a7d70665c50473d342c29282b323b444f59616e7b87939facb9c6cbbfb4ab9d908376675c5145382c1f1306000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463935404b5564707d8a98a2aebac6d3d2c5b9ada196897c6f6353493f33271b1e2a36414d5665727f8b99a4afbbc7d4d2c7b8ab9f95877b6e6154483c3146535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b3a79a8d8074675a4d4134271a0e010000000000000815222f3b4855626e7b8898a2aebac6d3dbcec1b5a89b8e827568574e4232281e0c03000000000000000000000000000000000000000a1623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c77828f97a2adb7c1cdd5c9beb3a99e948b7e71695f544a3f342a1e15131e28323d45515d676f7c87929fa7b1bcc6d0cabeb3a99e948b7f72695f544a3f34281f150b0100000000000000000000000000020c1a242c3845515d676f7c86929fa4adb6bfcbd1c9c1bab2ada59d99928e8983807d7a76757473727272737476787b7e81858a8f949c9ea6acb2bbc0c7c7c0bbada39f93877e70695f544b4034281f1409000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9999999999999999999999999999999999999999999fa2aab3becad0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e202124292c2d2f31333535363737383736353433322f2d333b454d575f696e7a838f949ea5aebabfc6ced6d4cdc5beb9afa9a19e938e847e766f6a605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a0000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000006121f2c3844505c667683909ca9b6c2cdc4b8ab9e9184786c60544a3f352b221d1c2029323d46525e6976828f9cacb6c0ccc5b9ac9f9286796d6053473a2d201407000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393845515d6775818e9baab3becad6d1c4b7ab9e9184786c605346392d22171925303b4754616e7a87939facb9c6d1d4c8bcb1a7998c7f7266574d423746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b3a79a8d8074675a4d4134271a0e010000000000000b1824313e4b5764717e8a97aab4bfcad6d6cabfb4aa988b7f7265584c3f3125160c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949fa9b3bec9d3ccc4b9ada1978f82756c62574d42382d22180c0c16202935404b55606a73808c959faab4bfcbcfc5bbb0a69f92867b6e665c50443c31271d1207000000000000000000000000000a141e2c38434f59606d79849198a3aeb6bfc8d7c9c0b7afa8a19e928e86817c7673706d67686766656566666769696e7175797d82898f949da0a8afb6bec5ccbfbbafa49992867b6e665c51453b31261a0e020000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2f35393a3c3e4041424343444544434241403f3c3a3b454d575f696e7b8390959fa6afb7c0cbd0d8d6cbc2bbb3ada59e97918a8179716c625f58524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a3f342820160c0200000000000000000713202d3a4653606d7985929facb8c5cbbfb4ab998d8073665b5042382e2319101017202a36424d5764717e8a9aa4afbbc8c7bbaea399897c6f6256493c2f231609000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393a4753606d7985929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b1114202d3946525e6876838f9cabb5c0cbd7cdc2b6aa9d908377695f53463a46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0f3eae2dcd7d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b3a79a8d8074675a4d4134271a0e010000000000000c1926333f4c5966727f8c99a5b2bfd0dbd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a45515c666f7c86929fa6b0bcc5d0d0c4baafa59e92857a6e615a50453b2f261c1006040d18242f39434e58606d78839098a3aebac2cecdc2baaea2989083786d60584e43392f24180e04000000000000000000000006111c2630384854606b74808d96a0aab4bfc8d1c9c0b7afa59e969189817b756f6a6663605d555a595958595a5b575f6164676d71767c828991969fa4acb3bcc4ccc0b5aba2989083796d60574d42362a1e12050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85929fabb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000070c11171c1f262b2d3036393a3e404547494b4d4e4f5050515150504f4e4d4b4947454d575f696e7b8491959fa7b0b8c1c9d6d8d0cbc0b9b1a9a29e938e847d746d67615a534e45413a322820160c020000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4035291d11040000000000000000000000000000000000000000000000000000000000000000030c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000916222f3c4955626f7c8898a2aebac6c7baaea399887c6f62544a3f30261c1107050e1a25303b4754606d7a86939facb9c6cbbfb5ab988c7f7265594c3f32261906000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534635404b5564717d8a98a2aebac6d3d2c5b9ada196897c6f6253493f33271b0a111e2a36414c5665727e8b99a3afbbc7d4d1c4b8ab9f95887b6e6155483c46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdc9c8c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e010000000000000e1b2734414e5a6774818d9aa7b4c0cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f3a434f59606d79839098a3aeb8c2ced2c7beb2a89e938a7e71685e52483f33291d140a000007121d27313d44515c666e7c86929fa6b0bcc5d0cabfb4aa9f958c7f736a60554b40352920160c02000000000000000000000b17232e3842505a636f7c88939fa8b2bcc6d0c9c0b7afa59d938e847d746e696260585653514b4e4d4c4b4c4d4e4d5355555d60646a6f757c848d939aa2a9b2bbc3c7bdb4aaa0958d8074695f53463a2d2114070000000000000000000000000000000000000000000000000000000916232f3c4855606b707373737373737373737373737373737373737373737884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030b12181c23282b31373a3b4146474b4b51535557595b5c5c5d5e5e5d5c5b5a5958565451575e696e7b849196a0a7b1b9c2cad3d6cec6bfbaaea79f97928a817a706b605d555047433c352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a3aebac7c4b7ab9e9184786c6053463a2f24180d01000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f06000000000000000c1825323f4b5865727e8b98aab4bfcac5b9ac9f9286796d6053463a2d20150a00000914202c3945515d677784919daab7c4d1c1b5a89b8e8275685b4f422d22170b000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463945515d6775828e9baab4bfcad6d1c4b7ab9e9184786c605346392d22170b0e1925303b4754616e7a86929facb9c5d1d4c8bcb1a7998c7f7266574d4246535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e010000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414b55606b73808d95a0aab4bfc1c1c1c0b6aca1968e81756c61564c41362d21170b020000010b151f2834404a545f6a727f8c949faab3bec1c1c1bcb1a79f92877c6f675d51453d32281e130800000000000000000003101c28343f4a54616c7683909aa4afbac3ceccc1b7afa59d938e817a706b615e57544e4a47454041403f3f3f40414246484b51535860626b6f7980889297a1a9b2bac3c4bab0a69f93867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000714202c38444f59606366666666666666666666666666666666666666666b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000040a0c151c23282e34383c4246484c525457555d606264666868696a6a6b6a696867666562605d5e696e7b849196a1a8b1b9c2cbd3d4ccc4bcb4aea49d9590857e756d686159514b433e373129241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfc7bbb0a6998c8073655b504437281d1307000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505b666e7b85929ea5afb9beb4aa9f958d80736b60564c41352921180c030000000000010e1b2834414e5b6774818e9aa7b4c1d0c3b6aa9d908377665c5145382c1f1303000004111d2935414b556875818e9ba8b4c1cec4b7aa9d9184776a53493f33271b0f030000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463a4753606d7a86929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b11060814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d908377695f534746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e01000000000000111d2a3744505d6a7783909daab6c3d0dcd0c3b6a99d9083766a544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d676f7d87939fa7b1b4b4b4b4b4b4afa49a91847a6d605a50443b30241b0f0600000000030d18232e39424e58606c77828f98a2aeb4b4b4b4b4b4afa3999184796d60594f443a3024190d01000000000000000006121f2b3844505c66707d8a959facb6c0cccfc4baafa59d938e81776d686059524d47433d3a39352f333232333331363a3b4045474e545960676d747d859197a0a8b2bbbcb2a89f948d8073695f53463a2d21140700000000000000000000000000000000000000000000000000000004101c27333d474f5556595959595959595959595959595959595959595e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000060b151b1e272e34383f44464d5355565e616468676d6f71737475767677787776757473726f6d67686e7b849196a1a8b2bac3ccd4d4cbc2bab2aaa39f928d837b716c615d564f45413a312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69707e8a929da7b1bcbcb1a79f93877d70685d52463f332a1e150b0000000000020f1c2935424f5c6875828f9ba8b5c2cdc1b4a79a8e817467544b4034281c10040000010d18242f3f4c5966727f8c99a5b2bfccc5b8ab9e928578655b5044372b1f12050000000000000000030607080f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140808080807060401000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346414b5564717e8a98a2aebac6d3d2c5b9aca196897c6f6253493f33271b0a0005111e2a36414c5665727e8b99a3afbbc7d4d1c4b8aca095887b6e62554846535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb2aaa4a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e01000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3842505a606d79849199a4a8a8a8a8a8a8a8a8a89f93887d70685d52483e32291e120900000000000007121c27303c44505b656e7b85929fa5a8a8a8a8a8a8a8aba0968d80746b60564c4135291d110400000000000000000713202d3a4653606d7884919da7b1bec7d2c9bdb2a89e938e81776c655d564f46423b37322d2c29242626252627262a2d2f35383d43474f555d606b707c859196a0a9b3b4aaa1968f82786d60574d42362a1e1205000000000000000000000000000000000000000000000000000000000b16212c353d44484a4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000020a111720262b303940444a5053575f6166686d7175777a7c7e8081828383848483838281807e7c7a77737a849196a0a8b2bac4ccd5d3cac2b9b1a8a198928b80786e69615a524c443e352f281f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a6b0bccabfb4aa9c908376695f5341382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e95a0aab4bfbbafa49991847a6d615a50463c30271d12070000000003101d293643505c6976838f9ca9b6c2ccbfb3a6998c807366594d402e23180c00000000071825313e4b5864717e8b97a4b1becac6b9ac9f9386796c605346392d201306000000000000060c10121314141b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2114141414141413110d070100000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534645515d6775828f9baab4bfcad6d1c4b7ab9e9184786a605441382d22170b00010d1925303b4754616d7a86929facb9c5d1d4c8bcb1a7998c7f7366584e43535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa09995939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e01000000000000121f2b3845525e6b7885919eabb8c4d1dbcec1b4a89b8e8175685b4e4235281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616c74818e969b9b9b9b9b9b9b9b9b9b9b968d80746b60564c41362c20170d00000000000000000b151e27333f49535e69717e8b939b9b9b9b9b9b9b9b9b9b9b93887d70685d5245392c2013070000000000000005121e2a36424d5764707d8a95a0acb9c2d0cfc6b9ada1968e81776c655b534c443d36302b2720201d181a1918191a1a1e2124292c32373d434b5159606a6f7b849197a1abaea29891847a6d665c50453b31261a0e0200000000000000000000000000000000000000000000000000000000050f1a232c33383c3d404040404040404040404040404040404045515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b141b222732373e424a51545c6064696e73777a7e818486888a8c8e8f8f909191908f8e8d8c8b89868380839196a0a8b2bac4ccd6d2c9c1b8b0a79f9691867e746d665e575046413a3229241d160d0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c6baaea2988b7e7165574d422f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79839198a3aebac0b5aba1968f81756d62584e43392e23180e0500000004111e2a3744515d6a7784909daab7c3cbbeb2a5988b7f7265584c3f32251907000000000a1724313d4a5764707d8a97a3b0bdcac7bbafa499877a6d6054473a2d21140700000000030a11171c1f202121212835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21212121212121201d18130c04000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053464754606d7a86929facb8c5d0d5c9bdb2a89a8d807367584e432f261b110600000814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d9084776a5f5347535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bdb1a4998e8986868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e01000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66707d8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e84796d60594f443a2f241a0e050000000000000000030c17222d38414d57626c75818e8e8e8e8e8e8e8e8e8e8e8e8e8e847a6d6054473a2d211407000000000000000714212d3a46535f6976828f9ca8b1bdcbd1c6bdafa59e91847a6d655b5349413a322a251f1b1413110d070c0c0c090e1214181d1f272b313940454f585f696e7b859299a3a49f92867c6f685e544a3f332a1f140900000000000000000000000000000000000000000000000000000000000008111a21272c2f30333333333333333333333333333333333845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000070e171d262d333c434750545c60666d70767b8083878a8e91939a97999b9b9c9d9d9e9d9c9b9a99989a93908d9195a0a8b2bac4ccd6d2c8c0b7afa69f9590847c716c605c544d453e3530282018130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c5b8ac9f92867a6d6054473b3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f554b40342820170b02000005121e2b3845515e6b7884919eabb7c4cabeb1a4978b7e7164584b3e3125180b000000000a1623303d495663707c8996a3afbcc9ccc0b5ab94887b6e6155483b2e221508000000030c151c23282c2d2e2e2e2e35424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2e2e2e2e2e2e2d2c29241d160d040000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053414c5664717e8a98a3aebac7d3d2c5b9aca196897c6f6256493d3223140a00000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca095887b6e625548535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d00000000000000131f2c3946525f6c7985929facb8c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78808181818181818181818181818181817c6f675d51473d32281e12080000000000000000000006111b262f3b45505a616d7a8181818181818181818181818181817e7164574b3e3124180b000000000000000815222e3b4855616e7b87939facb9c3cecbbfb5ab9d93897d70675d534941382f28201a140f0a06040100000000000205070c10151b1f272f353d464e575f69707d87929f9d928a7e716a5f564c42382e21180e0300000000000000000000000000000000000000000000000000000000000000080f161c2023232626262626262626262626262626262b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000008111920292f383f444e545a61666d72787d82878c90939a9b9e9fa4aca6a7a8a9a9aaabaaa9a8a7a6aca49f9d999da0a7b1bac3ccd6d7cec0b6aea59e948f837a6f6a625a514b423b3329241e160e07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b555f6a727f8b949ea9b3bebaafa59f92867c6e675c51453d32291d140a000006131f2c3946525f6c7985929facb8c5cabdb0a4978a7d7164574a3e3124170b000000000916222f3c4955626f7c8895a2afbbc8d2bbafa295887c6f6255493c2f2216090000000a151e262e34383a3b3b3b3b3b424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473b3b3b3b3b3b3b3b3a39352f281f160c0100000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605345525d6875828f9baab4bfcbd6d1c4b7ab9e9184786a6054473b2e221502000000010d1925303a4754616d7a86929facb9c5d1d4c8bcb1a7998c807366584e535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b0000000000000013202c3946535f6c7986929facb9c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c747575757575757575757575757575756f6a60554b40352b20160c0000000000000000000000000a141d29333e46525e686d757575757575757575757575757575716c6155493d3023170a00000000000005121e2a36424d576673808c9aa4afbbc8d3c7bbaea3998e81746b60554c41382f261d160d090200000000000000000000000000040a0d151d2429343c454d57606b727f8b94948d80736c61584e443a30261c0f06000000000000000000000000000000000000000000000000000000000000000000050b1014161719191919191919191919191919191e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000009121a232b333b414950585f626c71797f848a8f939a9d9fa4acaaacafb6b3b4b5b6b6b7b7b6b6b5b4b3b6afacaaa6aaacb1b9c3ccd5dbd0c6bcaea49d938e82796d685f585045403930292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58606c77828f97a1acb6c0baaea2989083796d60594f443a2f261b11060005121f2b3845525e6b7885919eabb8c4cabdb1a4978a7e7164574b3e3124180b00000000091623303c4956636f7c8996a2afbcc9c8bbaea195887b6e6255483b2f221508000006111c2630383f44464747474747474e5b6875818e9ba8b4c1cedbd3c7baada094877a6d61544747474747474747474745413a31281d130700000000000b1824313e4b5764717e8a97a4b1bdcad4c7bbafa39986796c60534754606d7a86929facb9c5d0d5c9bdb2a8998d807366584e43372b1f1306000000000813202d3946525e6876828f9cabb5c0cbd7cec3b7aa9d9184776a5f53535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f130700000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60676868686868686868686868686868686260584e43392f23190d04000000000000000000000000020b17212a36414c565e6168686868686868686868686868686864615a5045392d2115080000000000000714212d3a46535f697784909dacb6c0ccd2c5b9ac9f92867b6e61594f433a2f261d140b050300000000000000000000000000000000030b1218222a333b454f59626d76828f8f82786d605a50463c32281e140a0000000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d0d121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000010a131b242c353d454d535b606a6f767e848b91969c9fa4acacafb6b7b9bbc0bfc1c2c2c3c4c4c3c2c1c0bfc0bbb9b6b3b7b8bcc3ccd5ded6cabfb4aa9d928d81786d675e564e463e342e271e170f0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5765717e8b98a2aebac7c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929aa4afbbbfb4aaa0958d80736b61564c41382d22170d0304111e2a3744515d6a7784909daab7c3cbbeb1a5988b7e7265584b3f3225180c000000000a1724303d4a5763707d8a96a3b0bdc9cabeb3aa94877a6d6154473a2e21140700000c17232e38424a5053545454545454545b6875818e9ba8b4c1cedbd3c7baada094877a6d615454545454545454545454514b433a2f24180d01000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f534c5664717e8b98a3aebac7d3d2c5b9aca096887c6f6255493d32271b0f030000000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca096887c6f6255535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625653535353535353535353535353535353535353535353535353535353535353535353535353535353534d4c4741382f241a0e0300000000000000121f2b3845525e6b7885919eabb8c4d1dacec1b4a79b8e8174685b4e4135281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d31271d11080000000000000000000000000000050f1925303a444c52545b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e34281d11050000000000000815222e3b4855616e7b8895a0acbec7d2c8bcb1a79b8e8175685e52473d31281d141413120f0b060b0907070401000000000000000000010710182129333d47515b626e7b86847a6d665c50483e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000a131c252d363e474f575e656c727c838a91969ea1a8acafb6b9bbc0c4c6c8ccd2cececfd0d0d1d0cfcecdd2ccc8c6c3c0c4c5c8ced5dedfd3c6baaea2988d80786d665d554c443c3428231d150c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998c8073655b504437281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d88939fa7b1bcbcb1a79f93887d70685e53493f33271f150b01101d293643505c6976838f9ca9b6c2ccbfb2a6998c7f7366594c4033261908000000000b1824313e4b5764717e8a97a4b1bdcac6baaea29886796d6053463a2d2013070003101c28343f4a545c6061616161616161616875818e9ba8b4c1cedbd3c7baada094877a6d6161616161616161616161605d554b4135291d1104000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f53525d6875828f9caab4bfcbd7d1c4b7aa9e9184776a6054473b2b20150a0000000000010d1925303a4754616d7a86929facb9c5d1d4c8bdb2a8998c807366584e5f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d13080000000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b1f150b0000000000000000000000000000000008131e29323a4146474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b49453e362c22170c000000000000000c1925323f4c5865727f8b98a7b1bcd0d1c5b8aca095897c6f63564d41352c26252321201f1b171917161413110d080c0a0807060400000000060f18212b353f47535f6a727f7c6f685d544a3f362c22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000009121c252e373f48505960696e777f8790959ea0a8adb2b9bbc0c6c8ccd2d2d4d3d2d0cecccbcbcacbccccced0d2d4d2d0ccd0d1d4d9dfe7dfd2c5b8ac9f92857c716c605d554d453c342a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d12070f1c2835424f5b6875828e9ba8b5c1cdc0b3a69a8d8073675a4d403025190e020000000c1825323f4b5865727e8b98a5b1becbc5b8ab9f928578665c5044382c1f12060006121f2c3844505c666d6e6e6e6e6e6e6e6e6e75818e9ba8b4c1cedbd3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c201306000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f5254606d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b190f040000000000000813202d3946525e6876828f9cabb5bfcbd7cec3b7aa9e9184776a5f545f6c7985929facb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000111e2a3744515d6a7784909daab7c3d0dccfc3b6a99c90837669544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839414242424242424242424242424242423c3b37322b22190d0300000000000000000000000000000000020c1720293036393a4242424242424242424242424242423e3d39342c241a100600000000000005111e2a36424d576875828f9ba8b5c2ced0c3b7aa9d9083776b6054443b342e3331302e2d2b272226242221201d191a1817151313100c070b0a08060f19232b37424e57636d726f6a5f564c42382e241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000008111b242e374049515a616b707b828c92999fa7acb2b9bdc4c8ccd2d4d4d1d1cbc7c5c3c1bfbfbebdbebfc0c1c4c6c7ccd2d2d5dae1e3e9ecdfd3c6baaea29892867e746d675f574e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c99a6b0bccabfb4aa9c908376695f5341382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0e1b2734414e5a6774818d9aa7b4c0cfc2b5a89b8f827568564c41362a1e11050000030f1b27333f49536773808d9aa6b3c0cdc4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a818e9ba8b5c1cedbd4c8bbaea195887c7a7a7a7a7a7a7a7a7a7a7a7a796d6054473a2d211407000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f4c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f6255493c32271b090000000000000005111d2935414c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f62555f6c7885929fabb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b020000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d343535353535353535353535353535352f2e2b2720191007000000000000000000000000000000000000050e171e252a2d2e35353535353535353535353535353531302d28221a1208000000000000000714202d3a46525e697885919eabb8c4d1ccc0b3a6998d807366594f46444041403e3c3b3937332d32312f2d2c292427252422201f1c181a18161513120f1a26313c45515b6366625f584e443a30261c12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000007101a232d364049515b626c717d858f949fa3abb1b9bdc4c9cfd4d7d4cec8c5c4bfbbb9b7b4b3b2b1b1b1b2b3b5b7b9bbc0c4c6c9cfd3d8dee4e2d6cabfb4aaa298928b81796e695f584e453c332920170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c7baaea2988b7e7165574d422f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515c676e7c86929fa5afbabeb3a99e948b7f726a5f554b40352920170b1825323f4b5865727e8b98a9b3becac4b7ab9e918478685e5246392d201408000005121f2b3744505b6576838f9ca9b6c2cfc2b5a99c8f8276695c4f432e23170c00000915222f3c4855626f7c878787878787878787878e939eaab6c3cfdcd5c9bcb0a4988e888787878787878787878787878074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ab9f9285786c5f525e6876828f9cabb5bfcbd7d1c4b7aa9e9184776a5f53473b2b20150a00000000000000010d1925303a4754606d7a86929facb9c5d1d4c8bdb2a8998d807366585f6b7885929eabb8c5d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23202020202020202020202020202020202020202020202020202020202020202020202020201a1a17130e0801000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f202728282828282828282828282828282823221f1b150f070000000000000000000000000000000000000000050c13191d20212828282828282828282828282828282423211d17100800000000000000000814212e3b4754616e7b8797a1adb9c6d2c9bdb2a8968a7d7063575553514a4e4c4b494746443f413f3e3c3a39352f3432302f2d2c282326252321201f1c17202a33404951575955534e463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000040e19222c353f48515b636d727e8692979fa6aeb5bdc2c9ced5d8d1cbc7c3bdb8b7b5aeacaaa8a6a5a4a4a5a5a6a8aaacafb5b8b9bec4c7cdd3d8dedbd0c6bcb4aaa39f938e837b6f6a5f574d453b322920160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202834404b555f6a727e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d1415222f3c4855626f7b8897a2adb9c6c5b9ada196877a6e6154473b3025190d02000613202d394653606c7985929fabb8c5ccc0b6ac998c7f7366594c403326190600000915222f3c4855626f7b889494949494949494949b9ea5afbbc6d2ded8ccc0b5aaa0989594949494949494949494948d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f54616d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b1f130600000000000000000813202c3945525d6875828f9cabb4bfcbd7cec3b7ab9e9184786a605e6b7885919eabb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000d192633404c5966737f8c99a6b2bfd1dcd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a040000000000000000000000000000000000000000000002080d1113141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000a1724313d4a5764707d8a97a9b2bec9d2c5b9aca096877a6d656361605c545b595856545350494e4c4a4947454142403f3d3b3a38342e3331302e2d2b282226242e3740464b4c4847433c342a20160c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000020c16202b343e47505a636d737f879298a1a9b0bbbfc6cfd5d9d2ccc7c0bbb9b2acaaaba39f9d9b999898979899999b9d9fa4ababadb3b7bbc2c7cdd5dad7cec6bcb4aea59d9590857c6f695f574d443b32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50453b2f261c13202d394653606c7985929eabb8c5c9bdb2a8978a7d7064564c41362a1f1409070f1b27333f4953626e7b8898a2aebac6c8bbafa49a897d7063564a3d3023170a00000915222f3c4855626f7b8895a1a1a1a1a1a1a1a1a8aaafb7c1ccd7e3ddd1c6bbb2aaa4a1a1a1a1a1a1a1a1a1a1a19a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f5665717e8b99a3afbbc7d3d2c5b8aca096887c6f6255483c32261b0f03000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9aca196897c6f625e6b7784919eaab7c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000b1825313e4b5864717e8b97aab4bfcbd7d6cabfb4aa988b7f7265584c3f31261a0e02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f090806030000000000000000000000000000000000000000000000000000010507070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000c1926333f4c5966727f8c99a5b2bfcfd1c4b7aa9e9184777372706e6d66696866646361605b535a59575554524c4f4d4b4a4846454041403e3d3b3938332d33312f2e353b3e3f3c3a37312a2218191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000008131e28323d464f59626c737f8b9399a3aab3bbc2cbd1d8d5d0c7c0bbb5afaca8a09d9a9992908e8c8c8b8a8b8c8d8e9193999a9ea1a9abb0b7bbc2c9cfd6d7cfc6bfbaafa7a09791857b6e695e564d443a3024190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61574d42382d22171f2b3744505b6575828f9babb5c0ccc1b5a89b8e8275685e52463b30251a131318232b3744505b6573808c99aab3becac6b9ac9f93867a6d6054473a2d21140700000915222f3c4855626f7b8895a2adadadadadadadb5b6bbc1c9d3dde8e2d8cdc4bbb5b0aeadadadadadadadadada79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b8ab9e9185786b5e5e6876828f9cabb5c0cbd7d1c4b7aa9e9184776a5f53473b2a20150a000000000000000000010d1924303a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8073655b6a7784919daab7c4d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3dbd0c1b5a89b8e817568574e42372b1e1308000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdd2c5b8ab9f928581807e7d7b7978767473716f6e6c656967656462605d565c5a58575553514b4e4d4b494846443f413f3e3c3a3935303432302f2d2c29242625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000060f1925303a444e58616b717e8b919fa4abb4bcc5cdd7dbd6cbc3beb6afaba39f9b96918d89868481807f7e7e7e7f80828486898d91979c9fa6abb0b9bec4cdd8d8d1cbc1b9b1a9a19791847b6e685e564c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a2aebac6c4b7ab9e9184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f1b27333f495365727f8c99a4afbbc7c5b9ac9f92867a6d61564d42362a2520202429343f4a54606c7884919eabb7c4ccc0b6ac9d918477685d5245392c20130600000915222f3c4855626f7b8895a2aebabababababac1c3c6ccd3dbe5efe9dfd6cdc6c0bcbbbabababababababab3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b7aa9e9184776b5e616d7a86929facb9c5d1d4c8bdb2a8998c807366584e43372b180e04000000000000000000000813202c3945525d6875828f9cabb4bfcbd7cec4b7ab9e9184786c606a7783909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2ded1c4b8ab9e9184786a5f53473a3024190d000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120600000000000002070b0d0d13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfd3c6baada297928e8d8b8988868483817f7e7c7a7977767472716f6d686a6867656362605c555b5958565453504a4e4c4a4947464142403f3d3c3a39352f33312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000030e18212935414c56606a707d87929fa3afb5bdc6cfd7d8d0cac0b9b1aca49f99928e8884807c7977757372717172727375777a7d81858a8f949c9fa6adb3bbc2ccd2d9d7cbc3bbb3a9a19691847a6e685d52453e332a1e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998d8073665b504438281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d222d3b4855616e7b87939facb9c3c7baaea3998c7f72695e52464036312d2d2f353d44505c66707d8996a1acb9c5c8bbafa49a8d807366564c4135291d110400000915222f3c4855626f7b8895a2aebbc7c7c7c7c7cecfd2d7dde5edf7f0e7dfd9d4d1d0c8c7c7c7c7c7c7c7c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c4b7aa9d9184776a5665727e8b99a3afbbc7d4d1c5b8aca096887c6f6255483c32261b09000000000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9ada196897c6f62697683909ca9b6c3cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d1dcd2c5b9ada196887b6e62564c4135291d12070000000000000000000000000000000000040d16202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d010000000000080e1317191a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191916130d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a9a29f9b999896999391908e8c8b8987858482817f7d7c7a7877757372706e6d67696866646361605b545a59575654524c4f4d4c4a48474540423f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000915202a333c46525e686f7c869299a3afbbc0c7d0d8d7cec6bfbaaea7a09a938e87817c77736f6d66686665656465666668676d7074787d82888f949ea1a9b0bbc0c7d0d9d5cdc4bbb2a8a09691837a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b7ab9f94887b6e62544a3f3328160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada2978f82786c60584e433a2f24212d3a46535f6975828f9ca8b1bdc8bfb4ab9f92857b6e615b5146423b3a393b40454f59606d7883909da8b2bdc9c6b9ac9f93877b6e6155483b2f24190d0100000915222f3c4855626f7b8895a2aebbc1c1c1c1c1c4c5c9ced6dee8f1e7ded5cec8c5c4c1c1c1c1c1c1c1c1c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b7aa9d9084776a5e6876838f9cabb5c0cbd7d0c4b7aa9d9184776a5f53473a2a20150a0000000000000000000000010d19242f3a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8074656976838f9ca9b6c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818d9aaab4bfcbd7d5c9bdb2a89a8d8074685d5245392e23180e05000000000000000000000000000000030c161f28343f4a54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1dbcfc5bbb3adaba8a6a5aba49f9e9c9b9997969892918f8d8c8a8887858382807e7d7b797876747371706e6c666967666462615e565c5a58575553514b4e4c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000030d1a26313c46515b616d7a849198a2abb5c0ccd2d9d7cec5bcb4aea49d959087817b756f6a6763605c545959585758595a555d6063656c70767c828a91979fa6afb6bec7d0d9d6cdc4bab2a8a0958e81756c62574d42382e23170c0300000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8bfb4aa9c908376695f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b413529212a36424d5763707d8995a0acb8c3c6baaea2988e81756d635b534d484646474b5159616b727f8c95a0acbac4c9beb3a99c8f8276695f53463a2d1e13080000000915222f3c4855626f7b8895a2aeb4b4b4b4b4b4b7b9bdc4ccd6e0eadfd5ccc3bdb8b7b4b4b4b4b4b4b4b4b4b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b6a99d9083766a616e7b87939facb9c6d1d4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000813202c3945525d6875828f9caab4bfcbd7cfc4b8ab9e9184786c6975828f9ca8b5c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a98a3aebac7d3dacfc4b8ac9f92867a6d60544b40342820170e0600000000000000000000000000040c151e28313944505c66707d8996a3afbcc9d6d4c7bbaea194887b6e6155483b2e2215080000010b151d252c30343535353535353535353535353535353532312e29231b130900000000000a141c242a2f3334393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cdc5bebab8b5b3b1b5afacaba9a7a6a4aaa39f9d9c9a9897959792908f8d8b8a8886858381807e7c7b7977767472716f6d686a6867656362605d555b595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000010b151f2b37434e58626d75828f96a1aab4bdc7d1ddd7cdc5bcb3aaa29f928d837c746e696260585653514b4d4c4b4b4b4c4d4b5153535b60636a6f767e858f949fa4acb5bdc7d0d9d6ccc4bab1a79e938b7e71695f544a3f34281f14090000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7165574d422f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e332926313b4653606c7884919da7b1bdc7beb3aa9e938c7f736d615e5754535354555d606b707d87929fa7b1bcccc6b9ada1978a7e7164574d42362a1e0c010000000915222f3c4855626f7b8895a2a8a8a8a8a8a8a8abacb2bac4cedae5d9cec3bab2acaaa8a8a8a8a8a8a8a8a8a8a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc3b6a99c9083766965727f8b99a4afbbc7d4d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000004111d2935414c5664717e8a98a3aebac7d3d2c5b9ada196897c6f6875828e9ba8b5c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0dbd3c6baaea2988c7f72665c51453e322920180f090300000000000000000002080d161e263039434e58606d7883909daab7c3d0ddd4c7bbaea194887b6e6155483b2e221508000000030b131a202427282828282828282828282828282828282524221d181109010000000008121c262e363b3f404646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403e3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfdfd7cfcac6c5c1c0bec0bbb9b7b6b4b2b1b4aeacaaa9a7a5a4a9a29f9d9b9a98969a9391908e8c8b8987868482817f7d7c7a7877757372706f6d676a6866635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000007121d27313947535f6a727f8b939ea8b2bcc6cfd9d8cec5bbb3a9a298928a80786f6b615e57544e49464540403f3e3e3f3f404045474950535860626c717a828c939aa4abb5bdc7d2ddd5ccc3b9afa59f92867b6e665c50443c31261a0e040000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30262b3744505b65727f8b95a0abb5c0c5bcafa59c918c7f766e69646160606163676d747d869299a3aeb9c3c6bdb0a69e9285796d6053463b31261a0e000000000915222f3c4855626f7b88959b9b9b9b9b9b9b9b9ea1a8b2bdc9d5e1d4c8bdb2a8a09d9b9b9b9b9b9b9b9b9b9b9b9a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b6a99c8f837669697683909cabb5c0ccd7d0c4b7aa9d9184776a5f53473a2a20150a00000000000000000000000000010d19242f3a4754606d7a86929facb9c5d0d5c9bdb2a99a8d80746674818e9ba7b4c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9caab4bfcad6d6cabfb4aa9e9184796d60594f443b322a211a140e0906050300010507090e13191f283038424b555f6a727f8b95a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d060000000000020e19242e3840474b4d53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4b4640372e24190d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4e0dcd3ccc7c3c2c0c2c4c5c7c6c4c3c1bfbebfbab8b7b5b4b2b0b3adabaaa8a6a5aca49f9e9c9b9997969992918f8d8c8a8987858482807f7d7b7a787675726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000c18232f3943505a626e7c86929fa5afbac4ced8dbd0c6bcb3a9a29792867e746d666059534d47433c3a38342e32323132332f35393a3f44464e545a61686d7880889399a4abb5c0ccd7dcd5cbc1baaea2989083786d60574d42372b20150a000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2013020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e27333f4953606d78839099a3afbbc3c1b7ada39c918c827b75706e6d6c6e70747980879298a2abb4bfcbbfb5ab9f948b7e71665c5145382a1f1409000000000915222f3c4855626f7b888e8e8e8e8e8e8e8e8e9196a1acb9c5d2ded1c5b8aca096918e8e8e8e8e8e8e8e8e8e8e8e8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b5a89c8f8275696e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b180e0400000000000000000000000000000813202c3945515d6775828f9baab4bfcbd6cfc4b8ab9e9185786c74818d9aa7b4c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5565717e8b98a2aebac6d3dbd0c6b9ada1968d80746b61564d443c332b261f1a1413120f0b0d1113141a1e252a313a424a545d676e7c86929fa7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e22150800000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000007131f2a36404a52585a60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded3cac2bbb7b5b3b5b7b9babfbebfc1c3c5c6c7c5c4c2c0bfbdbebab8b6b5b3b1b6afacaba9a7a6a4aba39f9e9c9a9997959892908f8d8b8a88868583817f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000004101c2934404b55616c76828f98a2aeb7c1ccd6ddd6cabfb4aaa29792857c716c605c544f46423b37322d2c2823262524252624292c2d33373c434750565e666c737e879399a4afbbc0cad3ddd6cabfb4aa9f958c8073695f53463c32261b0f040000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070709090a0a09080706040000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f34282d3844515c666f7c87929fa8b2bbc5bfb5ada39c948f86817d7b79797a7c81858d9399a2aab4bdc6c2bbaea3999082776c60544b403428180e03000000000815212e3b4854616e7b8181818181818181818184919eabb7c4d1ddd0c4b7aa9d9184818181818181818181818181817e7164584b3e3125180b000000000b1824313e4b5764717e8a97a4b1bdcacec2b5a89b8f827568727f8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0800000000000000000000000000000004111d2935414c5564717e8a98a3aebac7d3d2c6b9ada197897c6f73808d9aa6b3c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4754606d7a85929facb8c1d0d9d5c9bdb2a89d928a7d70695e564e453d37312b2621201f1b17191e2021262b30363c434c545c666d79839198a2aeb9c3ced9e5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b52463b2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3d8ccc2b8b0aaa9a7a8aaacaeb4b1b3b4b6b8b9bebdbfc0c2c4c5c7c6c5c3c2c0bec0bbb9b8b6b4b3b1b4aeacaaa9a7a5a4aaa29f9d9b9a9896959791908e84786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000006131f2c3845515c67717e8a949faab4bfc9d3dfd4cbc2baaea29892857c6f6a615a504a423d36312b27201f1c181918181819181d2022272b32373e444c545b606c717e87939fa4aeb8c2cdd6dbd0c5bcb1a79f92877b6e61584e43372b21160a000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184786c6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000000000000000000000030506080d1113141516171616151413100c0707050c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d322834404a54606a73808d96a0a9b3bbc5bfb5ada69e98928e8a87868687898d92979fa4abb4bcc6c2b8b0a69f92877c6f655b5042392e23180600000000000714202d3a46525e696e75757575757575757575818e9ba8b4c1ced9cdc0b3a69a8d8075757575757575757575757575716c6256493d3024170b000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a89b8e8175687683909cacb6c0ccd8d0c3b7aa9d9084776a5f53473a2a20150a000000000000000000000000000000010d19242f3a4754606d7a86929facb8c5d0d5c9beb3a99a8d807373808c99a6b3bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6774818e9aa5afbdc7d2dacfc4baaea49e92857b6e685f574f46423c37312e2d2b2722252a2d2e31373a41464e555d666d78818f95a0aab4bfcbd5dfe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736d63574b3e3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2d3c7bbb0a69f9c9a9c9d9fa3aba4a6a8a9abadb3b0b2b4b5b7b9bbc0bec0c1c3c5c6c8c6c4c3c1bfbebfbab9b7b5b4b2b0b4aeabaaa8a6a5a3a9a19e9d9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000004111d2935414c56606d7984919ea6b0bcc6d0dcd8cfc2b9aea49f92867c6f6a605850443f38302a251f1b1313100c070b0b0c070d1013171b1f272b323a424a505a626c717e8b929da6b0bbc5cfdad7cec2bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfc7bcb1a7998d8073665b504438281e13080000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d2021222323232322201f1c181514120e0f19242f3a434f59606d78829097a2adbac0baada2979083786d60594f443a2f2e39424e58606d79849197a1a9b3bcc5bfb8b0aaa29f9b9799929299969a9ea1a9afb5bdc6c2b9b0a69f948d80736a5f53493f30271d1207000000000005121e2a36424d575e6168686868686868686875818e9ba8b4c1ced9cdc0b3a69a8d807368686868686868686868686864625a5045392d211508000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a79b8e81746e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b1f1206000000000000000000000000000000000813202c3945515d6775828f9baab4bfcad6cfc4b7aa9d918477727f8c99a5b2bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b55626f7c88939eabb5c0ccd7d6ccc0b9ada19790837a6e6a6059534d46423d3a3937332d3036393a3d42474c525860676d78818e939ea7b1bcc6d0dde7e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a67738086868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2d0c3b7aa9f948f8d8f9192999697999b9d9ea1a9a3a5a7a9aaacafb5b1b3b5b6b8babebdbfc1c2c4c5c7c7c5c4c2c0bfbdbebab8b7b5b3b2b0b3adaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000713202c3945525d68737f8c96a1acb8c2ced8dcd1c6bdb1a79c928a7e716a60584e463e342e261e1a140f0a06040000000000000104060b0f151b20282f383f44505a626c73808d949ea9b3bec9d5e0d7cbc0b5ab9f93877c6f62594f44382c20150a000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b8ab9f95887b6e62544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000002080d11171b1f2023252a2d2e2f3030302f2f2d2c292321211e1a14131e28313d44505c666e7b85929fa5afbabeb3a99f948c80736b60564c413529303c45515d676f7c859297a2aab3bbc1c2bcb4aeaca8aba39f9fa3aba7abadb3bbc0c6bfbab1a79f948f82786d60584e41382d1e150b000000000000020e1a25303b454d52545b5b5b5b5b5b5b5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000b1824313e4b5764717e8a97a4b1bdcacdc0b4a79a8d8174727e8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000004111d2935414b5564717e8a98a2aebac7d3d1c5b8aca095877b727f8b98a5b2becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a47535f6a75828f99a4afbbc5cfdad5c9beb3a99f9590847c706b615f57534d4a4746443f43444146474a4d53565e616a6f7a818e939ea5afb9c3ced7e2efe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1cfc2b5a99c8f828082848687898b8c8e9092979597989a9c9e9fa3aba4a6a8aaabadb3b0b2b4b6b7b9bbc0bec0c2c3c5c6cac6c5c3c2c0bebdbeb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000004101c2834404b55606d7a85929fa8b2bdcad4e0d7cbbfb4ab9f958d80736c61584e463d3428231c150c090300000000000000000000000000030a0e161d262d333f48505a606d78828f97a1adb9c1ced8dcd1c7bbafa49a8f82756b6054483c32271b0f01000000000000000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000060b13191b22272b2d2f3036393a3c3c3d3d3c3b3a38342f2e2d2a251f1c181f28343f4a545e69717e8a939da8b2bdbcb0a69f92877d6f685d52453f332935404b555f6a6f7c859298a1a9afb9bec5bfbab8b5b5afacacaeb5b4b8b9bec5c2bcb4aea79f959082796d665c51463c2f261b0c030000000000000009141f29333b4246484e4e4e4e4e4e4e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4e4e4e4e4e4e4e4e4e4e4b49453f362d22170c01000000000b1824313e4b5764717e8a97a4b1bdcacdc0b3a79a8d807475828f9cacb6c0ccd8d0c3b7aa9d9083776a5f53473a2a20150a0000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d4c8bcb1a7988b7e717e8b98a4b1becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d2b37434e58626f7c87939fa9b3bec9d5dacfc5bbb1a79f9691857d756e69615f57575453504950504c525456575f62686d737c848f939ea5afb7c1cbd1d5dce3e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0cdc0b3a69a8d80747577797b7c7e8081838587888a8c8d8f9192999698999b9d9fa2a9a4a5a7a9abacafb5b1b3b5b7b8babec5ced0cecdcbcfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000006131f2c3845515c67727f8c98a2aebac4cedcddd3c7baaea3999083786d605a50463d342b2217110a030000000000000000000000000000000000040b141c2228363f44505c666d7a85929ea5afbcc6d0dcd8ccc0b6ac9e94897c6f63584e43372b1d120700000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7265574e422f261c1106000000000000000000000000000000000000000000000000000000000000000000020a11171e252a2d3337393c4041464748494a4949484745403f3b3a36312c28231c232e38424d57616c74818e96a0abb5bfbbafa39991847a6d605a50453c302f39434e585f6a6f7c8692979ea5adb3babec5c5c1c0bbb9b9bbbfc0c5c5c3bcb8b1aaa39f959083796d675d544b40342a1d140a0000000000000000020d17212930363a3b4242424242424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4242424242424242423e3d39342d241b110600000000000b1824313e4b5764717e8a97a4b1bdcaccc0b3a6998d80737a86929facb9c5d2d4c8bcb1a7998c7f7366584e43372b180e030000000000000000000000000000000000000713202c3945515d6775828f9baab4bfcad6cec1b4a89b8e81757e8a97a4b1bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060606060606060606060606060606060606060606060606060606060606060606060606060101000000000000000000000000010f1b26323c47535f6a74818e97a1adb9c1cbd4d7cdc2b9b1a8a0979287817b746e69676461605b535d5d565e616366696e737a808691969ea6afb7c1c0c1c5cad2dae3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cecec1b5a89b8e827569666c6e7071737576787a7c7d7f8182848687898b8d8e9092979597999a9c9e9fa3aba5a6a8aaabaeb4bcbfc7d0d9d8cfc2b5a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000713202d3a4653606d7985919eaab4beccd6dfd5c9bdb2a89f92867c6f665c50483e342b221910060000000000000000000000000000000000000000020a11172428343f4a545e68717e8a939eaab4bfcbd6ddd2c7beb0a69c9083766a605447392f23180c0000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000060b141c22283036383f4446494c4c525455565656565553514b4b4846423b38342e271e26303b45505a606d79849199a3aebbc0b5aba1968e81756c62574d42392e313c464e58606a6f7d858e939ea1a9aeb3b9babfc0c1c2c2c1c0bfbdb9b7b1aca79f98928c837a6d675d554b42392e22180b02000000000000000000050f171f252a2d2e3535353535424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d40353535353535353531302d29221b12090000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a6998c7f737d8a98a3aebac7d3d1c4b8aca095887b6e6255483c31261a080000000000000000000000000000000000000004111d2935404b5564717e8a98a2aebac6d3d1c5b8ab9e9285787d8a97a3b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121212120e0e0b0803000000000000000000000a15202b37434e58616d7a85929ea5afb9c2ccd6d4cbc2bab2a9a299938e87817b7774706d6c656a696a6b686d7073777b80858d9299a0a8b0b8b9b5b3b5b9c0c8d2ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d2d0c3b6a99d9083766a5b6061636466686a676d6f7072747677797b7c7e8082838587888a8c8e8f91929996989a9b9d9fa2aaadb5bfc9d4dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006131f2b37434e5865717e8b97a1adbcc5d0ded9cec5b9aca1968c7f736a5f544a3f362c221910070000000000000000000000000000000000000000000000061217232e38424c56616c75818e98a3aebac5d0dbd9d0c1b7ab9f94887c6f62554b4034291c10040000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c20130200000000000000000000000000000000000000000000000000000000000000020a11171d262d333a41464950535659565e61626363636262605c555854534d4644403930292429333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a403428343c464e58606b6f7a818a92979fa2aaacaeb4b3b4b5b5b4b4b2b2adaba7a09d9590867f786d685d554c433930271d10060000000000000000000000050d141a1e20212828282835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034282828282828282524211d171109000000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a5998c7f74818e9aaab4bfcbd7d0c3b7aa9d908377695f53473a2a20150900000000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d2c6b9ada197887b7d8996a3b0bcc9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1b1a18140f08010000000000000000040f1b26313c46525e68707e8a939da6b0bac4ccd5d4ccc4bbb3aba49f99928e8884817d7a797877767777787a7d7f83888d92989fa3abb2bab6aea8a6a8aeb6c0cbd5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5c0ccd1c4b8ab9e918578675d53545658595b555d606264656769666d6e7071737577787a7c7d7f8183848688898b8d8f9092989ba3adb8c3cfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000815222e3b4754606a7784919da9b3beced7e2d4c8bcb1a79e9184796d60584e42382e241a10070000000000000000000000000000000000000000000000000006111c26303a44505a616e7b86929fa9b3becad6e2d3c7bcb0a69a8d8074675c5145382c1f14090000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000020b141b22272f383f444c52535b60626669686d6f6f70706f6e6d676865615e5753514a423d352f282935404b55606a727f8c949fa9b3bebaafa59f92867b6e665c51443d322a343d464f5960686d757e858d92989c9fa3aba7a8a8a8a8a7a6a8a19e9a95918b837b726d665d564c433a31271e150b0000000000000000000000000002090e1214151b1b1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271b1b1b1b1b1b181715110c0600000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb2a5988b7f7884919eabb7c4d1d4c8bcb1a7998c7f7266574d42372b180e0300000000000000000000000000000000000000000713202c3945515d6775828e9baab4bfcad5c9beb3a9988b7e7c8996a2afbcc9d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282724201a130b0200000000000000000a15202a36414c56616c74818e949fa8b2bac3ccd7d6cdc5bdb5afaba39f9a96918d8a878685848383848587898c9095999fa2aaaeb4bdb8aea49c9a9ca4aeb9c3ced9c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d8d3d0cfc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a4afbbc7d2c6b9ac9f93867a6d605348494b4d4e4c51545557595a545c6061636566686a686d6f7172747678797b7d7e808283858b919ba7b3c0ccd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000003101c28343f4a54626f7c8995a0acbbc4cfe0ded1c5b8aca0958b7e71675c51463c30261c12080000000000000000000000000000000000000000000000000000000a141e28323e46525e6973808d97a2adbac7d1dcd8cdc2b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184796d6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50565e61656c6f7376787a7b7c7d7c7c7b7a7775726e6964605c544f45413a312c2f39434e58606c77828f97a1adb9c0baaea2989083786d60594f443a302b343d474f565e616c717a80858b8f9299989a9b9c9c9b9a999796918d89847e786e6a605c544c443a31281f150c03000000000000000000000000000000020507080f0f1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271a0f0f0f0f0f0b0b0805010000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a5988b7e7b8896a1acb9c5d2d1c4b8aca095887b6e6155483c31261a0800000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3cfc1b4a89b8e817c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b0100000000000000030d1925303a44505a606d79829096a0a8b1b9c1cbd1d7d0c7c0bbb5afaca8a09e9a9799929190909091929796999d9fa7abaeb4babfbab0a69c928d929ca7b1bcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0d0d9e4dfdfdfdfe6dcd4cdc7c4c2bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2c8bbafa49a8a7d7063574a3d3e4042414547494a4c4e4a50535456585a5b565d606264666769666d6e7072737577787f8b98a5b2becbd5c9bdb2a896897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000006121f2c3844505c6674808d9aa8b1bdcdd6e1d5c9beb3a99d9083786c60554b40342a1e140a00000000000000000000000000000000000000000000000000000000020c16202a36424d57616d7a85929fabb5c0cbd7dfd3c6baada2978a7e7164574d42362a1e1205000000000000000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bfc8bcb1a7998d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000006111b262f383f444e545b60686d72787c7f8385878889898989888684827e7b76716d666059524c433e352c313c44505b656e7a85929ea4aeb9bfb4aa9f958d80736b60564c41362a2b343d444c525a61686d737a7e8286898b8d8e8f8f8e8d8c8a8884817d77716c665f57504a423a32281f160d030000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedacdc0b3a79a8d8074675a4d4134271a0e0202020200000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a4988b7e7f8b98a8b2bdc9d5d0c3b6aa9d908377695f53473a2a201509000000000000000000000000000000000000000000010d18242f3a4753606d7986929facb8c5d0d1c4b7aa9e91847c8895a1aebbc8d4cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454541403c362f261d1308000000000000000008131e28323e45515c676d7a849196a0a7b0bbc0c7cfd5d2ccc7c0bbb9b2acaaa7aba39f9e9d9c9d9e9ea2a9a6aaabb1b8babec3bab2a89f948d808d95a0acb8c5d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aaab4bec7d2dde8f0f4e9ded4cac2bbb7b6b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784919daab7c4d1ccc0b6ac9a8d817467584e4337332f35393a3c3d3f413f444648494b4d4f4c52545557595b545c6061636567686a74808d9aa7b3c0cdd2c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000713202d3a4653606d7985929eabb8c3cededfd2c6b9ada1978a7e71665b5043392e22180c020000000000000000000000000000000000000000000000000000000000050e1a25303b46525d6873808d99a3afbbc7d3e0d6cabeb3a99c8f8276695e52463a2d201407000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6e62544a3f3428160c0100000000000000000000000000000000000000000000000000000000000a1317222d38414950585f666c727a7f84898c8f929795969696959993918f8b87837e79706b605d564f473e3627333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e52463f342a2b323a414650565e61676d72767a7c7e8081828281817f7d7b7874706b65605b544e443f38302820160d04000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddacdc0b4a79a8d8174675a4e4134271b090502000100000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacabeb1a4978b7e828f9ba8b5c2ced4c8bcb1a7998c7f7266574d42372b1e12060000000000000000000000000000000000000000000007131f2c3945515d6775818e9baab4bfcad2c5b9aca096887c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524e4c4841382f251a0f0300000000000000020c16202834404b555e686e7b8491959ea6afb5bdc2c9ced4d1cbc7c4bdb9b7b4b5afacabaaa9aaaaabadb3b2b6b8bcc3c6c0b9b1a8a1968f827883909daab7c3d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d98a2acb6c0ccd8dde7f1e4d8cdc2b8b0aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aabb4bfcbd2c4b7ab9e9184786a5f53473b3025292c2d2f31322e34383a3b3d3e4042414547494a4c4e4a51535556585a5b667683909ca9b6c3cfd1c4b8ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000a1723303d4a5663707d8997a1adb9c6d2dfd8ccc0b6ac9e9285796d60544a3f30271d10060000000000000000000000000000000000000000000000000000000000000009141f2935414c56616e7b86929facb9c4cfdadbcfc5b9ac9f93877b6e6154483b2e23180c00000000000000000000000000000000000000000000000007131f2c38444f5966737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382e23170b000000000000000000000000000000000000000000000000000000000008121c2527333f49535b606a6e787f868c9196999c9ea1a9a2a3a3aba49f9e9b9894908a847d746d68615950483e352d38414d56616c74808d95a0aab4bfbbafa49a91857a6d615b51463c31272930363e444c52555d6065676d6f7274757575757473706e696763605953504a423c342e261e160e0400000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9cec1b4a79b8e8174685b4e4131261a14110e090d0d0c0c0b090601000000000000000b1824313e4b5764717e8a97a4b1bdcacabdb1a4978a7e85929eabb8c5d1d1c4b8ab9f95887b6e6155483c31261a0e020000000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3c9bdb2a8978a7d8a97a4b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b41362b2014080000000000000000050e18232e39434c565f696e7b838f949fa3abb0b9bdc4c8cdd1d3cec9c5c4c0c0bbb9b8b7b6b6b7b8b9bebfc3c4c7c3bcb8afa7a09691847b74808d9aabb5c0cbc7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c86929aa4afbbc1cbd5dfe9dfd3c7bbb0a69f9c9696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5764707d8a99a3aebac7d2c5b9ada196887b6f62574d42362a1e202122242623282b2d2e3032333035393a3c3e3f41404446484a4b53606c7985929fabb8c5d2cec2b5a89b8f827568564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000006121e2b37424e576874818e9ba9b3bec9d5e0d4c8bbafa49a8c8073665c5142382d1e150b0000000000000000000000000000000000000000000000000000000000000000030d1924303a46525e6975828e9ba9b2bec9d5e0d4c7bbafa4998c7f7265544a4034281c100400000000000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3988b7e7265584e4330261c110600000000000000000000000000000000000000000000000000000000040e1a242e373f44505b656c727c838c92989ea1a8a9abadb3afb0afb5afacaaa8a69f9c969189817a706b615a50473e352f3b444f59606d79839098a3aebac0b6aca1978f82756d62584e43392f23252a323a41464c5154555d6063656768696968676664615f5756544f46443f382f28231c140c040000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9cfc3b6a99c90837669584e43372b23201e1a1b1a1919191815120d060000000000000b1824313e4b5764717e8a97a4b1bdcad0c3b6aa9d90839097a1adb9c6d2d0c3b6aa9d908377695f53463a2a1f15090000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cec3b6aa9d9083909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b00000000000000000007121d27303a444d575f696e7a828c92999fa6acb2b8bcc3c5c8cecfd1d1d1cbc7c5c4c3c3c3c4c5c6cac8c5c2bcb7b1aba59d9590847b6e707d8a99a3afbbc1c1bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a707e88939fa5afb9c3cdd7e1ddd0c4b7ab9f948f898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0c9bdb2a89a8d8074695e52463b30261c14161719171c1f202123252724292c2d2f31332e34383a3b414c5663707d8997a2adbac6d3c9bdb2a8998c7f7266594c3f3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000814212e3a47535f6a7884919eabb8c4cfdadfd2c6b9ac9f93877b6e61544b402f261c0c0300000000000000000000000000000000000000000000000000000000000000000008131e2a36424d5763707c8997a1adb9c6d2dfd7ccc0b5ab9c8f8276665c5144382c1f12060000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6054473c3121140a00000000000000000000000000000000000000000000000000000000020c16202c363f49525c606c777f8690959fa2aaadb2b6b8b9bebcbcbcc0bbb9b7b5b0aba8a09e938e847d706c61594f473d33323e45515c676f7c86929fa6b0bbbeb2a99e948b7f726a5f554b40342920202930363a4145474b515456585a5b5c5c5b5a595755534d4948443d38332d261d17110a02000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bed1dcd1c5b8ab9e9285786a5f53473c342e2d2a25282726262524221e18110901000000000b1824313e4b5764717e8a97a4b1bdcad1c4b8aba0959095a0a9b3becad4c8bcb1a7998c7f7266574d42362a180e0300000000000000000000000000000000000000000000000007131f2c3845515d6775818e9baab4bfcad1c4b8aca0959095a0acb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878746f64594c4033271a0e000000000000000000000b151e29323b454d565e686d777f8790949ea0a8abb1b7b8bdc0c2c4c6c7ccd2c9c9d2ccc7c6c4c2c0bdb8b7b1aba79f9d938e837b6e696d7a86929facb4b4b4b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58616c73808c939ea7b1bbc5cfd9dccfc2b6a99c8f827d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca9b3becacfc4b9ac9f92867b6e61574d42382e23171107060b1012131516181a191d202122242623282c2f3846525e6875828e9ba9b3becad2c5b9aca096887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000815222f3b4855626e7b8896a1adb9c5d2e1d8ccc0b6ac9c908376695e5242392e1d140a00000000000000000000000000000000000000000000000000000000000000000000020e1a25303b4653606c7884919eabb8c4cfdbddd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000000006131f2c3945515d6774818e9aa8b2bdc9beb3a99b8e8275685d5245392c2013020000000000000000000000000000000000000000000000000000000008131e28323e48515b636e74808c92989fa7aeb4b9bdc2c5c6c5c3c2c2c3c5c6c4c2bcb7b2aca59d9691877e706b61594f453c3134404b555f6a727f8b949ea9b3bebbb0a69f92867c6f675c51453e32291d1e252a2f35393a414547494b4d4e4f4f4e4e4c4a4846423d3c38332b28221c140b060000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7d2c6b9ada197887b6e62584e45403b3a36303434333232312e29231b1309000000000b1824313e4b5764717e8a97a4b1bdcad4c8bcb1a7a09da0a7b1bbc5cfd1c4b8ab9f95887b6e6155483b31261a080000000000000000000000000000000000000000000000000004101d2935404b5564707d8a98a2aebac6d3c8bcb1a7a09da0a7b1bcc8d4d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858174675b4e4134281b0e00000000000000000000030c172029333b444d565d656c727c838b91969d9fa7aaacb2b3b6b7b9bbc0bcbcbcbbc0bbb9b7b5b4b1acaaa79f9d95908981796e695f677683909ca8a8a8a8a8a8a194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c46505a606c77818f95a0a9b3bdc7d1dcd0c4b7ab9f948a7e7170707070707070707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5564717e8b97a2adbac7d2c7baaea3988d8074695e544a3f34282318120c07030607080a0b080d1113141617141b222d38424e58616d7a86929facb9c5d0d1c4b7aa9e9184776a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000030f1b27333f495365727f8b98a8b2bdc9d5e0d4c8bbafa49a8b7f7265574d4230271d0b02000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b6674808d9aa9b3becad6dfd3c6baaea298897c6f6356493c2f24180c000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000000000000000000020b1924303a44505a636d73808d929fa3aab1babfc6c8c5beb9b8b6b5b5b7b8babfc6c7c4bdb9afa9a19992877d706b60574d42372f39434e58626d75828f97a1acb6c0baaea3989083796d60594f443b2f261b191e24292c2f35393a3c3f414242424241403d3b3a37312f2c271f1c17110a02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3afbbc7d3d5c9beb3a99a8d80746a5f57514b474642424140403f3f3e3a342d251b11060000000b1824313e4b5764717e8a97a4b1bdcad9cdc3b9b1abaaabb1b9c3cdd7d0c3b6a99d908376695f53463a2a1f140900000000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cdc3b9b1acaaacb1b9c3cdd9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea29892929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928e8175685b4e4235281b0f0000000000000000000000050e172129323b444c535b606a6f787e848a9095999da0a8a7a9abacafb5afafafafb5afacaaa9a7a8a09d9a95908a837d746d675f576673808c999b9b9b9b9b9b9b94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343e44505b656d79839197a2abb5c0cbd7d3c7bbb0a69f92867c6f68636363636363636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4753606d7985929facb6c0cccbbfb4aa9f92867b6e665c50443e3529241d18120d0706030002000205070c11171d262d333f4a545f6a73808d99a3aebac7d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121f2b3744505b6575828f9ba8b5c2cfdadfd2c6b9ac9f93877b6e6154483b3021150b000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54636f7c8997a2adb9c6d2dfd6cabfb4aa998c7f7366554b4035291d1004000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000a141d2935414c56616c727f8c929ca4aeb4bcc2c7c0bbb9b3adaba9a8a8aaacaeb4b8bcc2c9c0bbb2aba39992867d70695f53463e32313c46515b616d7a85919aa4afbbbfb4aaa0958d80746b61564c41382d221713191d2024292c2d303234353636353433312e2d2b2622201c160f0b060000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5d2dacfc5b8ac9f92867c6f69605c5554524d4f4e4d4c4c4c4a463f372d23180d0100000b1824313e4b5764717e8a97a4b1bdcad7d5cbc3bcb8b6b8bcc3cbd5d4c8bcb1a7988c7f7265574d42362a180e03000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6cbc3bcb8b6b8bcc3cbd5dfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f000000000000000000000000060f172029323a414950585f656c71787e83888c9196979a9c9e9fa4aba2a3a3a2aba49f9e9c9a9795918d88837e78706b605c5556636f7c898e8e8e8e8e8e8e8e8e887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000030e182227333f49535d676e7b859299a3afbbc1cbd4cdc2baaea29891847a6d665c5656565656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6774808d9aa4afbbc7d1c6baaea3998f82786d605a50473f352f28231c1815120f0a0e090e1214181c23282f383f44505b666f7c87929fabb4bfcbd1c4b8ab9f95887c6f6255493c31261a0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d908377695e52463a2d201403000000000000000000000000000000000000000000000000000000000000000000000000000b17222d394653606c7885929eabb8c5d1dedbd0c2b6a99c8f8376675d5145382c1f130600000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000006111b262f3846525d68717e8a919ca4aebabfc6c4beb6afaca9a19e9d9b9c9d9fa3aaabb1babfc5c4bdb4aba39892867b6e615a50443a30343f46525e68707d88939fa7b1bcbcb1a79d928a7d70685e53493f33271f160d1113181d20212325272829292827262422211e1a1613100b03000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784909daab7c3cfdad3c6baaea29891847b736d6764615e575c5b5a5959585651493f34291e120600000b1824313e4b5764717e8a97a4b1bdcad7ddd5cdc8c4c3c4c8cdd5ddd1c4b8ab9f95877b6e6154483b31261a0800000000000000000000000000000000000000000000000000000004101c2934404b5564707d8a98a2aebac6d3d5cdc8c4c3c4c8cdd5dde7d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababababababababababababababababababababababababababababababababa89b8e8175685b4e4235281b0f00000000000000000000000000060e1720282f383f444e535b60666d71777b8084878a8d8f9193999595969695959993918f8d8a8784807b76716c656059514b53606d7981818181818181818181817a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38414b555f69707d87929fa5afb9c3cdd6cabfb4aaa1968f82786d605a504a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c87939fabb5c0cbcbbfb4ab9f948d80736c615951454039342e2924211f1b1c1b1c1a1e2123292e343b4149505c606c78839099a3afbdc6d1c9bdb2a89d9083766a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adbac6d3dfd8ccc0b6ac9a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3744505b6575828f9ba8b5c2d0dcdfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6f62544a3f3428160c020000000000000000000000000000000000000000000000000000000b17222d38414f59616d7a85929ea3adb6bfcbc3bab2aca49f9b9792908f8f9092989d9fa7aeb4bcc5c6bdb4aaa2988f82766c61564c41352a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d1207070d11131416181a1b1c1c1b1b19171514120e0907040000000000000000000000000000000000000000000000000000000000000000000004101c2934404b556874818e9ba9b3becad6d6cabfb4aaa19691867f7975716e696a686767666565625b51463a2e22150900000b1824313e4b5764717e8a97a4b1bdcad7e6dfd9d4d1d0d1d4d9dfdcd0c3b6a99d908376695e53463a291f1409000000000000000000000000000000000000000000000000000000000c18232f3a4653606d7985929fabb8c5d0dbd9d4d1d0d1d4d9dfe7e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a89b8e8175685b4e4235281b0f0000000000000000000000000000050e161d262d333c414950545c60646a6f73777b7d808384868888898989888887868482817e7a77736e6a64605b534f4545515c666d75757575757575757575756e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3a434d57606b727f8c939ea7b1bbc4cfd0c6bcb2a89f948d80736c61584e443d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a75818e99a3afbbc5cfc6bdb0a69d928a7e716b635b514b444039352f2e2b26292828262b2d2f34383f444d535b606e74808d959fabb5c0cfd2c5b9ada1968b7e7164584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000a1724313d4a5764707d8a97a9b3becad6e0d4c8bbafa49a8a7d7064574a3d30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495365727f8b98aab4bfcbd6e0d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000007131f2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083776a5f5342382e23170b000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74818e97a1adb5bfc8c3b9b1a8a19a938e898583828284868b90959fa2aab4bcc5c6bcb4aa9f948a7e71685d52463a2f303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0501040607090c0e0f0f0f0f0e0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3e4b5864717e8b97a1adb9c7d1dbd0c6bcb2a8a198928c85827e7b78777574737372726d62564a3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4eae4e0dddddde0e4e0d4c7bcb1a7988c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6e2e0dedddee0e4eaf1e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000040b141b22272f383f444a5053585f6266696e71747678797b7b7c7c7c7c7b7b79777674716e6867625f58535049413d404b545c606868686868686868686868615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626d74818e959fa9b3bdc6d1cec4bab0a69d928a7e716a60564c42392e3030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e58626e7b87929fa9b3bec9cfc2b8aea49f92867d726d605d55514a45403c3a373136353531373a3b40454a50565e656c73808c929da7b1bdc7d1c8bdb1a89e9184796d6053473c32261b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000d1a2633404d596673808c99a6b3bfd0dbdfd2c6b9ac9f93867a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3c4955626f7c8898a3aebac7d3e0d7cbbfb4aa978b7e7164584b3e31251806000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3998b7f7265584e4330261c110600000000000000000000000000000000000000000000000000000005121f2b3744505b656f7c88939fa9b3bec7c4bab1a7a0969188817d79767575777a7e838b9298a2aab4bcc6c6bcb0a69e92857a6d61554b413529323d45515c666e7b86929fa5afbabeb3a99f948c7f726a5f554b40352921170b02000000000001020303020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d7cec4bab2aaa29f97928e8a8785838281807f7f7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4f5f0eceae9eaeceaddd1c4b8ab9f95877b6e6154483b31251a0e020000000000000000000000000000000000000000000000000000000004101c2834404b5564707d8a98a2aebac6d3dfeceae9eaecf0f5f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000020a11171d262d33383f44464e5355575e61646769666d6e6f6f70706f6e6e6d66696764615e5655534e46443f382f39424b51535b5b5b5b5b5b5b5b5b5b5b54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47515b606d79839097a1abb4bfcbd7ccc2b8aea49f92867c6f685e544a403428232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c47535f6974818e97a1adb9c1cccac0baaea29892877f746d67605c54514b48474344434142434246484b51545c60686e777f8c929ca4aeb9c2cfccc4b8aca0958b7e71675c5145382a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000613202d3a4653606d7986929facb8c5d2dfdcd1c0b3a6998d8073665a4d402d22170b00000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6154473c3121140a000000000000000000000000000000000000000000000000000000000613202d394653606c7883909aa4afbbc5c7bdb2a8a09590847d75706c666869676d71787f869298a2aab4bfcbc2b9ada1978d8074675d5145392c2834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6773808d99a3afbbc4cdd7d6ccc4bcb4aea9a29f9b979792908f8e8d8c8c83776a5d5144372a1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4f0f0f0f0f0f0f0e4d8ccc0b6ac9d908376695e53463a291f14090000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5d0dbe6f2f0f0f0f0f0f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000060b141b22272e34383c4347484d5254575a545c606162626363626261605c545a5754524d4847433c37332d2730394045464e4e4e4e4e4e4e4e4e4e4e4746413b32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f45515c676e7b859199a3aebac0cad4cac0baaea39891847a6d665c51443f342b201717171717171717171717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37424d57616d7a85929ea5afbac3cecabfb4aaa299938c8179726d66605d5555534e504f4e4f504d5355555c60666d717a828c929ca4aeb6c0cbcec4baafa59d9184786d60554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0dddbcec1b5a89b8e82756853493f33271b0f03000000000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8e8275685d5246392d20130200000000000000000000000000000000000000000000000000000005111d2935414c5663707d8995a0acb6c0ccc0b5aba09690837a706b63605b54555d60656c727c869298a3aebac4c9beb3a99f92857a6d6054473c32262e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929fa8b2bbc5cdd6d6cec6bfbab3adaba8a9a29f9d9b9a9a998e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e3e3e3e3e3e3e3e3e0d4c8bbafa49a8c7f7265574d42362a170d0300000000000000000000000000000000000000000000000000000000000007131f2c3845515c6774818e9ba9b3becad6e2e3e3e3e3e3e3e3e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000020a11171c23282b31373a3c4246484a4d4b5153555556565655555453514b4e4b4746413b3a37312b27221e272e34383a42424242424242424242423b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232934404b555e696f7d87929fa4aeb8c2ccd6cbbfb4aaa1969082786d605a50463d32291e150b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c46525e68717e8a939ea8b2bcc5cfc6bcb4aba49f938e847f79716d6765625f585d5c5b5b5d575f6165676d72787e858f949ca4adb6bfc8d0c6bcb2a89d92897d70665c5043392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546874818e9ba7b4c1cedaddd0c3b7aa9d908477655b5044372b1f120500000000000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000713202d3946525d6875818e9ba7b1bec7c7bbafa49991847a6e68605953504a4b51535b606a707d86929fa8b2bdc9c5baaea2988b7e7165584e43372b27303c45505a606d7a849199a4afbbbfb4aba0968e81746c61574d42382d22170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6974818e96a0a9b3bbc3cad0d6d0cac5bebab8b5b3adabaaa8a7aa988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad6d6d6d6d6d6d6d6d6d6d2c6b9ac9f93877b6e6154483b31251a080000000000000000000000000000000000000000000000000000000000000004101c2834404b5563707d8a97a2adbac6d3d6d6d6d6d6d6d6d6d6d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000060b11171c1f262b2e30363a3b3e414045464848494949494848464540413e3b3936302e2b261f1b17151d23282c2d35353535353535353535352e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118232f39434d57606b717e8b929da6b0bac4ced0c6bcb2a89f948d80746c62584e443b30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202a36414c56616c75828f96a0aab3bcc6cec6bdb5afa59e96918b847e7a76726f6a6b6a696868696a696e7275797e848a92979fa6adb6bfc8d2c7beb4aaa1968e81746b60544a3f31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7b8799a3afbbc7d3e0d7cabeb1a4978b7e7164584b3e3125180800000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3f4c5966727f8c99a5b2bfccd8dfd2c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c3cbbfb4aa9f93877c6f685e564f46443f4145495058606b737f8c96a0acb9c5cabfb4aa9d9083776a5f53473b2e212a333f45525d686f7d87939fa7b1bcbdb2a89d938a7e71695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57606d79849197a1a9b1babfc6cacfd3d0cac6c5c1bebab8b6b5aea298887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c9c9c9c9c9c9ccc0b6ac9c908376695e52463a291f140900000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5cfc9c9c9c9c9c9c9c9c9c9c9bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000060b10151a1f21252a2d2e312e34383a3b3c3c3d3d3c3b3b3a38342e312e2d2a25211f1a150f0b0b12181c1f20282828282828282828282821201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626c74808d949fa8b2bcc6d0cec4bab0a69d928b7e716a60564d42392e231810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a44505a606d79849198a2aab4bcc6cec7c0bbafa9a19e96918b86827f7b7978777674757677787b7e82858b91969ea1a9b0b8bfc8d0c7c0b6aca2989184796d60594f42382e1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdd2dde0d3c7baaea298877b6e6154483b2e211508000000000000000000000000000000000714202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000004101c2934404b5565727f8b98a3aebac7c7baaea3988e81746a60564c443d383335383f444f59606d7984919eaab4becac5b8ab9f95887c6f6255493c2e23212935414c56606b73808c959faab3bebaafa59f92857b6e665b50443d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b45515d676f7c859297a0a7aeb4babec5c6cad0d0d2d0cac6c5c3b8ac9f9285796d6053463a2d20130700000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbbafa49a8b7f7265574d42362a170d03000000000000000000000000000000000000000000000000000000000000000007131f2c3845515c6674818e9ba9b3bebdbdbdbdbdbdbdbdbdbdbdbdbdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000030a0f12151a1e20212423282c2d2e2f2f30302f2f2e2d2c28232421201e1914120f09030000070c1013131b1b1b1b1b1b1b1b1b1b1b1414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d46505a606d78828f96a1aab4bfcad6ccc2b8aea49f92867c6f685e544b40342823190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e45515d676e7b869298a3aab4bcc4ccccc1bbb2ada8a19e99928f8c88868483828182838485888b8e92979ea0a8adb3bbc2cacfc6beb6afa49a92867c6f675d51473d30261c0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce2d6cabeb3a994877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995acb6c0ccd8e2d6cabfb4aa96897c706356493d3023160a000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000006131f2c3845515c677683909daab4bfcbc5b8ac9f92867a6d61584e443b322b28292d333d45515c67717e8b98a2aebac6c8bcb1a7998d807366544a3f34281c24303a444f59606d78839098a2aebac0baada2979082786c60584e433a2f24190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a6f7c8590959fa2aaadb3b8babfc2c4c5c7cbd1cbc3b6a99c908376665c5044382b1f120600000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ac9f93877b6e6154473b30251a0800000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8a97a2adb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a3978a7d7064574a3d3124170a000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000306090e12141517181c1f202222232323222221201f1c18181414110e0806020000000000000406070f0f0f0f0f0f0f0f0f0f0f0807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343f44505c666d7a849198a2aebac0cad3cac0baaea39891847a6e665c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935414c555f69707d869298a2aab2bac2cacdc4bdb9b2acaba39f9c98999291908f8e8e90919297989b9ea2a9acb2b9bec5cdccc4bdb4aca49f93887e706a5f554b41352b1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879aa4afbbc8d4e0dbd0bdb0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5cabeb3aa9b8e8175685e52463c3229201c1b222934404b55606d7985929fabb8c5cdc3b6a99c908376665c5044382c1f1e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18242f3a434e58606a6f7b838c92989fa2a9acaeb4b5b7b9bbc0bebfc0b3a69a8d807367544a3f34281c100300000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3ab9c908376695e52463a291f1409000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978a7d7064574a3d3124170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000002050708070c10131315151616161615151313100c07080705020000000000000000000000000202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545e686f7c86929fa4aeb8c1ccd7cbbfb4aaa1969082786d605b51473d33291f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a434d57606b707d869298a1a8b0babfc5cec9c4bdb9b4aeaca9aba39f9e9d9c9b9b9c9d9ea2a9a8abadb3b9bdc4c9cec9c1bab2aba39a938b7f726c61584e433a2f231a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfd7cabdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000915222e3b4854606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c1106000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3aebac7c6baaea2988a7d7063564c41342b20170f1118232f3945515d6774818e9ba7b4c1cfc5b8ac9f9285796d6053463a2d20162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464e5860696e787f868d92979b9fa2aaa8aaacafb5b1b2b3b3a9978a7d7164574a3e2e23170b0000000b1824313e4b5764717e8a969696969696969696969696969696969696998b7f7265574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c6674818e969696969696969696969696969696969696968a7d7064574a3d3124170a000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000406070809090a0a090808070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a717e8a929ca6b0bac3ced1c6bcb2a99f948e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c454f59616b707d8691969fa6aeb4bcc1c7ccc9c6bfbab9b6b4aeacabaaa9a7a8a9aaabadb3b5b8b9bec5c9cec9c4bdb9afa8a19992887f726d625a50463c31281d1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667885929eabb8c5d1ded7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000004101d2935404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3121150a00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfcbc5b8ab9f9285796d6053463a3020190e0507121d2935404b5564707d8a97a9b3bec9c6baaea298887c6f6255493c2f221617232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d464e575e666d727b80858a8e9298989b9d9fa3aba4a5a6a7a197877b6e6154483b2e2115060000000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5463707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a0005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c73808d949ea8b2bcc5d0cfc4bbb0a69d938b7f726b60574d43392f2318110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d474f59616b707c848f949fa2aab0b7bbc1c6cacbc7c5c2bfbab9b7b6b5b4b5b6b7b8b9bec1c5c6cacec8c4beb9b2aca59e9691877e726d625b51483e342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddaddd0c3b6aa9d9083776a5d50442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546b7884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8f8275685e5246392d20130300000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c2b6a99c8f8376665c5044382b1f120700010c18242f3b4854616e7b8797a1adb9c6cabfb4aa988b7e7265584b3f322518111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343d454d545c60686e73797e8285898c8f9192999697989a9a9b928578695e53463a2d2114070000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70695e52463a291f14090000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e6154473b2e21140800010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f1013131313131313131313131313130a090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323c46505a606c78828f96a0a9b3bdc7d2cdc2b9afa59f92877d6f695e554b40342923190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353d474f59616a6f7a828b92989ea6aab0b8babec5c6cacfcbc7c5c4c3c2c1c1c3c4c5c6cacfcec8c5c3bcb8b2ada8a09e938f847c716c625b51493f362c22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e44515e6a7784919daab7c4d0ddd9ccbfb2a6998c7f7366594c403326190d00000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c41362a1d110500000000000000000000000000000000000000000000000000000000030f1c28333f4a546a7784919daab7c4cdc0b3a69a8d807367544a3f34281c100300000714202d3a46525e697885929eabb8c5d0c1b4a79a8e8174675b4e4134281b0a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938a7e71695f544a3f342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222b333b424a51565e61676d7175797c7f82848688898b8c8d8d8e8f827569574d42362a1e12050000000714202d3a46525e696e7070707070707070707070707070707070707070706b60564d42362a170d0200000000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c666d7070707070707070707070707070707070707070706e685e5246392d201407000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020202020202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e44505b666d79849197a2abb5c0ccd7cbc0bbaea39991857b6e675c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353d474f585f686d787f868f939c9ea6abaeb3b8b9bec1c3c4c6c9cfc8c9c9d1cbc7c5c4c2c0bcb8b7b1aca9a19e96918a817a6f6a615a51493f372d241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000071e2a3744515d6a7784909daab7c3d0ddd9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000005111e2a36424d5764717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5cabdb1a4978a7e7164574b3e2e23170b00000005121e2a36424d576976828f9ca9b5c2cec1b5a89b8e8275685b4f4235281c0f0c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710192129303940444d52555d6064676d6f727577797b7d7e7f808181827e7164584b3e31251a0e0200000005111e2a36424d575e6163636363636363636363636363636363636363636360594f443b302519050000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c60636363636363636363636363636363636363636363615e564c41362a1e11050000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e182228333f4a545d676e7b859299a4afbbc1cbd7cbbfb5aba1979083796d605b51473d33291f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353d464e565e666c727b82898f949a9fa2aaabadb3b4b6b8b9bebbbcbcbcbbbfbbb9b7b5b3b1acaaa7a09d97918c847d756d68605850483f372d251b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6c9bcafa396897c706356493d30231606000000020e1a2530424e5b6875818e9ba8b4c1cec2b6a99c8f8376695c504336291d10060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343b41464b5153555c60636568666d6e70717273747575716c6256493d301f140900000000020e1a25303b454d5254575757575757575757575757575757575757575756544f473d32291f140900000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515357575757575757575757575757575757575757575754524c443b3025190d01000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d3235363939393939393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38424c555f69707d87939fa5afb9c3cdd1c6bdb3a99f958e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545b60696e757c82898e92989b9ea1a9a7a9abadb3aeafafafafb5aeacaaa9a6a7a09d9995908b847f79706b615d564e463e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000814212e3b4754616e7b87939facb9c5c4b8aca095887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7c8bbafa295887c6f6255493c2f22160900000000091b2734414e5a6774818d9aa7b4c0cdc3b7aa9d9084776a5d5144372a1e110007131d28313d44505b666e7b85929ea5afbabeb4aa9f958c80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151c23283036394045474b51535659545c60626364656767686864625a5045392d210d03000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b20170d02000000000000000000000000000000000000000000000000000000000000000000000000000007121c2730394044464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e14080000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57616b727f8c939ea7b1bbc5cfcfc4bbb1a79d938b7f726b60574d43392f24181108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575e616a6f757c81858a8f9297989a9c9ea1a9a1a2a3a3a2aba39f9e9c9a9795918c88837e79726d676159524c443c342d241b12090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000006131f2b37434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c0000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894abb5c0ccc7bbaea194887b6e6155483b2e221508000000000d1a2733404d5a6673808d99a6b3c0ccc4b7ab9e9184786b5e5145382b1e1205010c161f28333f4a545e69707e8a929da8b1bdbcb1a79f93877d70685d52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393a404546494c4a5153555658595a5a5b5c585650483e34291d11000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b38332b23190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d0200000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59636d75818e95a0a9b3bdc6d1cdc2b9afa59f92877d70695e554b40352923190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820282f383f444d525860626a6f74797e8285888b8e909197949595969695959992918f8d8a8784807b77716d67605c554f46413a322b221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000815222e3b4754606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c11060000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd1c7baada094877a6d6154473a2e211407000000000c1926333f4c5966727f8c99a5b2bfccc5b8ab9f9285786c5f5245392c1f120600040d17222d38424d57616c74818e95a0abb4bfbbafa49991847a6d615a50453c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c14191d24292c2e34383a3c3f404446484a4b4c4d4e4e4f4b49453e362d22170c00000000000000050e171f252a2d2e3030303030303030303030303030303030303030302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3030303030303030303030303030303030303030302e2d2a251e170e05000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333e47515b606d79839097a1abb5bfcbd7cbc1bbafa39992857b6e675d51453f352b21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e161d262d333b42464e54586062676d7175797b7f818385868788898989888887868482807d7a77736e6a65605c55514b433e3530282019100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddadcd0c3b6a99d9083766a5d50432e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7884919eabb7c4d1ded9ccbfb3a6998c807366594d4033261a0d000000000000000000000004101c2934404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3221150a000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895abb5c0cbc7baaea194877b6e6154483b2e211508000000000d1a2633404d596673808c99a6b3bfccc4b8ab9e9185786b5e5245382b1f1205000006111c262f3b45505a606d79839199a3aebac0b5aba1968f81756c62574e42392e23180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e12181d1f23282c2d302e34383a3b3d3e3f404142423e3d39342d241b10060000000000000000050d141a1e202124242424242424242424242424242424242424242322201c160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2024242424242424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212c353f45515d676e7b859299a3aebbc0cbd7cbc0b5aba1979083796d605b51473d33291f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c222830363d43474e54555d6064656c6f727476787a7b7b7c7c7c7c7b7b79777673706d6866625f5853514b4540393129241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929eabb8c5d1ded8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000006131f2c3845515c6774818d9aa8b2bdc9beb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3afbbc7c8bbaea295887b6f6255483c2f221509000000010e1a2734414d5a6774808d9aa7b3c0cdc4b7aa9d9184776a5e5144372b1e11040000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f544b40342820170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f202323282c2d2f3031323434353531302d29221b12090000000000000000000002090e1114141717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131717171717171717171717171717171717171717171414110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232935404b555e696f7d87929fa5afb8c2ccd1c7bdb3a9a0958e81756d62594f453b31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a32383d43474b5153535b6062656769676d6e6e6f70706f6e6e6d66696764615e5655534e46454039342f271f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5c9bcafa296897c6f6356493c30231609000000020e1b2835414e5b6874818e9ba7b4c1cec3b6a99c908376695d5043362a1d1003000000020b17212935404b555f6a727f8c949fa9b3bebaafa59f92867c6e665c51453d32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10131316181c1f2022232526272728292524211d17100900000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118242f39434d57606b727f8b929da6b0bac4cecfc5bbb1a79e938c7f726b60574d43392f2418110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a20272b32373940454749505355585b555d606162626363626261605c545a5754524c4847433c38342e29231d150d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1925323f4c5865727f8b98a5b2becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799a3afbbc7d4e0d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36424d5664717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657885929eabb8c5c9bdb0a3968a7d7063574a3d3024170800000004101c2934404b556875828f9ba8b5c2cec2b5a89b8f8275685c4f4235291c0f0200000000050f18242f39434e58606c77828f97a1adb9c0baaea2989083796d60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070c101213151718191a1b1b1c181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626d74818e949fa8b2bcc6d0cdc3b9afa59f92877d70695f554b403529231a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b20272b2f35383a3f4446484c4e4b5153545556565655555453504a4d4a4746413b3a37312c28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895abb5c0cbd7e3d8ccc0b6ac96897c6f6356493c30231609000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c514438291e13080000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536a7784919daab7c4cbbeb2a5988b7f7265584c3f3024190d01000006131f2c3845515c677784909daab7c3cec1b4a79b8e8174685b4e4135281b0e02000000000007121d27313c44505b656e7a85929ea4aeb9bfb4aaa0958d80736b60564c41382d22170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0c0d0e0f0f0b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d47515b606d78829096a1aab4bfcad6cbc1bbafa39992857b6e675d51453f352c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1d24292c2d3337393c3f41404547484849494949484846443f403d3a3936302e2b261f1c18120c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d8ccc0b6ac95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e211508000000000000000000000814212e3b4754616e7b86929facb9c5c5b8aca095887c6f62544a403428170c020000000000000000000000000000000000000000000000000000000000000000000b17222d424f5b6875828e9ba8b5c1cfc1b4a89b8e817568564c4135291d110500000714202d3a4753606d7986929facb9c5cbc0b5ab998c7f7266594c3f3326190c000000000000010b151f27333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e53493f33271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020202020202020202020201e1d1b17110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212b353f44515c666e7a849198a2aebac0cad7cbc0b5aba2979083796d605b51473e332a1f160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181d1f22272b2d2f322f35393a3b3b3c3d3d3c3b3b3a38342e312e2d2a25211f1a15100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7a8799a3afbbc7d3e0ddd2bdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000006131f2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5342392e23180c00000000000000000000000000000000000000000000000000000000000000000000061925323f4c5865727f8b98a9b3becac4b7aa9d918477685d5246392d20140a00000916232f3c4956626f7c8999a3afbbc7c7bbafa399897c6f6356493c3023160900000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131313131313131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000407090a13131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27221d160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f151b1f22232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232834404a545e686f7c86929fa4aeb8c2ccd1c7bdb3a9a0958e81756d63594f453c31281d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013171b1f20222524292c2d2e2f2f30302f2f2e2d2b28232421201d1914120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578665c5145382c1f13060000000000000000000815222e3b4754606a7784919dabb5c0c7bbafa3998b7f7265584e4330271c1207000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8897a2adbac6c6b9ac9f93877a6d6154473d2f261c110709121e2b37424d5765727f8b98abb5c0cbc5b9ac9f92867a6d6053473a2d201407000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020202020202020202020201b1a18140f0801000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000000000000000040e1720272e33363739393939393939393939393939393736332e2720170e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393635322d261e160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424c56606a717e8a929da6b0bac3cecfc5bbb1a79e938c7f726b61574d433a2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f12131519181d20202122232323222221201f1c17171413110d0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57697683909ca9b6c3cfdcdcd0c3b6a99d9083766a544b4034281c1004000000000000000004101c2834404b55626f7c8995a0acbdc7c5b9ac9f92867a6d6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5c8bbafa49a8b7e7265584e42382d221813131a252d3a47535f697683909ca9b6c3d1c3b6aa9d908377675d5145392c1f13060000000000000000000a141d29323e45515c676e7c86929fa5afbbbeb3a99e948b7f726a5f554b40352920170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b13191f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000000000000000b16202932393f4344464646464646464646464646464644433f39322920100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646464646464643413e3830281e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444e58616c73808d949fa8b2bcc5d0cdc3b9afa59f93877d70695f554b41382d22170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050609070d11131415151616161615151312100b06070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8c5d1dedacdc0b4a79a8d8174675a4e412e23180c00000000000000000006131f2c3845515c6774818d9aa7b1bccabeb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba9b3bec9c0b6ac9d9083776a60544a3f3329242020262b37424d57616e7b88949fabb7c4c9bdb2a89a8d817467554b4035291d1004000000000000000000020b17202834404b555f6a727f8b939ea9b2bdbbb0a69f92867c6f675d51453e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242b30333439393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000008111a21282c2f3039393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000006111c27323b434a4f515353535353535353535353535353514f4a443b3222190e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343d4347495353535353535353535353535353534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c46505a606d78828f96a0aab4bec7d2cbc1bbafa49992857b6e675d53493f332721180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070808090a0a0908080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000b17222d404c5966737f8c99a6b2bfcfdbded2c5b9aca196877a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd8ccc0b6ac988b7e7265584b3f322518070000000000000000000713202d3a4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b97a1adb9c7c7b8ab9f95897c6f665b50443d352f2d2d31364046535f6973808d99a6b0bcc7c5b9aca196897d7063564a3d2f24180c0000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50443b2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c3f41464646464646464646464646464646464641403c362f261d13080000000000000000000000000000000000000005101a232c33383c3d464646464646464646464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000a16222e39434d555b5d60606060606060606060606060605e5b554d44342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54566060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b343e44505c666d7a849198a2acb6c0ccd7ccc0b5aba2979183796d655b50443e332a1f160b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000061724313d4a5764707d8a97a9b3becad6e1d5c9bdb2a8978a7d7164574a3e31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad6e0d4c8bbafa49a897c6f6256493c2f231609000000000000000005111e2a36414c5664717d8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eabb5c0c8bcb1a79d9083786c60594f45403a393a3b4246525c616e7b86929facb8c2cbc0b5ab9e9184786c605346392d20130700000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61564d42382d22170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535353535353535353535353534e4c4841382f251a0f030000000000000000000000000000000000000b16212c353e44484a53535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f55463c32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3225190d00000000000000000000000000010406070a090703000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545d686e7c86929aa4afbbc1cbd2c7bdb3a9a0958f81776c605a50463c31281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815212e3b4854616e7b8797a2adb9c6d2dfdacec0b3a79a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cfdadfd2c6b9ac9f93867a6d6053473a2d20140700000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e13080000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc6c3b8ab9f958b7f726b6059514b474646484d535b636e76828f98a3aebac7c7bbafa3998c7f73665b5044382b1f1206000000000000000000000000000b151e2a343f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b36404a52585a60606060606060606060606060606060605b58534a41362b201401000000000000000000000000000000000004101c28333e474f555760606060606060606060606060606060605b59534a41362b20140200000000000000000000000000000000000000000000000000101d2936434f5b6771777979797979797979797979797979777167584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f7979797979797979797979797979797670665a4e4135281c0f000000000000000000000001080d111314161613100b0400000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a707d88939fa5afb9c3cdd0c5bbb1a79e938c7f736c61584e433a2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535e697885929eabb8c5d1deddd0c3b7aa9d908477695e53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919daab7c4d0ddddd0c4b7aa9d918477675d5145392c20130600000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87929faab4bfc8bcb1a79f92867d706b605d5554525354575f616d73808c949eaab4bfcbbfb4ab9f92867b6e61544a3f33281c0f0300000000000000000000000000030c18222935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301e130800000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c301e130800000000000000000000000000000000000000000000000000111e2a3744515d6a7783868686868686868686868686868683776a605447382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8686868686868686868686868686868276695c4f4336291c1000000000000000000000040c13191d20212322201b160c06000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c737f8c939ea7b1bbc5cfcdc3b9afa59f93887e706a5f564c42382d22171006000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021201e1a140d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e2021201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576875828e9ba8b5c1ced9ded1c5b8aca095877b6e6154483b31261a0e010000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded7cbc0b5ab9a8d817467554b4035291d11040000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5442392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946525e6975828e98a2aebac2c2baaea29892867d736d6763615e606164696e767f8c929ca6b0bcc6c7baaea3998f8275695e5242382d22170b000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada1978f82786c60584e433a2f24180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e747979797979797979797979797979797979746f64584c3a2f24190d01000000000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979746f64594c3a3024190d010000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9a939393939393939393939395887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d939393939393939393939393988b7e7164584b3e3125180b000000000000000000050d161e24292c2d302f2c272117110a0300000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323c464f59606c77818e95a0a9b3bdc7d1cbc1bbafa49a92867c6e685d544a3f332822180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e2d2a251f18120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181f252a2d2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000020e1a25313f4b5865727e8b98a8b2bdc9d5e0d4c8bcb1a7988c7f7265574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a8b1bdc8d4e0d4c7bbafa3998a7d7064574a3d2f24180d01000000000000000815222e3b4754606a7784909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57616e7b86929fa7b1bdc6bfb4aaa29892878079746f6d686d6e71757b828c919ca4aeb8c2c9bdb2a89f92867b6e62564d422f261c11060000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774808686868686868686868686868686868686817467564c4135291d1104000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686817467564c4135291d11040000000000000000000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9f9f9f9f9f9fa79a8d8074665c5044382c1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919e9f9f9f9f9f9f9f9f9f9f9f9286796d6053473a2d2014070000000000000000050e171f282f35393a3d3b383228231c150c03000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202a343e44505b656d79839097a1abb5c0cbd7ccc0b6aca29891847a6d665b50443e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3a363029241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d242930363a3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000915222e3b4855616e7b8896a0acb9c5d2ded9cec3b6a99d908376695f5346392f24180c00000000000000000000000000000000000000000000000000000000000000000000000a14202d3a46525e697683909da9b6c3ced9dfd2c5b9ac9f92867a6d6054473a2d2114070000000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b46535f69727f8c959fabb4bdc6bcb4aaa299928d85807c7a79797b7d82868f949ca3adb6bfc8c0b9aca0968c80736a5f53443b301d140a0000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e33291e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d67778390939393939393939393939393939393908477685d5245392c20130600000000000000000000000000000003101c28343f4a546673808d939393939393939393939393939393918477685d5245392c2013070000000000000000000000000000000000000000000000000714202d3a46525e6976838f9caab4acacacacacacacab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adacacacacacacacb3a99b8e8175675d5145392c20130600000000000000060f172029313a4145474948443d342e261e150d030000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303030303030303030303030303030300040d182227333f49535d676e7b859299a3afbbc0cbd2c7beb4aaa0968f82786c605a50463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464746423b352f281f18100701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353b42464746423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000714212d3a46535f697784919eaab7c4cedaddd1c4b8ab9f95887b6e61554b4035291c110600000000000000000000000000000000000000000000000000000000000000000006111b2834404a54616e7b87939facb9c6d2dfdcd0c3b6a99d908376685d5245392c2013070000000000000006131f2c3845515c6674808d9aa7b1bccabeb3a99c8f8275685e5246392d201403000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606c78839099a3abb5bec6bcb4aba39f97928d89878686878a8e92989fa6adb5bfc8c0b6ada39e9184796d60574e4232291f0b02000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000006121f2b3844505c6676838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a3aebab9b9b9b9b9b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba9b3beb9b9b9b9b9b9ada1978a7d7063554b4035291d1104000000000000070f182129323a434c515456544f443f3830271f150d0300000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b10101010101010101010101010101010101010100f17222d38414b555f69707d87929fa5afb9c2cdd0c5bcb2a89e948c80736c61584e443a30261c1106000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254524d454039312a2218130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313940454d5254524d453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000005121e2a36424d576774818d9aa8b2bdc9d5e0d4c8bcb1a7998d8073675d5145382e23170c0100000000000000000000000000000000000000000000000000000000000000000b17222d3844515c6673808c9aa4afbbc8d4e0d4c8bcb1a7998c807366564c4135291d1104000000000000000713202d3a4653606d7985929eabb8c3c6b9ada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b44505b666e7c869299a4acb6bfc6bdb5afa9a19e9a969992939a979b9fa3aab0b8bfc9c0b6aea49c91897d70675c51453c3120170d000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afacacacacacacacacacacacafa499897d7063564a3d2d22170b0000000000000000000000000000000713202d3a4653606d7985929facacacacacacacacacacacacafa49a897d7063564a3d2d22170b000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb9c5cfc6c6c9beb3a99b8e8175685d5245392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c4cfc6c6c6c5b8ab9e9285796d6053463a2f24180d010000000000071018212a333b444c555d60636059504a423931271f150b01000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b262f39434d57606b727f8b939da7b1bbc4cfcec3bab0a69c928a7e716a5f564c42382e23171007000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e615e57514b433c3429241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429343c434b51575e615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000020e1a26313c4956636f7c8996a1acb9c5d2ded8cdc2b8ab9e9285796d60544a3f34281d120700000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7985919eacb6c0ccd8ddd1c4b8ab9f95887b6e6255483b2f24190d0100000000000005111e2a36414c5664717d8a97a2adb9c6c5b8ab9e9285796d6053463b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a717e87939aa4aeb5bdc3c0bbb3adaba7aba39f9fa4aca8acaeb4bcc2c4bdb9aea49c928c7f736b60554b40332a200e050000000000000000000000000000000000000000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495366737f8c99abb5c0b9b9b9b9b9b9b9b9b9c0b5ab998c7f736653493f33271b0f0300000000000000000000000000000916222f3c4955626f7c8898a2aebab9b9b9b9b9b9b9b9b9c0b6ac998c807366544a3f33281c0f030000000000000000000000000000000000000000000000000914202c3945525d6875828e9ba9b3becad6dacfc5b8ac9f92867a6d6054473b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d6d2d5c9bdb2a89a8d8074665c5044382c1d13070000000000071019222a333c454d565e676d706b605c544b433931271d1207000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28313b454f59626d74818e959fa9b2bcc6d1ccc1b8aea49f92867c6f685d544a3f342822180e05000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e69605d554e463f352f281f1810070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353f464e555d60696e695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000913202d394653606c7884919eabb7c2cdd8dfd2c6b9ada2978b7e71665c5044392f24180c030000000000000000000000000000000000000000000000000000000000020b17212b3744505b65717e8a97a1adbec7d2ddd7cbc0b5ab9d9083776a5f53473a2e1e1308000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b17222d38424e58616c717e88939fa3abb1bbbfc5beb9b8b3b4aeacacafb6b5b8babfc6c0bab2ada49d928d80736d63594f43392f21180e00000000000000000000000000000000000000000000030c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ca8b5c2d1c6c6c6c6c6c6c6d2c2b5a89c8f8275655b5044372b1f120500000000000000000000000000000c1825323f4b5865727e8b98aab4bfcac6c6c6c6c6c6c6d2c2b5a99c8f8276665b5044382b1f120600000000000000000000000000000000000000000000000004111d2935414c5664707d8a97a2adbac6d3dfd3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9caab4bfcad6ded2c5b9aca096897c6f62544a3f34281c0c0100000000040f19222b343c454d575e686d7a7c736d665c554b43392f24180f050000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313636363636363636363636363636363636363636363636363636333d47515b606d79839096a1aab4bfcbd7cabfbaaea29891847a6d665c50443e342a20160c030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b756d675f585045403a312a2218130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313a404550585f676d757b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000005121f2b3744505b6573808d99a7b1bcc8d4e0d6cabeb3a99d9184786d60554b4035291e150b00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606c7883909da9b3bed0d9e0d4c7bbafa3998b7f7265574e42372b1e0c01000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c46505a626c727f8b9299a0a7aeb5bbc0c7c5c0bfbab9b9bbc0c1c5c4c2bbb7afa8a19e928d80746e635b51473d31271d0f060000000000000000000000000000000000000000000000060f19242f3a434f59606d78829097a2adb0b0b0ada2979083786d60594f443a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2d2d2d2d2d2d2d2d1c5b8ab9e9285796c605346392d2013060000000000000000000000000005111d2a36414c566874818e9ba7b4c1d0dbd2d2d2d2d2d2d2c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929fabb8c4cedad6cbbfb4aa9c908376695e53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c00000000000a16212b343d464e575f696e7a838680786d675d554b40352921170d0300000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e434343434343434343434343434343434343434343434343434343434345515c676e7a849198a3aebac0cad6cabfb4aaa0968f82786d605a50463c32281e150a0000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d81796f6a625a514b433c3429241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429343c434b515a626a6f79817d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953626f7b88959fabb8c3ced9dbcfc5b8aca0968b7e72675d51453c30271d120700000000000000000000000000000000000000000000000000000006111b262f3844505c66717e8a95a0abbbc4cfe2dfd2c5b9ac9f92867a6e6154473c31261a0e0000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605442392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343e48505a626d727f8790959fa3abafb5b8bcbfc0c1c2c2c1c0bebcb8b6b0aba59d96918a80776c605c524940352b1f150b0000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5a3a3a3a3a99f948c80736b60564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a2adbac6d3dfe4e0dfe0e4dfd2c6b9ada297887b6e6255483b2f221507000000000000000000000000000713202d3946525e687784919eaab7c4d1dddfdfdfdfdfdfd3c6baaea298887b6f6255483c2f2215080000000000000000000000000000000000000000000000000008131f2c3845515c6674818e9aa8b2bdc9d5dcd0c6b9ac9f93877b6e6154483d32271b0f00000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3e2d4c8bcb1a7998c807366584e4330261c110600000000030f1b27323d464e585f696e7b8490938d82796d675d51453f33291f140900000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a5050505050505050505050505050505050505050505050505050505050504b555e686f7c86929fa4aeb8c2ccd0c6bcb2a89f948d80736c61584e443a30261c110600000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86837c716c605d554e463f352f281f181008010000000000000000000000000000000000000000000000000000000000000000000000000000000000010810181f282f353f464e555d606c717c83867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3847535f6a7683909da8b2bdc8d4e1d4c8bdb2a89e9185796d60584e42392e2318110700000000000000000000000000000000000000000000000000060f17222d38414d57606d7884919ea7b1bccdd6e1d4c7bcb1a79c8f8275685e5246392a201509000000000000000815222e3b47545f6a7783909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222c363f48515b626d727c838c92999fa3ababb1b2b4b4b5b5b4b4b2b1acaaa69f9c938e847d746c655b504a40372e231a0d0300000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a93969696969696969692877d6f685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a9b3becad6ddd8d4d2d4d8ddd6cabeb3a9978b7e7164584b3e2f24180d010000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dee0dedddedfe1d6cabeb4aa988b7e7265584b3f3025190d0100000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded4c8bbafa49a8c7f7366584e43372b1c120700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909cabb5bfcbd7ddd1c4b8ab9f95887b6e6255483d3222150a000000000007131f2c38434e58606a6f7b8491969f948f82796d605b51453b31251a0e04000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c28333e485055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606a717e8b929da6b0bbc7d3cec4bab0a69c928a7e716a5f564c42382e23170c06000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f867e756d675f585145413a312a2219130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222a313a414551585f676d757e868f8275675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006111b2b37434e5864717d8a96a0acb9c4cfdad9cec3b9ada1978c80736a60544b403428231910070000000000000000000000000000000000000000000000060f182127333f49535f69727f8b96a0acb9c3cddfdcd1c4b8ab9f95897c6f63564c41362a1e110500000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242d363f49515b626a6f787f878e92999d9fa7a5a7a8a8a8a8a7a5a7a09d99948f89817a706b605b53493f382e251c1108000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818a8a8a8a8a8a8a8a8a8a8a847a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566874818e9ba7b4c1cfd9d2ccc8c6c8ccd2d9cfc0b4a79a8d817467554b4035291d11040000000000000000000000000a1724303d4a5763707d8a96a8b2bdc8d4d9d4d1d0d1d2d5dad0c1b4a79b8e817468564c41362a1d1105000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d8ccc0b6ac9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53473a2e21140300000000000915222e3b4854606a6f7c859196a0a69f948e81756d62574d42362a20150a000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a616469696969696969696969696969696969696969696969696969696969696969696969696c74808d949fabb7c3d0d6ccc2b8aea49f92867c6f685e544a3f342822170c0000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727f8b928b81796f6a625b514b433c3429241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000070d161e2429343c434b515b626a6f79818b928b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000f1a26313c4653606c7884919ea9b3bec9d5dfd5c9beb3a99f92877c6f665c51453f352b22191107000000000000000000000000000000000000000000060f18212a333c44505b656e7b86929fa8b2bdcbd5e1d4c8bdb2a89d9083766b6054443b3025190e0200000000000006131f2c3845515c6674808d9aa7b1bcbebeb3a99c8f8275685e5246392d2014030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4951585f666d737c81878c909596999a9b9c9b9b9a989695908c88827d746d686159504941382d261c130a000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d797d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d0d0c7c0bbb9bbc0c7d0d0c3b6aa9d908377675d5145392c201306000000000000000000000003101c28343f4a546673808d99a6b3c0ced5cdc8c4c3c5c6c9cfd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4ddd2c7b8aca096897c6f62544a4034281c100400000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866727f8c9aa4afbbc8d4e0d4c7bbafa3998b7f7265574d42372b1e120600000000000916232f3c4956626f7c859297a1a8b0a69e938b7e72695e53463c32271b0f010000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c717676767676767676767676767676767676767676767676767676767676767676767676767678838f9ca9b6c2cfdcd4cac0baaea29891847a6d665c50443e34281d1105000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b8795938e847c726d605d554e463f352f281f19100801000000000000000000000000000000000000000000000000000000000000000000010810191f282f353f464e555d606d727c848e9395877b6e6154483b2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000a151f2b3844505b66727e8b97a1adb9c3cdd9dacfc4bbafa3999083796d605a50473d342b2318120b030000000000000000000000000000000000020a1117212a333c454f59606c77828f98a2aebac3ceddd9cfc7b8aca0968a7d7064594f4332291e1408000000000000000713202d3a4653606d7985929eabb1b1b1b1ada2978a7d7164564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f464e545c606a6f757b7f83878a8c8d8e8f8f8e8d8b898783807b76706b605d564f443f382f261b140a010000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676d7070707070707070707070706e695e53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8c5d2c7beb6afacafb6bec6cec5b9ac9f92867a6d6053473a2d201407000000000000000000000006121f2b3844505c6676838f9ca9b6c2cfcbc3bcb8b7b8b9bec5cdc5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000030f1b27333f4953626f7b8895a0acb8c7d2ddd4c8bdb2a89a8d8074665c5144382c1f13080000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784919dacb6c0ccd8dfd2c5b9ac9f92867a6e6154473c31261a0e0200000000000714212e3a4754616d7a828b9298a3abafa59f92867b6e61584e43372b1e13080000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e838383838383838383838383838383838383838383838383838383838383838383838383838383909daab7c3d0dddcd6cabfb4aaa1968f82786d605a5045392d211508000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909d9691867e756d675f585145413a312a2219130c0400000000000000000000000000000000000000000000000000000000000000040c1319222b313a414551585f676d757e8691969d908377695e53463a2d1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000030f1c28333f4a54606d7985919ea7b1bcc8d4dfd7cbc0b5aba0958d80746c62594f473d3528231c150c08020000000000000000000000000001080b141b2227333c454d57616b727f8c949faab4bfccd5dcd1c7bdb0a69d9184786c6053463d3220170d0200000000000005111e2a36414c5664707d8a97a1a5a5a5a5a5a59f9285796d6053463b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d343c424a51585f62696e73777a7d7f8181828281817f7d7a77736e6a636059524c433e332d261d140a0200000000000000000000000000000000000000000000000000000000000000020c17212935404b555d60636363636363636363636363615e574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdc8ccc0b6aca49fa4acb4bcc6c7bbafa399897c706356493d3023160900000000000000000000000713202d3a4653606d7985929facb8c5cdc3b9b1acaaabadb3bbc5c8bdb2a8968a7d7063574a3d2e23170c00000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7d9cec3b8ab9e9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acbec7d2ddd6cabfb4aa9c8f8276685e5246392a1f15090000000000000713202d3946525e686d757f869299a3afaea3988e81756a6054473a2f24190d0100000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b909090909090909090909090909090909090909090909090909090909090909090909090909095a0acb8c5d1dee7dbd0c6bcb2a89f948d80746c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a098928b81796f6a625b514c433c3429241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429343c434c515b626a6f79818b9298a0998d807366574d42362a1e0c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000b17222d3845515c67717e8b95a0acb8c1cdd6dcd1c7bdb1a79d928b7e716b60594f473e342e271e19140f0a0602000000000000000205090e13191d262d333d454e575f69707d87929fa6b0bcc6d0ded7cbc0b5ab9f948a7d70665b5044382b1f1205000000000000000713202d3946525e6875828f9898989898989898988d8174675c514538291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b222a303940444e53575e6166686e707274757575757472706e6866625f58544f45413a3127221b140b02000000000000000000000000000000000000000000000000000000000000000000050f18242f39434b515357575757575757575757575754534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546673808d99a6b3c0cec8bbafa49a939aa2aab4bfcac0b5ab998c7f7266594c3f31261a0e02000000000000000000000916222f3c4955626f7c8898a2aebac6c8bcb1a7a09d9ea1a9b3bec9c0b3a6998d807366544a3f34281c10030000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4dfd2c6b9ada1978a7d7064564c4135291d11040000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d9aa7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000005111d2a36414c565e616d727d87929fa5afaa9e93887c6f62564c4135291d110400000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9da0a7b1bcc8d4e0ede2d8cec4bab0a69d928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000020e1a25313c4956636f7c8997a1a39f938e847c726d605d554e463f352f281f1910080100000000000000000000000000000000000000000000000000020810191f282f353f464e555d606d727c848e939fa3a197897c6f6256493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000006111c2934404b55606c7883909da5afbbc5d0d9d9cfc3b9aea49f92877d6f6b605950444039302a251e1a15120f090b0a0a0a0b090e12141a1e24292f383f444f575f696e7b859299a3afb8c2ced7d9cfc7bbafa3998f82766c61544a3f33281c0f03000000000000000714212e3a4754616d7a868b8b8b8b8b8b8b8b8b8b897c6f62554b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010910181e272e343c43474d5354565e6163666768696868676563615e5655534e48443d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045474a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667683909ca9b6c3cfc6b9ac9f93869298a2aebac7c2b5a89b8f827568574d42362a1e1205000000000000000000000c1825323f4b5865727e8b98aab4bfcac4b8aca095909297a1adb9c6c2b6a99c8f8376665c5044382c1f120600000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dcd6cabeb3a99b8e8275685d5245392c201409000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c3cededfd2c5b8ac9f92857a6d6053473b3025190700000000000000010d1925303a444c525b626b727f8c939eaaafa59b8e8174685d5245392c20130600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9aaacb1b9c3ced9e4f0eae0d6ccc2b8aea49a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000913202d394653606c7985929eaba59e9691867f756d675f585145413a312b2219130c040000000000000000000000000000000000000000000000040c1319222b313a4145515860676d757f8691969ea5ab9e9285796c605346392d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000c18232f3944505b666f7c89939ea9b3bec7d2ddd5cbc0bbaea39992867d6f6b615a514a423d36302b26211f1a181817161718181a1e21252a2f353c41495059606a6e7b849197a2abb5c0cad4dcd1c7bdb2a89f92877c6e62594f42382d22170b00000000000000000815222e3b4855616e7b7e7e7e7e7e7e7e7e7e7e7e7e716a605443392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232831373b4246484c525457595a5b5c5c5b5a585654524c4847433c383329241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5cfc2b5a89c8f8286929facb8c5c5b8ab9e928578695f53463a2d21140700000000000000000005111d2a36414c566875818e9ba8b4c1d0c3b7aa9d908385929eabb8c5c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000a15202d3a46525e6976828f9caab4bfcbd6dacfc5b9ac9f92867a6d6054473c31261a0e02000000000000000000000000000000000000000000000000000000000004101c2834404b5563707c8996a1adb9c5d2dfd5c9beb3a99b8e8175675d514539291e1408000000000000000008131e29323a41465159626d75828f98a2aeac9f92867a6d6054473a2d22170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8bcc3cbd5dfe7e7e7e8ded4cac0b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6674818e9babafa8a098928b817a6f6a625b524c433d3429241e160d07000000000000000000000000000000000000000000070e161e2429343d434c525b626a6f7a818b9298a0a8afab9b8e8174665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d28333f4a54606b75818e97a1acb6c0ccd8ddd7cbbfb5aba29892867d716c605c544e46413b37312e2b2625242423242425262b2d31363a41454e535b606b707c859196a1a9b3bdc7d1dcd7cbc0b5aba0968d80746a5f53473e2f261c110600000000000000000714212d3a46535f696e7272727272727272727272716c62584e4330271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31363a3b4146474a4c4e4e4f4f4e4e4c4a4746413b3a37312c272119130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8998a3aebac7cec2b5a89b8f8284919eaab7c4c6b9ada197887b6e6155483b2e2215070000000000000000000713202d3946525e687784919eaab7c4cec1b4a89b8e8183909daab6c3c6baaea298887c6f6255493c2f221608000000000000000000000000000000000000000000000000000005111e2a36424d5764717e8b98a3aebac7d3e0d3c7baaea3998b7e7265574d42372b1e1205000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9aa8b2bdc9d5dfd2c6b9ada197897d7063554b4035291d10040000000000000000020c17202930363f47515b616d7a86929facaea2988b7e716453493f33271b0f03000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c8ced5dbdbdbdbdbdbdbdacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717d8a99a3aeb2aaa39f938e847c726d605d564e463f352f282019100802000000000000000000000000000000000002081019202830353f464e565d606d727c848e939fa3aab2aea3998a7d7164544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000010b17222d38424f59616e7a85929aa4afbbc3ccd6dcd1c6bdb4aaa29892867e746d666058524c47433c3a37313231303030313231373a3b42464c52575f656c727d859197a1a8b2bbc5cfd9d5ccc3bbafa3999184796d60584e43352c1d140a00000000000000000005121e2a36424d575f61656565656565656565656565625a50463d321e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f252a2d3036393b3d3f4142424242413f3d3b3936302e2b26201c160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d202024242424242424242424242421211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98aab4bfcbcec1b4a89b8e8183909ca9b6c3c9beb3a9978a7e7164574b3e2f24180c0000000000000000000714212e3a4754616d7a8796a0acb9c5cdc0b4a79a8d80838f9ca9b6c2cabfb4aa988b7f7265584c3f3025190e0200000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb8c5cfdbd7cbbfb4ab9c908376695f53463a2d21160a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cfdaded1c5b8ab9e9285796d6053463a2f24180d01000000000000000008110e171e252a353f46525d6874818e9ba8b1aa9b8e8175655b5044372b1f1205000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcecececececececececececececececececececececececececececececececececececececececececececececdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb9b4aea59e9691877f756d6860585145413a322b2219130c04000000000000000000000000000000040c1319222b323a4145515860686d757f8791969ea5aeb4b9ac9f92867a6d6054473a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000006111c262f3d46525e68707d88939fa7b1bac4ced7d8cfc5bcb4aaa298928a80786f6a615e56534e484743403f3e3d3d3d3e3f404246484d53565d606a6e777f879297a1a9b2bac4cdd7d6cdc3bab0a69f92877c6f675d51463c31231a0b02000000000000000000020e1a26313b454d53555858585858585858585858585650483f342b200c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21252a2d2e303334353635353432302e2d2a25211f1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2d0cdc0b4a79a8d81828e9ba8b5c1cfc0b3a79a8d807467554b4035291d100400000000000000000a1724313d4a5764707d8a97a8b2bdc9ccbfb3a6998c80828f9ba8b5c2d0c1b4a89b8e817568564d41362a1e110500000000000000000000000000000000000000000000000000000914202c3945515d6775828e9ba9b3becad6dcd1c6b7ab9f94887b6e6155483d32271b0f0707070707070707070707070707070707070707070707070707070707111d2935414c5664707d8a97a2adbac6d6e0d4c8bdb2a89a8d8074665c5044382c1d1207000000000000000007111a232a3135383935414c56636f7c8995a0acab9e9285796c605346392d201306000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000613202c3945525d6876828f9ca9b6bfbaafa8a099928b817a6f6a625b524c443d3429241e160e0600000000000000000000000000060e161e2429343d444c525b626a6f7a818b9299a0a8afbabfb6a99c8f8276675d5145392c1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000a141d2a36414c56616b74808d95a0a8b2bcc5cfd8d7cec5bcb4aaa29f928d837c746e68625f5855534e4d4b4b4a494a4b4b4d4d5355575e61686d737b828c9299a1a9b2bbc4ccd6d7cec4bbb2a89f948c7f726a60554b41342a201108000000000000000000000009141f29333b4246484b4b4b4b4b4b4b4b4b4b4b4b49453f362d22190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212426272829292827252321201e1914120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885919eabb8c4d1ccc0b3a6998d80808d9aa7b3c0cdc3b6aa9d908377675d5145382c1f13060000000000000003101c28343f4a546673808d99a6b3c0cecbbfb2a5988c7f818e9ba7b4c1cec4b7ab9e918478685e5246392d201407000000000000000000000000000000000000000000000000000004111d2935414c5564707d8a97a2adb9c6d2dfd3c7bcb0a6998c807366594f43382c1d13131313131313131313131313131313131313131313131313131313131313202c3945525d6875828f9ba9b3becad6ded2c5b8aca096897c6f62544a3f34281c0c0100000000000000030e19232c353c41454646464854606b7784919daaada197877b6e6154483b2e211508000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000004111d2935414c5665727f8c98a8b2bdc1bab2aba39f938e847c726d605d564e463f3530282017110a02000000000000000000020a1117202830353f464e565d606d727c848f939fa3abb2bac1bdb2a8988b7f7265554c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000020b1925303b444f59606d78839096a1a9b3bcc6cfd7d7cec5bcb4aea49d959087817a746e6a66625f585a585757565757585a575f6165696e747a80868f949fa3abb3bbc4cdd6d6cec5bcb3a9a0968f82786c60584e433a2f22180e000000000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3e3d39342d241b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080e11141417191b1b1c1c1b1b19171414110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9c6d2cbbfb2a5988c7f7f8c99a5b2bfccc5b9ac9f92867a6d6053473a2d2014070000000000000006121f2c3844505c6676838f9ca9b6c2cfcabeb1a4978b7e808d9aa6b3c0cdc5b9aca196877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929eabb8c4cedad8cdc2b7aa9e9184776b605448392e2320202020202020202020202020202020202020202020202020202020202020212d3a4754606d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c000000000000000008141f2a353e464d51525353534f596774818e9aa7b3a996897d7063564a3d3023170a000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000010d19242f3b4855616e7b8896a0acb8c1bab6b4aea59e9691877f756d6860585145413a3227221b140b0400000000000000040b141b2227323a4145515860686d757f8791969ea5aeb4b6bbc1b8aca096887b6e6155483b2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000008141e29323e45515c666e7b849197a2aab4bcc5ced6d7cec6bfbaaea7a09a938e86817b76726e6a6967656463636364656769696e72767b80858d92999fa6afb5bdc5cdd6d6cdc5bcb4aaa19791847a6d665b50463d31281d0f0600000000000000000000000000060f181f262a2d2e323232323232323232323232302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0c0e0f0f0f0f0e0c0a08070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3bec9d5cabdb1a4978a7e7e8b97a4b1becac7bbafa399897c6f6356493c30231609000000000000000713202d3a4653606d7985929facb8c5d2c9bcb0a396897d7f8c98a5b2bfcbc9bdb2a8978a7d7064574a3d2e23180c00000000000000000000000000000000000000000000000000000008131f2c3845515c6674818d9aa8b2bdc9d5ded2c5b9aca096897c6f63554b40342d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d36424d5765717e8b98a3aebac7d7e1d4c7bcb1a7998c7f7366584e4330261c110600000000000000000d1925313c4650585d5f606060606066737f8c99a6b2a5988b7f7265584c3f3225190c000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f697784919daab7b7afaaa8acafa8a099928b817a6f6a625b524c443d332d261d160e060000000000060e161d262d333d444c525b626a6f7a818b9299a0a8aeaca8aab0b8b7aa9d918477695f53473a2d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101010101010101010105121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020d17202834404b545e696f7c859298a3aab3bcc4cdd8d8d0cac0b9b1aca49f98928e87837f7b787673727170707071727376787b7f83878d92989fa3abb0bbc0c7cfd6d7ccc4bbb3aaa29891857b6e685e544a3f342b1f160c000000000000000000000000000000060d141a1e212225252525252525252525252524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c556774818d9aa7b4c0cfdac9bcb0a396897d7d8996a3b0bcd0cbc0b5ab988c7f7265594c3f31251a0e020000000000000916222f3c4955626f7c8898a2aebac6d3ccc0b6ac95887c7e8b97a4b1becacec0b3a69a8d807367544b4034281c1004000000000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded5c9bdb2a89a8d8174675c51453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a46525e6976838f9caab4bfcbd7ddd1c4b8ab9f95887b6e6155483d3222150a000000000000000000101d2935414d58626a6c6c6c6c6c6c6c717e8b97a4b1a6998c807366594d4033261a0d000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576773808d9aa9b3afa59e9b9fa3ababa39f938f847c726d605d564e443f382f282017110a0200020a111720282f383f444e565d606d727c848f939fa3abaaa29f9b9ea6b0b3a99a8d807367574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0e0e0e0e0e0e0e0e0e0e0e0e0e121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000050e18232e39424d575f6a707d869298a2aab3bbc3ccd2d9d6cbc3beb6afaaa39f9a93908c888582807e7e7d7c7d7e7e808285888c9093999fa2aaaeb4bdc2cbd1d9d1cbc2bab2a9a19892867c6f695f564c42382d22190d040000000000000000000000000000000003090e1214151818181818181818181818181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0b0b0b0c0c0b0b0a0907070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3d0d6cabfb4aa95887c7c8895aab4bfcad1c2b5a89b8f827568574d42362a1e12050000000000000c1825323f4b5865727e8b98aab4bfcad4c8bbafa49a877b7d8a96a3b0bdd2cfc3b6a99c908376665c5145382c1f13060000000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d9cec4b8ab9f9285796d60534646464646464646464646464646464646464646464646464646464646464646464646464754616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53463a2d211403000000000000000000121f2b3845515d6a7479797979797979797d8996a3afa79a8d8074675a4d4134271a0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817f7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000020e1a26313d495663707c8997a2adaa9e938e9299a1a8aea59e9691877f756d6860585049413a3227221b140b050b141b2227323a4149505860686d757f8791969ea5aea7a098928f939eaaada297897c706356493d31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000007121d27303b454e58606b707e869298a1a9b1bbc0c7d0d7d5d0c7c0bbb4aeaca49f9d9997928f8d8b8a8a898a8a8b8d8f9197989c9fa4abaeb4babfc6cfd7d7cfc7c0bbb0a8a09792867d706a5f574d443a2f261c100700000000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0b0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d11131416171718181918181717161413110d080a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2d3c7baaea298877a7a8798a2aebac6d1c4b8ab9e918578695e53463a2d211407000000000005111e2a36414c566875818e9ba8b4c1d0d2c6b9ac9f9386797c8995acb6c0ccd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4dfd3c6baada2978a7d716456535353535353535353535353535353535353535353535353535353535353535353535353535865727f8c99a4afbbc7d4e0d3c7bbafa3998b7f7265574d42372b1e1205000000000000000000131f2c3946525f6c798586868686868686898f99a5b4a79b8e8174685b4e4135281b0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575716d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929faba89b8e818791969ea6aea8a199928c827a6f6a605b534c443d332d261d160e161d262d333d444c535b606a6f7a828c9299a1a8aea59d959086828f9ba8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242727272727272727272727272727272b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000b151e29333c464f59616c707d869197a0a7afb6bec4cbd1d9d2ccc6bfbab6afaca9a9a19e9c9a989796969697989a9c9ea1a9a9acafb5babec5cbd1d8d1cbc4bdb5afa69f9691857c706b60584e453b32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d1113141719191d2021222424252525252524242221201d1919171413110d080503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8999a4afbbc7d4d2c5b8ac9f9285797985929facb8c5d2c6b9ada197877b6e6154483b2e21150700000000000713202d3946525e687784919eaab7c4d1d1c4b8ab9e9185787b879aa4afbbc8d3c7baaea398897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000030f1b27333f4953626e7b8895a0abb8c7d2ddd6cabeb3a99b8f8275686060606060606060606060606060606060606060606060606060606060606060606060606060606a7783909dabb5c0ccd7dfd2c5b9ac9f92867a6d6154473c31261a0e02000000000000000000131f2c3946525f6c7985929393939393939699a1abb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59616368686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686865625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675818e9baba6998c7f7c848f949fa3ababa39f938f847c726c655d564f443f382f28201720282f383f444f565e656c727c848f939fa3abaaa29f938e837b818e9ba7ab9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3031343434343434343434343434343434343845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000030c17212a343d47505a616b707c8590959fa4acb3bbc0c7cfd4d8d1cbc7c0bbb9b6b3adaba9a6a5a4a3a3a3a4a5a6a9abadb3b6b9bbc0c7cad0d7d4cfc6bfbab2aba39f9490847b6f6a60594f463c332920160b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808080808080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213191e20212426252a2d2e2f3031313232323131302f2e2d2a25262321201d1913120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99abb5c0ccd7d0c4b7aa9d9184777784919daab7c4d0c9beb2a9978a7d7164574a3e2e23180c00000000000714212e3a4754616d7a8796a0acb9c5d2d0c3b6a99d9083767986939facb9c6d2cbbfb4aa988c7f7265594c3f30251a0e020000000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7dbcfc5b9ac9f92867a6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6e7b8895a0acbdc7d2ddd6cabfb4aa9c8f8275685e5246392a1f140900000000000000000000131f2c3946525f6c7985929f9f9f9f9f9fa3a5abb3b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8a99a4a99d9083767a828b9299a0a8aea69e9691877f776d6860595049413a32272227323a4149505960686d777f8791969ea6aea7a098928a81797985929eaba3998a7e7164544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d414141414141414141414141414141414145515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050f18222b353e485059606a6f7b838d939aa1a9afb5bdc1c8ccd2d6d2ccc8c6c3beb9b8b6b3b1b1b0afb0b1b1b3b5b8b9bec3c6c7ccd2d5d1cbc7c1bcb4aea8a199928c827a6e6960584f473d342a21170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141515151515151515151515151515151414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090f11171c1f20252a2d2e30333036393a3c3d3e3e3e3f3f3e3e3d3c3a39363033302d2c2924201f1b17110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2d2ddcfc2b5a99c8f827676828f9ca9b5c2cfcfc0b3a79a8d807467554b4034281c1004000000000a1724313d4a5764707d8a97a8b2bdc9d5cec1b5a89b8e82757885929eabb8c5d1d1c1b5a89b8e827568574d42362a1e120500000000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4e0d3c7bbaea3998b7f7979797979797979797979797979797979797979797979797979797979797979797979797979797979808d99a7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000000000000131f2c3946525f6c7985929facacacacacafb1b6bdb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c010000000000000000000000000000000000000000000000000000000000000000000000000c17232e3a4754616d7a86939fac9f93877a6e757f8791969ea5aea8a199928c827a6f6b605b534c443d332d333d444c535b606b6f7a828c9299a1a8ada49d9590867e746f7c8997a1ac9f92867a6d6154473a2e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000061019232c363e474f585f696e79808891979fa3abb0b9bbc0c7cacfd2d4d2cfc9c6c5c2c0bebdbdbcbdbdbec0c2c4c6c9cfd2d4d2cfc9c7c0bbb9afaaa39f96918780786e685f574e463d352b22190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2022222222222222222222222222222221201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282b2d3036393a3d4042414647494a4a4b4b4c4b4b4a4a49474641423f3d3a3935302d2b27221b1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2dacdc1b4a79a8e817474818e9aa7b4c1cdd0c3b6a99d908376675c5145382c1f130600000003101c28343f4a546673808d99a6b3c0ced9cdc0b3a69a8d80737784909daab7c3d0d1c4b8ab9e918478695e52463a2d201407000000000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dbd7cbbfb5ab9b918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868d929ca8b9c3cde2dfd2c5b8ac9f9285796d6053473a3025190d0100000000000000000000131f2c3946525f6c7985929facb8b9b9b9bcbdc1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d4242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242423e3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000613202d3946525e687683909ca9a49a8b7e716d727c848e939fa2aaaba39f948f847d726c655e564f443f383f444f565e656c727d848f949fa3aba9a29f928d837b716c73808c99a9a99c908376685e5246392d1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000007111a242c353d464e575f676d747d858d92999ea6acafb6b9bec4c6c9cfd1d2d2d1cfcdcbcac9c9c9cacbcdcfd1d2d2d0cfc9c5c4beb9b5afaca59e98928d847d736d665e564d453c342b231910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10171c20262b2e34383a3c4146474a4c4f4c5254555757585858585857575554524c4f4c4a4745413c3937332d2a251f1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3d8cbbfb2a5988c7f72727f8c99a5b2bfcfd2c5b9ac9f9286796d6053463a2d20130700000006121f2c3844505c667683909ca9b6c3cfd8cbbeb1a5988b7e7275828f9ca8b5c2cfd2c5b9ada196877b6e6154483b2e211507000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6dcd1c6bdada39b989393939393939393939393939393939393939393939393939393939393939393939393939393939393999ca4aeb9cbd5dfd5c9beb3a99b8e8174675d514539291e13080000000000000000000000131f2c3946525f6c7985929facb8c5c6c6c9cacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f3035353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353532312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5666727f8c99a8ac9c8f8275676a6f7a818b9298a0a7aea69e9691877f776d68605950494149505960686d777f8791969ea6aea79f97928a80796e69697783909daaa8998c7f7266564c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616467676767676767676767676767676767676767676b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000008111a232b343c454d555c606b707a81878f949c9fa4acadb3b8b9bec2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c2bdb9b7b3adaba39f9b938e86807a6f6b605c544c443c332b221911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c22282d3137383f4446494c525457595c565e616263646465656564646362615e565b595654524c4946443f3836302c27211b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aab4becad6d6cabeb3a9968a7d70707d8a97a9b3becad3c7baaea399897c6f6256493c2f2316090000000713202d3a4653606d7985929facb8c5d2d5c9bdb2a896897c7074818d9aa7b4c0cdd5c9bdb2a8978a7e7164574a3e2f24180c0000000000000000000000000000000000000000000000000000000005111e2a36414d5664717e8b98a2aebac7d3e0d8cfbfb5ada7a5a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a6a8aeb6c0cadddfd2c6b9ada197897d7063554b403529170c020000000000000000000000131f2c3946525f6c7985929facb8c5d2d2d6dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282524211d181109000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303c4855626f7b8896a1ac9f9286796d60676d757e8691959da5aea8a199928c827a6f6b605b534c535b606b6f7a828c9299a1a8aca49f9590857e746d67616e7b8795a0aca196887b6f6255483c3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707474747474747474747474747474747474747474747884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000081119222a333b434b515960686d747c82898f939a9ea1a9abadb3b5b7b9bbc0bfc0c0c1c2c2c2c1c0bfbfc0bbb9b7b5b2adaba9a19e99928f89817b736d676059504a423b322a2119100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2731394045474848484848484848484848484848484746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21282c33393c43474a505356565e616366686a686d6f7071717172727171706f6d686a686663605d565553504946423b38322b272019130c04000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d566875818e9ba8b4c1d0dbd3c6baada297877b6e6e7b8797a2adbac6d3cbbfb4ab988b7f7265584c3f3025190e0200000916222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6d727f8c98a5b2bfced9cfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000020e1925303b4754606d7a86929facb8c5cfdae1d0c7bfb8b3b2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb3b4b9c0c8d1dcded1c4b8ab9e9185796d6053463a2f241807000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe2dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7884919eaba2988a7d70635d606c717c838e939fa2aaaba39f948f847d726c655e565e656c727d848f949fa3aba9a19a938d837b716c605c65727e8b98a7ab9e9184786a5f53473a2e1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8080808080808080808080808080808080808080808086929facb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000710182129303940454f565e616a6e757d82878d92979b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a19e9a97918c87827c756e69605d554f443f38302920180f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b515355555555555555555555555555555554524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262b33383e44494e53545c606366686d70737577797a7c7d7d7e7e7f7e7e7d7d7c7a79777572706d686662605b53524d48433d373229241e160e07000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687884919eabb7c4d1ded2c5b8ab9f9285796c697885929fabb8c5d2d1c1b5a89b8e827568564d42362a1e110500000c1925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e91847868707d8a96a8b2bdc9d5d0c3b6a99d908376675d5145382c1f1306000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3becad6e2d9d0c9c3c0beb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0c1c5cad1dae1d4c8bdb2a89a8d8074665c5044382b1d1207000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aaaaa9a8e8174655b5a626a6f79818a9298a0a7afa69e9691877f776d6860686d777f8791969ea6afa69f97928880786e69615a5d6775828f9ca8aa9a8d807467584e43372b1f0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000060f171e272e343d444c52585f626b70767b80858a8e9197999c9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918e8a85807b756f6a615f57514c433d342e261e170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c60616161616161616161616161616161615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232831373e44485055585f62666d6f73777a7d7f82848587888a8a8b8b8b8b8b8a8a88878584827f7d7a76736f6c65615e57544e47433c3530282018120b0300000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8796a1acb9c5d2dccfc2b5a99c8f8276656976828f9ca9b5c2cfd1c4b7ab9e918478695e52463a2d2014070005111e2a36414c566875818e9ba8b4c1d0dbcec1b5a89b8e8175686d7a8796a0acb9c5d2d2c5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1adb9c6d2dfe2dbd4cfcccbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cccdd0d5dce3ded1c5b8aca096887c6f62544a3f34281c1003000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313d4a5663707d8998a2ab9e9184786c6053585f676d747e8690959da4ada8a199928c827a706b707a828c9299a1a8aca49f9490857d736d665f5753606d7a86929faca298897d7063564a3d31261a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa2aab4bfcad0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000060c151d2328323a41464e53596063696e73797d8185888c8f9193999799999a9b9b9c9b9b9a9999979992918f8c8884817d79736e69626058534d45413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e262e343c42464f555a61646a6e73797c8084878a8c8f91929895969797989898979796959892918e8c8986837f7c78736e69626058544e45413a3228231d150c05000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b2bdc9d5d9ccbfb3a6998c8073666673808c99a6b3bfced2c5b9aca196877a6e6154473b2e211407000714202d3946525e687784919eaab7c4d1d6cbbfb4aa988b7f7265687784919eaab7c4d1d3c7bbaea399897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c4ced9e5e6e0dcd9d8d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d9dadde1e7eaddd0c4b7aa9d9184776a605442382e23170b00000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d3a4653606d7985929faca197887c6f62554e555d606c717b838d929fa2a9aba39f948f847d757d848f949fa3aba9a19a938d827b706b605c544d5364707d8a98a3ac9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7acaeb4bcc5d0d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000030b1218202930363c43474f54575f61676d7174787c7f828486888a8c8d8d8e8f8f8f8e8d8c8c8a888684827f7b7874706d66615e57544e46423b352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930383f444d535961636c70767b8085898d909596999b9d9fa2aaa3a4a4a4a5a5a4a4a3aaa29f9d9b999a93908c88847f7b756f6a626058524c443e342e271e170e06000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa6b3c0cedad5c9bdb2a8968a7d706363707d8a96a8b2bdc9d5c9bdb2a8978a7d7064574a3d2e23180c000814212e3b4754616e7a8796a0acb9c5d2d3c7baaea398897c6f626875818e9ba8b4c1d1d7cbbfb5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000007131f2c3844515c6674818d9aa8b2bdc9d5e1edece8ebe3ddd7d4d2c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cacbced3dae1e7e9edece0d3c7bcb0a6998c7f7366584e4330261c110600000000000000000000000000131f2c3946525f6c7985929facb8c5d2dadadacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9baca9998c807366574d4b515a61696e79808a92979fa6afa69f969187828791969fa6afa69f97928880786e696159514a505b6574818e9aaaac9b8f8275675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b8babfc5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000070e171e252a31373d44484d53555c6064656c6f7275777a7c7e7f8080818282828180807f7d7b797775726e6a6764605c54524d47433d363129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8888888888888888888888888888888275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575f616b70777d83888d9297999da0a7a6a8aaacaeb4b0b0b1b1b2b1b1b0b0b4aeacaaa8aca49f9d9996918c86827c756f6a605d5650454039302920180f060000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dcd2c5b9aca096877a6d61616d7a8796a1acb9c5d2cec0b3a69a8d807367544a4034281c10040a1724313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9286796d6065727f8c98abb5c0cbd7d1c2b5a89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000004101c2834404a54636f7c8996a0acb9c5d2deeaf5ebe2d9d2ccc7c6bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbec2c8cfd8e1ebf6eaddd0c4b7ab9f94887b6e6155483c3222140a0000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5565717e8b9aa4aa9d908377695e52464550575f666d747d8590949fa4aca9a199928e9299a1a9aba39f948f857d736d665e574f444653606c7884919eaba49a8b7e7165554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c5c6cad0d7d3d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000050c131920262b33383c42464b5153535b60626669676d6f717273747475767574747372716f6d676865625f585753514a46423b37322a261f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88949494949494949494949494948f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545c60696e767d838a90949a9ea1a9aaacb1b2b5b7b8babfbdbdbebebebebebdbdbfbab8b7b5b6afaca9a8a19e99928f89827c746d68615a514b423b322a21180f060000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2ddd1c4b7aa9e918477685e5e687884919eabb7c4d1cfc3b6a99c908376665c5144382c1f1206101c28343f4a546673808d99a6b3c0ced9cfc3b6a99c908376665c636f7c8999a3afbbc7d4d1c5b8ab9e928578695f53463a2d21140700000000000000000000000000000000000000000000000000000000000c18232e394854606b7784919eaab7c3cdd8e4eee3d9d0c7c0bbb9afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafb0b2b6bdc6cfdae4efe3d7cbbfb5ab9c908376695f53463a2d2114020000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3b4754616e7a87939faca095877b6e6154483e454d545c606c707b838d939aa1a9aba39f9b9fa3aba9a199928c827a706b605c544d453e4955626f7c8896a1ac9f93877a6e6154473b2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002080d151a21272c3137394045464950535559555d60626466666768686968686766666462605c555955534e4a4644403936302b27201a140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a1a1a1a1a1a1a1a1a1a19d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353e464e565e666d727b828a90959c9fa6abadb3b7b8bcbfc2c4c5c7cad0cacacbcbcbcacad0cac7c5c4c1c0bbb9b6b2acaba39f9c948f88817a716c605c544d443c332a21180f060000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3dbcec1b4a89b8e81756856566875818e9ba8b5c1d1d2c5b8ac9f9286796d6053463a2d201307121f2c3844505c667683909ca9b6c3cfd9cdc0b3a69a8d80736754606d7a86929facb9c5d2d2c6b9ada197887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000007121c2c38434f596673808c99a7b1bcc8d4e3e8ddd2c7bdb5afaca3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a6acb4bdc8d3deede0d3c7bbaea3998b7e7265574d42362a1e12050000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687783909daaa7988b7e7265554b403c424b515a61696e78808891979fa6afaca8acafa69e9691877f786e686059504a423b414d5666737f8c99a9a99d908376685e5246392d1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030a0f161c1f262b2e34383a3f4446484c4b51535557595a5a5b5c5c5c5b5a5959575553514b4c4847433d3a38342e2a251f1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adaeaeaeaeaeaeaeaeaa9d9083776a5d5044372a1d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353e474f585f686d787f868f949da0a7abb0b8b9bec3c5c8ceced0d2d3d6dbdbd6d3d2d2d4d8dbd6d3d2d0d2ccc8c6c3bdb9b5afaca69e9c938e857e746d665e564e453c332a21180d04000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5bfcbd7d7cbbfb4aa988b7f7265585965727f8c98abb5c0cbd3c7baaea398887c6f6255493c2f22160813202d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064575d677783909daab7c3d0d5c9beb3a9978a7e7164574b3e2f24180d0100000000000000000000000000000000000000000000000000000000000f1b27323d4855626e7b88959fabb8c7d1dce3d7ccc0b5aba49f9695959595959595959595959595959595959595959595959595959595959595979aa2acb6c2cedaecdfd2c5b9ac9f92867a6d6154473b31261a0e020000000000000000000000000000131f2c3946525f6c7985929fa7a7a7a7a7a7a7a7a7a7a79b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5666737f8c99a9a99c8f8276675d51453939404550575e666d737d858f949fa3abb2aba39f948f847d736c665e564f443f383946525e687783909daaa9998c7f7366564c41362a1e0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7adadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000050b10141a1d23282c2d3337393c3f404547484b4c4d4d4e4f4f4f4e4d4d4c4a484645403f3b3a37312d2c28231c1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfbbbbbbbbbbbbb7aa9d9184776a5e51442f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222c353e474f59616a6f7a828c92989fa6abb1b7bcc2c6c9cfd1d4d7d4d2d0cccac9d0cac6c5c6c8ccd2cacccfd2d3d7d4d2cec9c7c0bbb9b0aaa59d97918a81786e685f574e453c332a1f160b02000000000000000000000000000000000000000000000006121e2b37424d576975828f9ca8b5c2d1dcd3c7baaea398897c6f625656636f7c8999a3afbbc7d3cbbfb4aa988b7f7265584c3f3025190d16222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6e6154556774818e9aa7b4c1d0dacfc0b4a79a8d817467554b4035291d110400000000000000000000000000000000000000000000000000000000000a16212e3a47535f697783909dabb5c0cbd7e0d4c7bbafa4999389888888888888888888888888888888888888888888888888888888888888888a909aa6b2becbd7e2d6cabeb4aa9c8f8275685e524639291f1409000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303c4955626f7c8896a1ac9f92867a6d6053473a2e343e454d545c606b707a828c9299a1a8a199928c827a706b605b544c443d342e3b4754616e7a87939faca196887c6f6255493c3025190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000003090e12181c1f22272b2d2f2f35383a3c3e3f4041414243424141403f3e3c3a38342e2f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac6c7c7c7c7c4b8ab9e9185786b564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d474f59616b707c8490949fa2aab0b8bcc3c7cdd2d5d6d3d1cbc7c5c3c0bdbcbbbfbab8b9bbc0bcbdbfc2c5c7cbd1d2d5d5d1cbc7c1bbb7afa9a19e938e837a6e6a5f574e453c31281d140a00000000000000000000000000000000000000000000000814212e3a47535f697885929eabb8c5d1ded2c5b9ac9f9286796d605353606d7a86929facb9c5d2d0c1b4a89b8e817568564c41362a1e111925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e918478685e525865717e8b98aab4bfcad6d0c3b6aa9d908377675d5145392c201306000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d4dfd2c6b9ac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8a97a3b0bdcad6dfd3c6baaea2988a7e7164564c413529180d03000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d394653606c7884919eaba3988a7d7064544a3f3328333b424a505960686e787f8791969e9691877f776d686059504a423b322834404b5565717e8b9aa4ab9e9184786a5f53473b2e1e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d93939393939393939393939393939393939393939393939393939393939393939083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000070c1013171b1f202224292c2d2f313333343535363535343333312f2d2c282322211f1a1312100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2d4d4d2c5b9ac9f928679685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464f59616b707d8691969fa6aeb4bcc2c8cdd3d8d6d0cac6c5c0bbb9b6b3b0afaeb4aeacacafb6afb0b2b6b9babfc5c6c9cfd5d7d4ccc7c1bbb3ada59d9590847c6e6a5f574d433a2f261b1106000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2dcd0c3b6a99d908376665c51515d677783909daab6c3d0d1c4b7aa9e918477685e5246392d20131e2a36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c55626f7c8898a2aebac6d3d2c5b9ac9f92867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000020e1a26313c4754616e7a86929facb9c5d0dbd4c7bbafa4998a7e716f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f727f8c98a5b2bfcbd8ded2c5b8ab9f9285796d6053473a3025190d010000000000000000000000000000000e1b2834414e5b6774818181818181818181818181818181817e7165584b3e3225180b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaa9b8e8174665b5044382b2930383f444f565e666c727d848f938f847c726c655e564f443f382f292c3845515c6775828f9bacaa9a8e817467584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808686868686868686868686868686868686868686868686868686868686868686868683776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181d1f20222426272728292929282726262422201f1c181514120f0a060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1dde0d3c7baaea399877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58616b707d869298a1a8b0babfc6ced4d9d7d0cac6bfbab8b5afaca9a6a4a2a1aaa29f9fa4aca2a3a6a9acaeb4b8b9bec5c9cfd6d7d3cdc4beb9afa79f9691857c6e695f564c41382d22170b020000000000000000000000000000000000000000000b1825313e4b5864717e8b97a9b3becad6dacdc0b3a79a8d807467544b4b556774818d9aa7b4c0d0d2c5b9aca096877a6d6154473a2e2114202d3946525e687784919eaab7c4d1d6cabfb4aa988b7f7265584c53606d7985929facb8c5d2d4c7bbafa399897c706356493d2d22170b0000000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6d7ccc0b5ab9c8f827568626262626262626262626262626262626262626262626262626262697683909da9b6c3d0dcd5c9beb2a99b8e8174675d514538281e1308000000000000000000000000000000000d1a2733404c58646e74747474747474747474747474747474716d62564a3d3124170b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364707d8a98a3ab9e9285796c605346392d20262e343d444c545b606b6f7a8289827a6f6a605b534c443d332d26202d3a4653606d7985929faca3988a7d7063574a3d32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1013141518191a1a1b1c1c1c1b1a1a1917151313100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e43505d697683909ca9b6c3cfdce3d7cbbfb4ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c555f6a707d869298a2aab2bac2cad0d8d9d1cbc5bebab4aeacaba39f9d99979695949892939a959697999c9fa3aaabadb3b9bdc4cad0d7d6cfc9c0b9b1a9a19791857b6e685d53493f33271d140a000000000000000000000000000000000000000005111d2935414c566774818e9aa7b4c1cfdad5c9beb3a9978a7e7164574b4b5865717e8b98aab4becad5c9bdb2a8978a7d7064574a3d2e2317212e3b4754616e7a8796a0acb9c5d2d3c7baaea298887c6f625549505c667683909ca9b6c3cfd7cbc0b5ab998c7f736653493f33271b0f03000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8b98a2aebac6d3ddd2c5b9ac9f92867a6d6155555555555555555555555555555555555555555555555555616e7b88959fabb8c4d1ddd2c6b9ada197897d7063554b403529160c02000000000000000000000000000000000b1824303c48535c646768686868686868686868686868686865625a50453a2e211509000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4753606d7a86929faca197897c6f6256493c31261c2328323b424a505960686d757c756d6860585049413a3228221c23303d4a5663707d8998a2ac9f92867a6d6053473a2d20140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061c2835424f5b6875828e9ba8b5c1cedbe7dcd1bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515d676e7c869298a3aab4bcc4ccd6dbd7cfc7c0bbb3aeaaa29f9a9992908d8a8988878685868788898a8c8f9298999ea1a9adb2babec5ced5dad5cbc2bbb2a9a19791847a6d655b50443c2f261b1106000000000000000000000000000000000000000713202d3946525d687784919daab7c4d0ddd2c6b9ada197877b6e6154484855626f7b8898a2aebac6d3cec0b3a6998d807366544a3f34281c24313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053464a546773808d9aa6b3c0cfdad1c2b5a89c8f8275655b5044372b1f12050000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7a86929facb8c5cfdad3c7bbafa3998b7e7265574d4949494949494949494949494949494949494949494e5866737f8c99a7b1bcc8d4ded1c4b8ab9e9184786c605346392f24180600000000000000000000000000000000000814202b36414a53585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6775828f9ca8a9998d807366574d42362a1e1720292f383f444f565d616b706b605d564e443f382f2920171f2b37434e586774808d9aaaa89c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c6060606060606060606060606060606060606060606060606060606060606060606060605d554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a606d79849198a2aab4bcc6ced6ddd5cdc5bdb5afaaa29f98928d8a8683807d7c7b7a7979797a7b7c7d7f8386898d92979ea1a8adb3bcc3cbd3dbd4cdc4bbb3a9a0968f82776c60584e41382d22170b000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2ded1c5b8ab9e928578695e53464653606c7985929fabb8c5d2cfc2b6a99c8f8376665c5044382b1f2834404a546673808d99a6b3c0ced9cfc3b6a99c908376665c50444b5764717e8a97a9b3becad6d1c5b8ab9e9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3bec9d5d7cbc0b5ab9c908376695e53463c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c47535f6a7784919daab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1d12070000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c01000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b98a7aa9d908477695f53463a2d2114171d262d333d444c525960636059524c443d332d261d1715212e3a47535f6a7884919eaba7988b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b51535353535353535353535353535353535353535353535353535353535353535353535353514b43392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c75818f96a0aab4bcc6cfd8ddd4cbc3bbb3aba39f98928c86807d7a7673716f6e6e6d666d6d6e6f707376797c80858b91969fa2a9b1b9c1c9d2dad6cdc4bbb2a89e948c7f736a5f53493f33271c12070000000000000000000000000000000000000a1724303d4a5763707d8a9aa4afbbc8d4dbcec2b5a89b8f827568574d4244505b6676838f9ca9b6c2cfd2c5b8ac9f9285796d6053463a2d202c3844515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f4855616e7b8897a1adb9c6d2d2c6b9ada297887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8a97a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c322f2f2f2f2f2f2f2f2f2f2f2f2f2f2f333f4953626f7c8895a0acb8c5d4ded1c5b8aca095887c6f62544a3f33281c0f0300000000000000000000000000000000000008131d262f363c40414141414141414141414141414141413e3d3a342d241b110600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b4854616e7b8795a0aca095887b6e6155483b2f24190b141c2228323a41464f5456544f45413a3227221b140b15222f3c4855626f7b8896a1aca095877b6e6154483b2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474745403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfdae6d9cdc0b3a69a8d8073675a4d4034271a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202c3945525d68717e8a939ea8b2bcc5cfd8dfd4cbc2b9b1a9a299928c85807a74706d676664636261605c606162636466676d7073797f848b9297a0a7afb7c0c8d2dcd6cdc3bab0a69f92877c6e655b5044392e23180c000000000000000000000000000000000003101c28343f4a546673808d99acb6c0ccd8d7ccc0b5ab998c7f7266594c3f3f4a546673808d99a6b3c0cfd3c6baaea298887c6f6255493c2f222d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064574a3d46535f697885929eabb8c5d1d6cabeb3a9978b7e7164584b3e2f24190d010000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c3ced9d4c8bbafa49a8c7f7266584e43372b222222222222222222222222222b3744505b6573808d9aa7b1bcc8d4d8ccc0b6ac9d9184776a5f5342382d22170b00000000000000000000000000000000000000010b141d252b30333435353535353535353535353535353532312e29221b12090000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaa7988b7f7265564c4135291d110a1117202830353d44484948443d3530282017110a111d2a36414c5666727f8c99a8aa9d908377695e52463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3bec9d5e1dbcec2b5a89b8f8275685c4f423024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7a85919ea5afbac3ced7e1d6cdc2b9b1a7a0979287807a736d6863605d555756555453515354555657555c6063676d72797e8590959ea5aeb6c0cad4ded5ccc1bbaea3999083776c60544a4034281c11060000000000000000000000000000000006121f2c3844505c6676838f9ca9b6c2d2ddd4c7bbafa499897c706356493d3d4a5764707d8a97a8b2bdc9d5cabfb4aa988b7e7265584b3f30252f3c4955626f7c8898a2aebac7d3d2c5b9aca096877a6d6154473a424d576976828f9ca9b5c2cfdbcfc1b4a79a8e817467564c4135291d110400000000000000000000000000000000000000000000000000000000000007131f2c3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9184776a5f5347382d221716161616161616161616202d394653606c7884919eabb7c3ced9d4c8bbafa49a8c7f7266584e432f261c11060000000000000000000000000000000000000000020b131a202427282828282828282828282828282828282524211d181109000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a9a99c8f8276685d5245392c201306060e161e242932383b3d3b383229241e160e060713202d3946525e687683909ca9a9998c807366574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2c29231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9c6d2dfddd0c3b6aa9d9083776a564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46525e6974808d97a1adb7c1ccd5e0d9cfc5bbb1a79f9590857d736d68615e5654514c4a4948474644464748494a4b5153555d60666d717b838e939da4aeb8c2ccd6ded7cbbfb5ab9f948b7e71665c5144382e23170b000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfd2c6b9ac9f93867a6d6054473a3b4754616e7b8796a1adb9c5d2d0c1b4a79b8e817468564c413529323f4c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e524639404d596673808c99a6b3bfcedad0c3b7aa9d908477685d5245392c20130600000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb9c5d2ddd2c7b8aca095887c6f62544a3f33281c0f09090909090909101c2834404b5563707c8996a1adb9c5d5dfd2c6b9ac9f93877b6e6154483c3221140a0000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313c4956626f7c8997a1ac9f92867a6d6054473a2e23170b00040c131921272c2f302f2c272119130c04000714212e3a4754616d7a86939faca197897c6f6256493c30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a38342f2b26201a140d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1deded2c5b8ab9f928578685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56616e7b86929fa9b3bec9d3dedcd1c7bdb3a99f9590837b706b605d56524c4745413e3c3b3b3a383a3a3b3c3d4045474b51545c60696e79818d929da6b0bac4ced8dcd1c6bdb0a69e9184796d60544a3f34281c10030000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3ddd0c3b7aa9d908477675d5145393a46525e697884919eabb8c4d1d0c4b7aa9d918477685e5246392d36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c41363d4a5763707d8a96a8b2bdc9d5d2c6b9ac9f93867a6d6054473a2d211406000000000000000000000000000000000000000000000000000000000000000c17232e384754606a7784919eaab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1f1207000000000006131f2c3845515c6774818e9aa8b2bdc9d5d7cbbfb5ab9c908376695e53463a2d21140200000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0b0905010000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a1117202d394653606c7985929eaba3998a7d7164544a3f34281c10030002080d161b20222322201b160d08020004101c2834404a5464717e8b99a4ab9e9285796c605346392d2017110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141413100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454745403937322a251f18130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfdcdfd3c6baada297877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874808d99a3aebbc4cfdbe3d7cbc0b5aba1979083796e696059524c46413a39352f302f2e2d2c2d2e2f302f34383a40454b51575f676d75808d949fa8b2bcc6d0dbd8cfc2b9aca1968b7e71665c5044382b1f12070000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcad6dacdc1b4a79a8e817467554c413536424d576875828f9ba8b5c2d2d1c5b8aca096877a6d6154473a2e3946525e687884919eabb7c4d1d6cabfb4aa988b7e7265584b3f303a4754616d7a8796a1acb9c5d2d4c8bbafa49a897d7063564a3d2d22170b0000000000000000000000000000000000000000000000000000000000000006111c2b37434e586673808c99a7b1bcc8d4d9cec3b8ab9e9184786c605346392f23180c00000000000713202d3a4653606d7985929fabb8c4cfdad3c7bbaea3998b7e7265574d42362a1e1205000000000000000000000000000000000000000000000000000000010102020202020202020202020202020200000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c2328323a44505b6674818e9ba7ab9b8e8175665c5044382b1f1206000000040b101316161613100b0400000006121f2c3844515c6675828e9baba79b8e8174665b50443a3128231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707070707070707070707070707070707070707070707070707070707070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b5153514b47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0cddae2d6cabeb3a995897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fabb4bfcdd6e1dfd4c7bbafa39992857b6e675f574f45413a36302c2924232221201f2021222323292c2f353940454d555d606d78828f96a0aab4bfcad6e1d5c9bdb2a89e9184786d6053463a2f24180d010000000000000000000000000005121e2a36424d576875828e9ba8b5c1d0dbd6cabfb4aa988b7e7165584b3e2f303f4c5966727f8c99abb5c0ccd4c8bdb2a8968a7d7063574a3d2d3b4754616e7a8796a1acb9c5d2d3c6baaea298887c6f6255493c2f3946525e687884919eabb7c4d1d8ccc0b6ac998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9ada196897c7063554b4034291c100400000004111d2935414c5664717d8a97a2adbac6d6dfd2c5b9ac9f92867a6d6154473b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f171e262e343d444c525a64717d8a97a4ab9e9285796d6053463a2d20130600000000000407090a09070400000000000713202d3a4653606d7985929faba4978a7d71645a524c433d342e261e170f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c605c55534e46423b352f28231c140c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081926323f4c5965727f8c98a5b2bfced9e5dbd0beb1a4988b7e7165584b3e3225180900000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8c98a2aebdc6d1dfe1d5c9bdb2a89f92877d70695e554d453d352f2a25201d19161514131213141516181c1f24292e343c434b515c666d7a849198a2aebac6d1dcdacec4b9aca096897d7063554b4035291d1004000000000000000000000000000714212d3a46535e697884919eabb8c4d1ded3c6baaea298887b6f6255483c2f303d495663707c8999a4afbbc7d4cebfb3a6998c807366544a3f333d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d36414c566875828e9ba8b5c1d2ddd2c2b5a99c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000a16212d3a47535f697683909dabb5c0cbd7d5c9bdb2a89a8e8174675c5145382c1f13080000000713202c3945525d6875828f9ba9b3becad6d6cabeb3aa9b8f8275685d524639291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f565d606c717c8895a2ada297897c6f6356493c2e23170b00000000000000000000000000000000000a1623303d495663707d8998a2aea295887c716c605d564f443f3830292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c09040000000000000000000000000000000000000106090b0c13131313131313131313131313130808060200000000000000000000000000000000000000000306080913131313131313131313131313130f0e0c090400000000000006131f2c3845515c676d67625f58524d45403a342e261e1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a8b2bdc9d5e1dacdc0b3a79a8d8074675a4d413025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909daab4bfcfd8e2dacfc5b9aca0968c7f726b60574d433b3329241e1913110d0808080706070708070c1013181d23283139404a545d686f7c86929faab4bfcbd7e0d5c9bdb2a89b8e8174675d5145392c201306000000000000000000000000000815212e3b4854616e7b8796a1adb9c5d2dfd2c5b8ac9f9285796c605346392d2d3a4754606d7a86939facb9c6d2cfc2b5a99c8f8276665b504438404a546773808d9aa6b3c0cedacfc2b6a99c8f8376665c5044382b303f4c5965727f8c98abb5c0ccd7d2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d3dacfc4b8ab9f9285796d6053473a3024190d0100000714212d3a4754606d7a86929facb9c5d0dbd3c6baaea2988a7d7164564c413529170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960686d757e86929facb3a99a8d807367544a3f34281c100300000000000000000000000000000003101c28343f4a546773808d9aaab3ac9f92867e756d686059504a423b3329241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000070d1216181920202020202020202020202020201514120e090300000000000000000000000000000000030a0f12151520202020202020202020202020201c1b18150f0902000000000714202d3a4753606d79766f6a615e57514b443f38302b262019140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dedccfc2b6a99c8f837669564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0acbcc6d0e1e1d5c9beb3a99e9184786d60594f453b31292119130d0804010000000000000000000004070c12181f282f38424c565f6a74808d98a3aebac7d1dcd9cec4b8ac9f92857a6d6053473a2d201408000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d5dccfc2b6a99c8f8376665b5044382b2c3945515d677784909daab7c3d0d2c5b8ab9f9285796c6053463944515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f3428303d495663707c8999a4afbbc7d4d3c6baaea298887b6f6255483c2f22150800000000000000000000000000000000000000000000000000000000000000020e1a26313c4754616d7a86929facb9c5d0dbd3c6baada2978a7d7164564c4135291d11040005121e2a36424d5765717e8b98a3aebac7d7ded2c5b8ab9f9285796d6053473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606b6f7a818b9298a2aeaaa29d918477665c5044382b1f120600000000000000000000000000000006121f2b3844505c667784919ea2aaaea298928b817a6f6b605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a150e060000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201b140c030000000a1724313d4a5764707d827c746e69605d55504a423e37312a251f18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687784919eaab7c4d1ddded1c5b8ab9e928578695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5566737f8c99a7b1bcced8e2dfd2c6b9ada1978b7e72665c50473d33291f180f080100000000000000000000000000000000070d161d26303a444e58616e7b86929fabb5c0cbd7dfd3c6baaea2988a7d7164574a3e3025190d01000000000000000000000004111d2935404b556774808d9aa7b3c0cfdad9ccc0b3a6998d807366544a3f33282935414b556874818e9ba7b4c1d0d3c6baaea298887b6f6255483c4653606d7985929facb8c5d2d4c8bdb2a8968a7d7063574a3d2e232d3a4753606d7a86939facb9c6d2d6cabeb3aa988b7e7165584b3e3025190d01000000000000000000000000000000000000000000000000000000000000000915202d3946525e6875828f9caab4bfcad6d6cabeb3a99b8f8275685d5245392c201409000714202d3a46525e6976838f9caab4bfcbd7d5c9bdb2a89a8e8174675c514538281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c2328313a414550575f666d737d848e939fa2aaa69f98928b81786d6053463a2d2013070000000000000000000000000000000713202d3a4653606d78818b92989fa7aaa29f938e847d736d665f575045413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000009131b23292e313239393939393939393939393939392f2e2b2620180f0600000000000000000000000006101820262b2e2f39393939393939393939393939393534312c251e150c0200000a1724313d4a5764707d8a87817b736d67605c544f47433c363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566875818e9ba8b4c1d1dcdfd2c6b9ada297877a6e6154473b2e2114060000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6776838f9ca9b6c2cddceaded1c5b8ab9e9285796d60544a3f352b20170d0600000000000000000000000000000000000000040c141e28323c46525e6974818d99a3afbbc7d3e0d6cabfb4aa9a8d817467564c41362a1d110500000000000000000000000613202c3945515d677783909daab6c3d0ddd5c9bdb2a8978a7d7064574a3d2d22242f3f4b5865727e8b98aab4bfcad6cabeb3aa988b7e7165584b3e4956626f7c8998a2aebac7d3d2c5b8aca096877a6d6154473a2e212c3945515d677784909daab7c3d0dbd0c1b4a79b8e817468564c4135291d11050000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8a98a2aebac6d3dbd0c5b9ac9f92867a6d6054473b30251a0e020815212e3b4854616e7b87939facb9c6d1dcd2c5b9ada196897d7063554b403429160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171e262e343d434c515a61696e78808791969ea5aba39f9490857e756d665c5044382b1f120600000000000000000000000000000006121f2b3844505c666d757e8690959fa3aba59e96918780786e69615a514c433d342e261e170f0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e14090000000000000000000007111b252d343a3e3f46464646464646464646464646463b3a37312a21180e0300000000000000000000030e18222a31373a3c464646464646464646464646464642413d3730271e140900000a1724313d4a5764707d8a938e868079716d666159534e46423b352f28221c140b0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303f4c5965727f8c98abb5c0cbd7e2d6cabeb3a9968a7d7063574a3d2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5d2dfe1d4c8bdb2a8998c7f72675c5142382e23190e05000000000000000000000000000000000000000000020c16202a36424d56616e7b86929facb9c5d2dfdbd0c3b7aa9d908477685e5246392d20130700000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd2c5b9aca196877a6e6154473b2e21222f3c4955626f7c8898a2aebac7d3d0c1b4a79a8e817467564c414c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e5246392d202935404b556774818e9aa7b4c1d0dcd0c4b7aa9d918477685e5246392d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7a85929facb8c4cfdad3c7baaea3998b7e7165574d42362a1e1206121f2b37434e5865727f8c99a4afbbc7d4ded1c4b8ab9e9184786c605346392f231806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318212930383f444e555d606c717b838c9299a1a8a8a099928c827b716c605c544a3f34281c100300000000000000000000000000000003101c28343f4a545c606c717b838c9299a1a8a8a199928c837b716c605d554e443f3830292118130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000010d18232d373f464a4c53535353535353535353535353534847423c332a201509000000000000000000000a15202a343c43474853535353535353535353535353534f4d48423930251b0f04000a1724313d4a5764707d8a9798928c857e78706b625f58524d454039332d261d1b150e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8999a3afbbc7d4e0dbcfbfb3a6998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a3aebac7d3e0ded1c5b8aca096877b6e61554b4030261c11070000000000000000000000000000000000000000000000040e1925303b46535e6976828f9ca9b5c2d0dbdfd2c6b9ac9f93867a6d6154473a2e21140700000000000000000000000a1623303d495663707c8999a3afbbc7d4ded1c4b7ab9e918478685e5246392d20202d3a4653606d7985929facb8c5d2d0c4b7aa9d918477685d52454d566875818e9ba8b4c1d0dbcec1b4a79b8e817468564c41362a1d242f3f4b5865727e8b98aab4bfcbd6d1c5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000000000000000000813202c3945515d6775818e9ba9b3bec9d5d7cbbfb4ab9c8f8376695e52463a2d20150a15212e3a47535f6a7783909dabb5c0ccd7d4c8bcb1a79a8d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d757e8590959fa3aba59d9691877f786e69615a504a42382e23170b00000000000000000000000000000000000b17232e38424a505a61696e78808791969ea5aba39f9590857e756d676058504a423b3329241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000006121e29343f49515658606060606060606060606060606055534d453c31261a0e020000000000000000030f1a26313c464e535560606060606060606060606060605b59534b42372c201509000a1724313d4a5764707d8a97a29f97918b837d766f6a615e56514b443f382f2b262019140c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdccfc2b6a99c8f8276665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcbd6e3ddd0c4b7aa9d918477685e5243392f1e140a0000000000000000000000000000000000000000000000000009141f2a36424d5766727f8c99aab4becad6e0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000030f1c28333f4a5466737f8c99abb5c0cbd7dbcec1b5a89b8e827568564c41362a1e1f2c3844505c667683909ca9b6c3cfd2c6b9ac9f93867a6d605447525e687884919eabb7c4d1d6cabeb4aa988b7e7265584b3f302519222f3c4955626f7c8898a3aebac7d3d4c8bdb2a8968a7d7063574a3d2e23170b000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c31261a0f1b27333f4953626f7b8895a0acbdc7d2ddd1c5b8aca095887c6f62544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f81818181818181818181818181817c6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606a6f7a818a92989fa7a9a19e938e847c736d665e5750443f3830261c1106000000000000000000000000000000000006111c2630383f4450575f666d737d848e939fa2a9a79f98928a817a6f6a605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1206000000000000000006121f2b37434e585f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000a1724313d4a5764707d8a97a3a9a19e95908a827c746e69605d55504a423d37312a251f18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909daab6c3d1dcded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0d0dce7dacdc1b4a79a8e817467564d4131271d0c0200000000000000000000000000000000000000000000000000020e1a25313c4956626f7c8998a2aebac6d3dfd8ccc0b6ac988b7e7265584b3f3225180c0000000000000000000006121f2b3844505b6676828f9ca9b5c2d1dcd7cbbfb5ab988c7f7265594c3f3025191c28343f4a546773808d9aa6b3c0cfd4c8bbafa49a897d7063564a54616e7a8796a1acb9c5d2d3c6baaea298887b6f6255483c2f2215202d3a4653606d7986929facb8c5d2d9cec0b3a6998d807366544a3f34281c100300000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985919eabb8c3ced9d4c8bbafa49a8c7f7265584e43372b1f121f2b3744505b6573808d99a7b1bcd0d9d8ccc0b6ac9d9084776a5f5342382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c2228313a414550575e666d737c848e939fa2aaa69f97928a81796f6a605c544d453e342e261e140a000000000000000000000000000000000000000a141e262e343e454d545c606b6f7a818a92979fa6aaa29f938e847c736d665e575045403a3128221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000b1825313e4a56626d72797979797979797979797979797976695f53473a2e21140800000000000000000815212e3a47535f6a767979797979797979797979797979756f65594d4134271b0e000a1724313d4a5764707d8a97a3b3ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808d99abb5bfcbd7dfd3c6baaea298887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdce2d6cabeb3a9978a7e7164574b3e3024150b0000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929fabb8c5d2deddd2c0b3a79a8d8074675a4d4134271a0e000000000000000000000613202d394653606c7985929fabb8c5d2ded3c7bbaea399897c6f6356493c30231617232e3e4a5764717e8a97a9b3bec9d5ccc0b6ac998c7f736653495764707d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d20131f2c3844515c667683909da9b6c3d0dccfc2b6a99c8f8376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9083776a5f53473a2e2113202d394653606c7884919eabb7c3cdded4c8bbafa49a8c7f7266584e432f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171d262d333d434b515a61696e787f8791969ea5aaa39f948f857e746d676058504a423b3328231c140c0200000000000000000000000000000000000000020c141c2328333b424a505960676d747e8590949fa3aba59e9691877f786e69615a514b433d332d261d170f0701000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986868686868686868686868686868275695c4f4236291c0f03000000000000000c1925323f4c5865727f86868686868686868686868686867b6e6255483b2f22150800000000000000000915222f3c4855626f7c86868686868686868686868686868175685b4f4235281c0f000a1724313d4a5764707d8a97a3b0b9b1aca69f99938e868079716c666059534e46413b352f28221c140b0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5663707d8999a3aebbc7d3e0d6cabeb4aa988b7e7165584b3e31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1dddfd3c6baada297877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f9ca8b5c2cfdbdbcfc2b5a89c8f8275695c4f4236291c0f000000000000000000000915222f3c4855626f7b8897a2adbac6d3dfd2c5b9ac9f9286796d6053473a2d201415222e3b4855616e7b8897a1adb9c6d2d2c2b5a89c8f8275655b50546773808d9aa6b3c0cedacfc2b6a99c8f8276665b5044382b1f121c2834404a546774808d9aa7b3c0cfdbd2c5b8ac9f9285796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb8c5d1ddd2c7b8aca095887b6f6255483d32271c2834404a54636f7c8996a1acb9c5d2dfd2c6b9ac9f93877b6e6154483c3221140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c121821292f383f444e555d606c717b828c9299a0a8a7a098928b827a706c605d554e443f3830292117110a02000000000000000000000000000000000000000000020a1117212930383f444f555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292118120c040000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b939393939393939393939393887b6e6255483b2f22150800000000000000000915222f3c4855626f7b889393939393939393939393938e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdbcb8b0aba49f98928c847e78706b625f58524d454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdbd0c1b4a79b8e817468574d42372b1e12060000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2dfded2c5b8ab9f928578695e52463a2d20140700000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a6b3c0ccd9ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000c1825323f4b5865727e8b98a9b3becad6ddd0c3b6aa9d908377675c5145382c1f1314212d3a46535f697885929eabb8c5d1d2c5b8ab9f9285796c60535c667683909ca9b6c3cfd8ccc0b6ac998c807366544a3f33281c0f18232e3e4b5764717e8a97a9b3becad6d3c6baaea298887c6f6255493c2f2216080000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d4c8bcb1a7998d807366584e43382c1f2c3844515c6674818d9aa8b2bdc9d5d7cbbfb4ab9c8f8376695e53463a2d21140200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d747e8590949fa3aba49f9590867f776e68615a514b433d342e261e170f0600000000000000000000000000000000000000000000000000060f181e262e343d434c515a61696e787f8791969da5aba39f9490857e746d676058504a423b3329241d160d0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f95887b6e6255483b2f22150800000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdc8c2bdb5afaaa29f97918b837d766f6a615e56514b443f382f2b262019140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909ca9b6c3cfdbded1c4b7ab9e918478695f53473a2e211406000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c778698a2aebac6d3e0ddd1c4b7aa9e9184776b574d42362a1e1105000000000000000000000000000000000000000000000000000000000b17232e3f4c5965727f8c98a5b2bfcbd8ddd0c4b7aa9d9184776a5e5144372b1e1100000000000000000005111e2a36414c566874818e9ba7b4c1d0dbdacdc0b3a79a8d807467554b4034291c10121e2a36424d576975828f9ca8b5c2cfd3c6baada297887b6e6255606d7986929facb8c5d2d4c8bbafa49a8a7d7063574a3d2d22170b15222e3b4855616e7b8897a2adbac6d3d6cabfb4aa988b7e7265584b3f3025190d01000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a7b1bcc7d4d9cdc3b7ab9e9184786a605448382e232d3a4653606d7985929eabb8c4cedad3c7baaea3998b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c3f393e4042424242424242424242424242423b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545b606a6f79818a92979fa6a9a19a938d837c726c655e56504540393128231c140c05000000000000000000000000000000000000000000000000000000060c151c2328313a414550575e666c727c848e939ea2a9a69f97928a81796f6a605b544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5acacacacacacacaca195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2acacacacacacacaca89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdd0d0c7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808c99a9b3becad6dfd2c5b9ada196887b6e6255483b2e23170b000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798693aab4bfcad6e2dcd0c3b6a99d9083766a5d504330251a0e0200000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97a4b1becad7ded1c4b8ab9e9185786b5e5245382b1f120000000000000000000713202d3946525e687784919eaab7c4d1ddd6cabeb3a9978a7e7164574b3e2f23180c0e1a2631404c5966737f8c99a6b2bfced6cabeb3a9978b7e716458626f7c8998a3aebac7d3d2c6b9ac9f93867a6d6154473a2e21140613202d394653606c7985929fabb8c5d2dbd0c1b4a89b8e817568564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9aca196897c6f62544a3f342935404b5563707d8a97a1adb9c6d6dfd2c5b9ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494b46443f382f3535353535353535353535352f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c22283139404550575e666c727c848e939fa2a9a59e97918880796f6a605b534d443e352f281f17110a090909090908060300000000000000000000000000000104060709090909090a11171f282f353e454d545b606a6f79818a92979fa6a9a29f938e847c726c665e57504540393127221b140b0500000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9aea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aeb9b9b9b9b9b9b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bfc6ccd2ccc6bfbab2ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3c4956636f7c8997a2adb9c6d2dfd5c9bdb2a8988b7e7265544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dbe7dbcfc2b5a89c8f8275695c4f4236291c0900000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6ded2c5b8ab9f9285786c5f5245392c1f120000000000000000000714212e3a4754616d7a8796a0acb9c5d2ded2c6b9ada297887b6e6155483b2e221507091723303d4a5663707d8996a8b2bdc8d4cfc0b4a79a8d8174675565727f8b98aab4bfcbd6d0c4b7aa9d918477685d5246392d201307121f2b3744505b6576828f9ca9b5c2cfdcd1c4b7aa9e918477685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909dabb5c0cbd7d5c9bdb2a89a8d8074665c5044382c3945515d6775818e9ba9b3becad6d6cabeb3a99b8f8275685d524539291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54565853504a423d36302823282828282828282822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5aaa29f938f857d746d675f585049413b3229241d16151515151515151515120f0a030000000000000000000001070d1013141515151515151515161e2429333b424a505860676d747e858f949fa3aba59d9691877f786e69615a514b433c332d261d170e07010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc6c6c6c6c1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a9aeb4bbc0c7d0d0cac4beb9b1aca69f99928e867f79716c666059534e46413b352f28221c140b0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d1dcdacfc2b5a89b8f8275665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000a1724313d4a5764707d8a97a8b2bdc8d4ded1c5b8ab9e928578695f53463a2d2114070714212e3a4754616d7a8796a0acb8c5d2d0c3b7aa9d908477675d6875818e9ba8b5c1d0dccec1b4a79b8e817468564c4135291d11050f1b27333f49536673808c99a6b3bfcfdad2c5b9aca096877a6e6154473b2e21140700000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8b99a3afbbc7d3dacec4b8ab9e9285796d6053463a2f3a4753606d7a85929facb8c5cfdad3c6baada2978a7d7064564c413529170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e58606265605b544f46423b342e271e1a1b1b1b1b1b1514120f090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c717b828c9299a0a8a79f98928b827a706b605c554e443f382f29222222222222222222222222211f1a150e060000000000000000040c12181d2020222222222222222222222222292f383f444e555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292018120b0300000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd2d2c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d2d2cec1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a979fa2aaafb5bdc2c8cecfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675818e9babb5bfcbd7ded2c5b8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dacdc0b3a79a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000004101c2834404b556773808d9aa6b3c0ced9dbcfc2b5a89c8f827569574d42372b1e12050713202d3946525d687784919eaab7c4d1d2c6b9ac9f93867a6d60697884919eabb7c4d1d6cabeb3a9988b7e7165584b3e3024190d010b17222d3d4a5764707d8a97a8b2bdc9d5d5c9bdb2a8978a7d7064574a3d2e23180c000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd2c6b9ada197897d7063554b4035414c5664717e8a98a2aebac6d7ded2c5b8ab9f9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000000103040404040404040404040404040404040100000000000000000000000000000815222e3b4754606a6f726c666059524d454039302b261f18130b06080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429333b424a505860676d747e858f949fa3aba39f9590867e756d686059514b433c332d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000040d161d24292c2d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d333d434b515a61696e787f8791969da4aba39f948f857e746d6760585049413b3229241d150d06000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000916222f3c4955626f7c858d92989fa4abb0b8bcc3c9cfcec8c2bdb5afaaa29f96918b837d756f6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717d8a99a3aebbc7d3dfd3c6baada297897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000006131f2c3845515c677683909ca9b6c3cfdcd8ccc0b6ac998c7f7366594c4031261a0e0205111d2935414c566875818e9ba8b4c1d1d4c7bbafa499897c70636e7b8796a1acb9c5d2d3c6baada297887b6f6255483c2f221508000614212e3b4754616e7a8796a1adb9c5d2d9cec0b3a69a8d807367544a4034281c10040000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4bfcad6d5c9beb3a99b8e8174675d51453946525e6875828f9caab4bfcad6d5c9bdb2a89a8e8174675c514538281e130800000000000000000000000000000000000000000000000000000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000006131f2b37434e58626f7c7e786f6b615e57514b433e373129241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e454d545b606a6f79818a92979fa6a8a199928c837b716c615e564f45403c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a2218100600000000010c161f282f35393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c404550575e666c727c848d929ea1a9a69f97928a81796f6a605b534d443e352f271f17110a0200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000815212e3b47535f6a6f7a80868e93999fa6acb1b9bdc4cad0cfc7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4754606d7a86929facb9c5d1dcd6cabeb3a9998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000713202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897d7063564a3d3023170900010d1924303f4c5865727f8b98abb4bfcbd7ccc0b5ab998c7f7266717d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d201306000714202d3946525e687884919eabb7c4d1dccfc3b6a99c908376665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664717e8a98a2aebac6d3dacfc5b8ab9f9285796d6053473a4754616d7a86929facb9c5d0dbd2c5b9ada196897c7063554b403428160c020000000000000000000000000000000000000000000000000000000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e0800000000000000030d15212e3b47535f6a75828b837d756e69605c554f47423c352f27221b140b08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22273139404550575e666c727c848e939fa2a9a59e96918780786e69625a524c48484848484848484848484848484848484848484847433c342a22180e0400000007121d2831394045474848484848484848484848484848484848484848484d545b606a6f79818a92979fa6a9a29f938e847c726c655e56504540393127221b140b05000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0006131f2b37434e585f676d737b81878f949da0a7adb2babec5cbd1cbc6bfbab2ada7a09d948f87817a736d67605b544f47433c363029241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cabb5bfcbd7dbd0c3b7aa9d908477695f53473a2d21140800000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000091623303c4956636f7c8998a3aebac7d3dfd2c6b9ac9f93867a6d6054473a2d21140700000816232f3c4956626f7c8999a3aebac7d3d2c2b5a89b8f82756873808d99a6b3c0cedacfc2b5a99c8f8276665b5044382b1f12060005111e2a36414c566875828f9ba8b5c2d2ddd2c5b8ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929facb8c4cfdad3c6baaea2988a7d7164554c424d5765727e8b99a3aebbc7d3ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a02000000000009141f2b37424e57626f7c88949089817b726d676159534d45413a332d261d19130c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5a9a29f938e847d736d665f57555555555555555555555555555555555555555555555555534e463c342a20150a0000010d18242f39434b5153555555555555555555555555555555555555555555555555585f676d747d858f949fa3aaa59d9691877f776e69615a514b433c332d261d170e070100000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00030f1b26323c464e555d60696e747c828990959ea1a8aeb3bbc0c7cfd0cac4bdb9b1aca69e99928e867f79716c666059534e46413a352f27221b140b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565727f8b99a3aebbc7d3ded1c5b8aca095887b6e6155483b3025190d01000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000c1926323f4c5965727f8c98aab4bfcbd7ddd0c4b7aa9d918477685d5245392c20130700000713202d3a4653606d7986929facb9c5d2d1c4b7ab9e9184786775828f9ca8b5c2cfd8ccc0b6ac998c807366544a3f33281c0f0300020e1925303f4c5966727f8c99acb6c0ccd8d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b3bec9d5d6cabeb4aa9b8e8275675d5146525e697683909cabb5bfcbd7d4c8bcb1a7998d8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000040e1720272e33363737373737373737373737373737373734322f2a241c140a00000000020e1a25313a47535f6a75828e9b9d938e867f79706b625f57514b443f382f2a251e17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c707b828c9299a0a8a8a197928a817a6f6b626262626262626262626262626262626262626262626262626262625f584e463c31261b0f030004101d2935404b555d60626262626262626262626262626262626262626262626262626262626c707a828b9298a2a9a8a099928c827b706c605d554e443f382f292018120b03000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000a15202a343c434c51575e616a6f767d838b91969fa2aaafb5bdc1c7cdcfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5cfdad4c8bcb1a7988c7f7265564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000005121e2b37424d576875828f9ba8b5c2d1dcdacec1b4a79b8e817468564c4135291d1104000006131f2c3845515c677683909da9b6c3d0d2c6b9ac9f93867a6d7784919eaab7c4d1d4c8bbafa49a897d7063564a3d2d22170b000000081623303d495663707c899aa4afbbc8d4d6cbbfb4aa988b7f7265584c3f30251a0e0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dbd0c5b8ac9f92867a6d60544854616e7b87939facb9c6d1dcd1c5b8aca095887c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000b15202931393f4244444444444444444444444444444444403f3b362e261c120800000005121e2a36424d57626e7b87939fa59e98928c847d756e69605d555049413c363028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429323b414950585f676d747e858f949fa3abaca19691857e756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f584e43372b1f1206000613202c3945515d676d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f777f869297a2adaba39f948f857e746d675f585049413b3229241d150d060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000040e18222a313a41454d52585f626b70787e848c92989fa3abafb8bcc2c8cecec8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6875828f9ba9b3bec9d5d9cec3b6a99c908376685e5246392d201409000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000714212d3a46535f697885929eabb8c5d1ded6cabfb4aa988b7e7265584b3f2f24190d01000004101c2834404b556774808d9aa7b3c0d0d4c8bbafa49a887b6f7986929facb9c5d2d2c6b9ac9f93867a6d6054473a2d2114060000000714212d3a4754606d7a86939facb9c6d2dcd0c1b5a89b8e827568574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4653606d7985919eabb8c3ced9d3c7baaea3988b7e7164564d5765727f8c9aa4afbbc8d4d8ccc0b6ac9d9083776a5f5341382d22170b0000000000000000000000000000000000000000000000000000000006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000714212d3a46535e6974818e99a4afaaa29f96918a827b736d67605b534e46413a342e261e1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e444d535b606a6f79818a92979fa6aeb5ab9e91847d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c766a5f53473a2e211509000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7e85929eabb5aea69f97928a81796f6a605b534c443e352f271f17110a02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000710181f282f353b42464e535960666c71797f858d92999ea5abb1b9bdc3c9cfcfc7c0bbb4aea8a19e959089827c746d68605d555049413d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd2c6b9ac9f93867a6e6154473b31261a0e020000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000815222e3b4855616e7b8897a1adb9c6d2dfd3c6baaea298887c6f6255493c2f221608000000000c18232e3e4b5864717e8b97a9b3becad6ccc0b6ac978a7d707a8799a3aebbc7d3d0c3b7aa9d908477685d5245392c2013070000000613202c3945515d677784919daab7c4d0ddd1c4b7ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6673808d9aa8b1bdc8d4d6cbbfb4aa9c8f8275685d535f697783909dacb6c0ccd8d4c8bbafa49a8c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070005111e2a36414c56616e7b86929fabb5b4aea8a09e948f87807a716c656058524c443f38302a251f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227313940454f565e656c727c838e929ea2a9b0bbb9aca196918a8888888888888888888888888888888888888888888888888888888888888888887c6f6255483c31261a0e05111e2a36414c5665727f8888888888888888888888888888888888888888888888888888888888888888888a9297a2adb9bbb0a9a19e928e837c726c655e564f4540393127221b140b020000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000070d161e242930363c43474f545b60676d727a80878f939d9fa7acb2b9bec5cbd0cbc5bfbab2ada7a09d948f87817a736d67605b534f47423c363029231d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3ced9d4c7bbafa4998b7e7265574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000b1825313e4b5864717e8b97a9b3bec9d5dfd2c5b8ac9f9285796d6053463a2d201307000000000715222f3b4855626e7b8897a2adbac6d3d2beb2a5988b7f727c8895abb5bfcbd7cdc1b4a79a8e817467564c4135291d110400000004111d2935414c556874818e9ba7b4c1d1dcd2c5b9ada196877b6e6154483b2e2115070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c5d1dcd0c5b9ac9f92867a6d6155616e7b88959fabbec7d2ddd2c6b9ac9f93877b6e6154483c3121140a00000000000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000714202d3946525e6874808d99a3aebdbfbab2aca69e99928d857e786f6a615e56504a423d363129241d150d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c434b515961686e777f8691959da5adb3bbc2bdb2a8a19e9695959595959595959595959595959595959595959595959595959595959595958c7f7366574d42362a1e120714202d3946525e687683909595959595959595959595959595959595959595959595959595959595959595979ea2a9b3bec2bbb3ada59d9591867f776e686159514b433c332d261d140a0000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000040c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6ccd0cac4bdb9b1aca69e99928d857f79716c656059534e46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8d4d7ccc0b5ab9c908376695f53463a2d21160a0000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000004111d2935414c566774818e9aa7b4c1cfdadccfc3b6a99c908376665c5044382c1f1206000000000613202d394653606c7985929fabb8c5d2ccbfb3a6998c80737d8a96a3b0bdd1d6cabeb3a9988b7e7165584b3e2f24190d01000000010d19242f3f4b5865727e8b98abb4bfcbd7d5c9bdb2a8978a7d7164574a3e2f23180c00000000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d3c7bbaea3998b7e71655766727f8c99a7b1bcd0d9d7cbbfb4aa9c8f8276695e52463a2d2014020000000000000000000000000000000000000000000000000000000000101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d000814212e3b4754616e7a86929faab2bac2c4bdb9b0aba39f97918b837c746d68605c544f46423b352f271f1a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f444e555d606b707a828c9299a0a8afb9bebcbcbcbab2acaba3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d908377695f53463a2d21140814212e3b4754616e7a86939fa2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a4abadb3bbbcbcbcbeb9afa8a099928c827a706b605d554e443f382f261b110600000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7d1dcd2c7b7ab9f94887b6e6155483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000613202c3945525d687784909daab7c3d0ddd9cdc0b3a69a8d807367544a3f34281c10030000000005121f2b3744505b6576828f9ca9b5c2cfcdc1b4a79a8e81747e8b98a4b1becbd3c6baada297887b6e6255483b2f22150800000000000816232f3c4956626f7c8999a3aebac7d3dacfc0b3a79a8d807467554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a6b0bcc7d3d7cbbfb5ab9c8f8276685f697783909daab7c3cdddd3c7baaea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000b1825313e4b5864717e8b9298a1a8b0b8c0c9c1bdb5aea9a19e959087817a726d666059534d454039312c241a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414950585f676d747d858f949fa3abb1afafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaca095887b6e6155483b302519111d2935414c5665717e8b99a4afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafb1aba39f948f857d746d675f58504941382d22170b00000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb5bdc2c8cecdc8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c0701000000000000000000000000000000000000000000000000000000000000000000000c18232e3947545f6a7783909dabb5c0cbd7d3c7bcb0a6998c7f7366584e43382b1d130700000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000714212d3a4754606d7a86939facb9c6d2dfd5c9bdb2a8978a7d7164574a3e2e23170c0000000000030f1b27333f49536673808c99a6b3bfcecfc2b5a89c8f82757f8c99a5b2bfccd2c5b8ab9f9285796c605346392d20130600000000000713202d3a4653606d7986929facb9c5d2dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000f1b27323c4855616e7b88949fabb7c6d1dcd1c5b9ac9f92867a6d626e7b8895a0acb8c4d1dfd2c5b9ac9f92867a6d6054473b30251a0e020000000000000000000000000000000000000000000000000000000000131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f000a1724303d4956616c717e8691969fa6aebabfc5c6bfbbb3ada79f99938e857f78706b615e57514b433e362c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b606a6f79808a92979fa6a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3acafb1a7988c7f7265564c41362a1e13202c3945525d6876828f9cabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a69f97928a80796f6a605b53493f33271b0f03000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4abb0b8bcc3c9cfcfc7c0bbb4aea8a19e959089827b746d68605c555049413d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7d3d8cdc2b7aa9e9184776a6054473a2f24180d01000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c5b9ada196877b6e6154483b2e2115060000000000000b17222d3d4a5763707d8a96a8b2bdc9d0c3b6aa9d908377808d9aa7b3c0cdcfc2b5a89c8f8275655b5044372b1f1205000000000006131f2c3845515c667683909da9b6c3d0dcd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909cabb5bfcbd7d3c7bbafa3998b7e7166737f8c99a7b1bcc8d4d6cabeb3a99b8e8275685d524539291f1409000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000815212d3945505a626c717c848f949ca4aeb4bcc3cbc4beb9b1aba49f97928b837d756e69605d5550483e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656c727c838d92969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969fa4aba99c908376685e5246392d2014212d3a4754606d7a86929facaba39f96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696928d837c726c655b5044372b1f1205000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e93999fa6acb1b9bdc4cad0cbc5bebab2ada7a09d948f87817a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616e7a86929facb9c5cfdbd2c5b9aca096897c6f62554b4035291d1104000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003101c28343f4a546673808c99acb6c0ccd8ded1c4b8ab9e918478695e52463a2d2014070000000000000614212e3a4754616d7a8796a1acb9c5d1c4b8ab9e918578818e9ba7b4c1ceccc0b5ab998c7f736653493f33271b0f03000000000004101c2834404b546774808d9aa7b3c0d0dbd3c7baaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3d7cbc0b5ab9c8f8276697783909daab7c3cdd9d3c6baada2978a7d7064564c413529170d02000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f0005111d28343e48505a626a6f7a828d929fa2aab2bac1ccc9c2bdb5afa9a29f959089817b736d67615a50483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f868989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898a9399a4ac9f93867a6e6154473b2f241c2934404b5564717e8a99a3aea399928a898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989867f786c605346392d201306000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7adb2babec5cbd0cac4bdb9b1aca69e99928d857f79716c656059534d46413a342f27221b140b03000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3becad6d4c8bdb2a89a8d8174675d5145392c20160a000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000006121f2b3844505c6676838f9ca9b6c2d2dddbcec2b5a89b8f827568574d42362a1e12050000000000000713202d3946525e687884919eabb7c4d1c5b9ac9f928679828f9ca8b5c2cfc7bbafa499897d7063564a3d2d22170b000000000000000c18232e3e4b5864717e8b97a9b3becad6d7cbbfb4ab988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd1c5b9ac9f92867a6e7b8895a0acb8c5d5ded2c5b8ab9f9285796d6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f00000c17222d363f48505860686d78808a9298a0a8afbbc0c7d0c7c0bbb3ada7a09d938e868079716c615a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a7d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d87939faca4998b7e7165554c4135291f2c3845515c6775828e9babac9f92877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7a6d6054473a2d211407000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c828990959ea1a8aeb4bbc0c7cfcfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d150d0300000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6d1d9cec3b8ab9f92857a6d6053473d32271b0f020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000713202d3a4653606d7985929facb8c5d2dfd7cbc0b5ab988c7f7265594c3f30251a0e0200000000000005111e2a36414c566875828e9ba8b5c1d1c7baaea399867983909ca9b6c3cfc6b9ac9f93867a6d6054473a2d211406000000000000000715222f3b4855626e7b8897a2adbac6d3dcd1c2b5a89b8f827568574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4becad6d3c7bbaea3998a7e727f8c98a7b1bcc8d4d5c9bdb2a89a8e8174665c514538281e130800000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f000006101b242d363f464e565e666d737e8691969ea5afb5bdc5cdccc5bebab1aca59e98928c847e716c6155493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707076838f9cacab9c8f8275675d5145392c202d3a4753606d7985929facac9c8f837670707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d685d5245392c201307000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d838b91969fa2aaafb5bdc1c7cdcdc8c1bdb5afaaa29f96918a837d756e69615e56514b443f382f271f150b010000000000000000000000000000000000000000000000000000000000010d1925303b4653606d7985929eabb4bfcbd7d3c6baaea2988b7e7265594f43382c1e14080000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000916222f3c4955626f7c8898a2aebac6d3dfd4c7bbafa399897c6f6356493c3023160900000000000000010d1925303f4c5965727f8c98abb5c0cbcbbfb4ab94877b84919daab7c4d0c3b7aa9d908477675d5145392c201306000000000000000613202d394653606c7985929fabb8c5d2ded1c4b8ab9e918578695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d3d7cbbfb5ab9b8e817683909ca9b6c3ced9d2c5b9aca196897c6f63544b403428160c0100000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f00000009121b242d343d444c545c606c717c848f939fa4abb3bbc3cbd0cac3bcb8afaaa29f96918a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636365727f8b9aa4ac9f92867a6d6054473a2e28343f4a5463707d8a98a2aea49a8b7f726563636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000003090e161b1e272e343a41454d52585f626b70787e848c92989fa3abafb8bcc2c9cecfc7c0bbb3aea8a19e959089827b746d68605c555049413931271d120700000000000000000000000000000000000000000000000000000000000008141f2c3845515c6773808d99a3aebac7d2d6cabeb3aa9d9083776b6054483b3025190d0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000c1925323f4c5865727f8b98aab4bfcad6dfd2c5b9ac9f92867a6d6053473a2d2014070000000000000000081623303c4956636f7c8999a3afbbc7d1bbafa295887c85919eabb8c4cdc1b4a79a8e817467554c4135291d11040000000000000005121f2b3744505b6576828f9ca9b6c2cfdcd2c6b9ada197887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929fabb8c4cfdad1c5b8ab9f92857a87929facb9c5d2ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f0000000009121b222b323a424a505a616a6e79818c9399a1a9b1b9c0cbd1cec8c0b6aea49d928d80736c6155493d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656616e7b87939faca3998a7e7164554b40342b3844505c6674818e9baaac9f93877b6e615656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524c443a3024190d01000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000040a0c151c23282f353b42464e535960666c71797f858d92999ea5abb1b9bdc4cacfcbc5bebab2aca79f9d938f87807a726d67605b534b43392f23180c00000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b86929fabb5c0ccd7d0c5b8aca095897c6f63564c41362a1d130700000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000005111e2a36424d576875818e9ba8b4c1d0dbddd0c3b6aa9d908377675d5145392c20130600000000000000000714202d3a4753606d7a86929facb9c5c9bcafa396897d85929facb8c5cabeb3a9978b7e7164584b3e2f24190d0100000000000000030f1b27333f49536673808d99a6b3c0cfdad5c9beb3a9978a7e7164574b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b2bdc9d5d3c6baada2978d818d99a3afbbc7d4d4c8bcb1a7998d8073655b5044372b1f12070000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000091019202930383f4450585f676d777f8792979fa7afbabfc6c9c0b7aea49d928d80746e645a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a414547494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949525e697683909da9ab9b8e8275675c5145382d3a4653606d7985929eaba99d908376695e524949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494745413a32281e130800000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000030b12181e242930363c43474f545b60676d737a80878f939d9fa7acb2b9bec5cbd0cac4bdb9b1aba69e99928d857f79716c655c554b4034291c10040000000000000000000000000000000000000000000000000000000000000c18232e3946525e6874818e99a4afbbc7d4d4c8bcb1a79b8e8175685e52463a2f24180d00000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000714202d3a46525e697884919eabb7c4d1dedacdc0b4a79a8d817467554b4035291d1004000000000000000006131f2c3945515d677783909daab7c3cabdb0a4978a7d86939facb9c6c6b9ada197887b6e6255483b2f2215080000000000000000000b17222d3d4a5764707d8a97a9b2bdc9d5dacfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8996a1adb9c5d2d6cabeb3a99d928d929dabb5c0cbd7d1c4b8aca095887b6f6253493f33271b0f030000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000070e171e262e343e464e555d656c727d8590959da5aeb4bdc0b7aea49d928d80746e645c52483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d424d5766727f8c99a7ac9f9285796d6053463a2e3d495663707c8997a1ada7988c7f7265574d423d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3935302820160c0200000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000070c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6cccec9c3bcb8b0aba39f98928c847e776d675c5145382c1f130600000000000000000000000000000000000000000000000000000000000007121d2a36414d56626e7b87939facb9c2cdd8cec3b9ac9f92867a6e61554b4135291d1207000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000814212e3b4754616e7b8796a1acb9c5d2ded6cabeb3a9978b7e7164584b3e2f24180d01000000000000000004101d2935404b556774818e9aa7b4c1d0bfb2a6998c7f8c9aa4afbbc8c5b8ab9e928578695f53473a2e2114080000000000000000000614212e3b4754616e7b8796a1adb9c5d2ddd0c3b6aa9d908377675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eabb8c3ced9d0c5bcaea49d9a9da4aebdc7d1d7ccc0b5ab9d9083776a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000050c141c2328343c434c535b606b707b838e939fa3abb2b7afa59d928d80746e645c524a40362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303b4855616e7b8895a0aca2988a7d7063544a3f37434e586774808d9aa9aca095887b6e6155483b30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c29241e160e040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f96918a83796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000e1925303b47535f6975828f9ba6b0bbc7d3d3c7bbaea3998c8073675d5145392e23180c000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000b1724313e4a5764717d8a97a8b2bdc9d5dfd3c6baada297887b6e6255483b2f221507000000000000000000000c18242f3e4b5865717e8b98aab4bfcac5b8ab9f9285929facb6c0ccc2b5a89c8f827569574d42372b1e12060000000000000000000714202d3a46525e697885919eabb8c4d1ded2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6673808d9aa7b1bcc8d4d7cec0b6aea9a7a9aeb6c0cfd9d4c7bbafa4998c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f0000000000000000020a1117222a313a4149505960696e79818b9299a1a8afa59d938d80776c605c524a40382e241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232d3a46535f697783909daaaa9a8e8174665c50443b4754606a7884919eabaa9d908377695f53463a2d2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201d19130c04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb6bec2c8cecfc7c0bbb3aea8a19e95877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000008141f2b37424d57626f7c89949fabb7c3cdd7cbbfb5ab9f92857a6d60554b4034281c11060000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000004101d2935404b556774808d9aa7b3c0cedaded2c5b8ab9f9285796c605346392d201306000000000000000000000715222f3c4855626f7b8898a2aebac6c6baaea2989298a2aebec7cbc0b5ab998c7f7366594c4031261a0e0200000000000000000005111e2a36424d576875828f9ba8b5c2d2ddd3c7bbafa399897c706356493d30231609000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acb8c7d2ddd2c8c0b9b5b4b5b9c0c8d2dfd2c6b9ac9f93877b6e6154473c3121140a00000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f00000000000000000000060f181f282f383f444f575e676d747e8791969fa59d938e81776c655b504a40382e261c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161e2a36424d5766737f8c99a8ab9e9285796d6053463c4955626f7c8896a1ada8998c7f7366574d42362a1e1616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161413110d080200000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4acb0b8bcc3cbd1cbc5bebab2aca793877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8d4d1c6baada2978c7f72675c5145382e23170b0000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000006131f2c3945515d677683909da9b6c3d0dcdccfc2b5a99c8f8276655b5044372b1f1205000000000000000000000613202d394653606c7985929facb8c5cabeb4aaa29fa2aab4bed0c7bbafa399897c706356493d3023160900000000000000000000020e1a25303f4c5966727f8c99acb6c0ccd8d7cbc0b5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6a7784919dacb6c0ccd8dad2cbc5c2c0c2c5cbd2dad6cbbfb4aa9c8f8276695e52463a2d20140200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f0000000000000000000000060d161d262d333d454d555c606d727c848f949d938e81776c655b53493f382f261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0e1a26313c4855626f7b8896a0aca197897c6f635649424e576673808d99a8aca096887b6e6255483b31261a0e0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e939a9fa6acb1b9c3ced7d0cac4bdada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000915202b37434e5863707d8995a0acb8c4ced6cabeb3a99e9185796d60544a3f34281d120700000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000714202d3a4753606d7a86929facb9c5d2dfd9ccbfb3a6998c80736653493f33271b0f030000000000000000000006121f2b3844505b6676838f9ca9b6c2d0c5bcb4aeabaeb4bcc5d0c5b9ac9f92867a6d6053473a2d2014070000000000000000000000091723303d4a5663707d899aa4afbbc8d4dcd1c2b5a89c8f827569574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866727f8c9aa4afbbc8d4e0dcd6d1cecdced1d6dce0d3c7baaea3988b7e7164564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000000000000040b141b2227333b434b515b626a6f7a828d928e81786c655b534941382d261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7784919daaa99a8d807467584e47535f6a7784919daaaa9d9184776a5f53473a2e1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7b1bcc6d0dbd6cebaada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000030f1b27323d4855616b7783909da8b2bdc9d5cfc5b9ada1978b7e72665c5044392e23180c01000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000a1623303d495663707c8999a3afbbc7d3e0d4c8bdb2a8968a7d7063574a3d2d22170b0000000000000000000000030f1c28333f4a546673808d99a6b3c0cfcec5bebab8babec5ced0c3b6aa9d908377675d5145392c20130600000000000000000000000714212d3a4754606d7a86939facb9c6d2ded1c5b8ab9e928578695f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4854616e7b87939facb9c6d1dce7e2dddbdadbdde2e3dfd2c5b8ac9f92867a6d6054473b3025190e0200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000020a1117212931394045515860686d78808981786c665b534941382f261b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a8ab9e9184786a5f544855626e7b8895a0aca8998d807366584e43372b1f0e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c82899095a0aab4bfcad6d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a0acb9c4ced5c9beb3a99e9184786d60554b4034281e1308000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030f1b27333f495366727f8c99abb5c0cbd7ded2c5b9aca096877a6d6154473a2e2114060000000000000000000000000b17222d3e4a5764717d8a97a9b2bec9d5d0cac6c5c6cad0d7cdc0b4a79a8d817467554b4035291d110400000000000000000000000713202c3945525d687784919daab7c4d0ddd2c6b9ada197887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535e697683909cabb4bfcbd7d6d6d6d6d6d6d6d6d6d6cabeb3a99b8e8175675d514539291f14090000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000000000000000000060f171f272f343f464e565e666d737c786d665b544a41382f261d140a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c4955626f7c8896a1aca196887c6f62554d5766727f8c99a8aca196887c6f6255493c31261a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d839098a2aebac6d3d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000004101c27333d4653606d7884919ea8b2bdc9d5cfc4b9aca0968b7e71675c51453a2f24190d020000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000005121f2b3744505b6575828f9ca8b5c2d1dcddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000615212e3b4854616e7b8797a1adb9c6d2dbd6d3d2d3d6dbd5c9beb3a9978b7e7164584b3e2f24180d01000000000000000000000004111d2935414c566875818e9ba8b4c1d1dcd6cabeb3a9978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebac7c9c9c9c9c9c9c9c9c9c9c9c6b9ada2978a7d7064554c413529170d020000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f00000000000000000000000000000000050d151d2329343d444c545c606b706d665c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7884919eaba8998c80736657525e697683909da9ab9e9184786a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d85929facb8c5d2d3c6baada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b161f2b3844505c66727f8b96a1acb9c3cdd5c9bdb2a89e9184796d60554c4135291e14080000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000613202d394653606c7985929eabb8c5d1d6d6cec1b4a89b8e817568564c41362a1d11050000000000000000000000000714202d3a46525e697885919eabb8c4d1d6d6d6d6d6d6d6d2c6b9ada197887b6e6155483b2e221507000000000000000000000000010d19242f3f4c5865727f8b98abb5bfcbd7dacfc0b4a79a8d817467554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a86929facb9bdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000030b1218222b323a424a50596063605c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586773808d9aa9aa9d908477695f54616e7b87939faca99a8d807367584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a9298a2aebac6d3d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7984919ea7b1bcc8d4cec4b9aca1968b7f72675d51453b3025190b0200000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000815222f3b4855626e7b8897a2adb9c6c9c9c9cbbfb4aa988b7f7265584c3f3025190d0100000000000000000000000005121e2a36424d576875828f9ba8b5c2d2c9c9c9c9c9c9c9c9c5b8ab9e928578695f53463a2d211407000000000000000000000000000816232f3c4956626f7c8999a3aebbc7c9c9c9c3b7aa9d908477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525d6875828f9ba9b3b0b0b0b0b0b0b0b0b0b0b0b0b0b2a89a8d8174665c514438281e13080000000000000000000000000000000000000000000000000000000000000000000000000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b00000000000000000000000000000000000001071019202930383f444f545653504a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4956636f7c8997a1aca095887b6e615665727f8b9aa4ada196897c6f6356493c32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949fa2aab4bfcad6dbc6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515c66717e8a95a0acb8c2d0d5c9bdb2a89e92857a6d60564c41362a1d140a00000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000b1825323e4b5865717e8b98a9b3bebdbdbdbdbdbaaea398897c6f6256493c2f23160800000000000000000000000000020e1a25303f4c5966727f8c99acb6c0bdbdbdbdbdbdbdbdbdbdb5a89b8f827568574d42372b1e1205000000000000000000000000000713202d3a4653606d7986929facb9bdbdbdbdbdb9ac9f93867a6d6054473a2d2114060000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717d8a97a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a196897c6f63544a403428160c010000000000000000000000000000000000000000000000000000000000000000000000000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000070e171e262e343d44484946443f3830261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7884919eaba7998c7f72665e6876838f9cacab9e9184786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6aeb4bcc6d0d7cfcabaada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54606c7883909da6b0bec7d2cec4b9ada1978c8073685e52463d2f261c1106000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005111d2a36414c566874818e9ba7b0b0b0b0b0b0b0b0ac9f9286796d6053463a2d2013070000000000000000000000000000091623303d495663707c899aa4afb0b0b0b0b0b0b0b0b0b0b0b5ab998c7f7266594c3f31261a0e020000000000000000000000000006131f2c3845515c677783909daab0b0b0b0b0b0b0afa499897d7063564a3d2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4753606d79859296969696969696969696969696969696969184786c605346392e231806000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d1206000000000000000000000000000000000000000000050c151c232832383b3d3a38342e261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d9aa9a99d90837669616d7a86929faca99a8d8074655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0babfc6ced1cbc5beb9b2a093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000c18232e3944505b66707d8a949facb6c0ccd6cabeb3a99f92867a6e61584e42382d22170b020000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000713202d3946525e687784919da3a3a3a3a3a3a3a3a3a39d908376665c5145382c1f130600000000000000000000000000000714212d3a4754606d7a86939fa3a3a3a3a3a3a3a3a3a3a3a3a3a399897c706356493d30231609000000000000000000000000000004101c2834404b556774818d9aa3a3a3a3a3a3a3a3a3ab998c7f736653493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c6774818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d0100000000000000000000000000000000000000000000030a111721272c2f302d2b28231c140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d8997a1ac9f93877b6e64717e8b99a3ada197897d706353493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2cad0cfc6bfbab3ada8a093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54616b76828f9aa4afbbc5d0cfc5baaea2988e81746a60544a3f33281e14080000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212e3a4754616d7a87969696969696969696969696968d807367544b4034281c100400000000000000000000000000000613202c3945515d6777849196969696969696969696969696969692867a6d6053473a2d2014070000000000000000000000000000000c18232e3e4b5864717e8b9696969696969696969696968f8276655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000000000000000000000000060c161b202223201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eaba49a8b7e726775828f9babab9e9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29e9691877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa9b3becad6cabfb4aa9f93877c6f665b50443b3025190d0400000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e2e23180c00000000000000000000000000000004111d2935414c556874818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377675d5145392c1f13060000000000000000000000000000000715222f3b4855626e7c888a8a8a8a8a8a8a8a8a8a8a8a8a85796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e696e707070707070707070707070707070707070706d685e5241382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000010b151d252c30343535353535353535353535353535353532312e29231b1309000000000000000000000000000000000000000000000000000000040b101316161312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674818e9aaaac9c8f82766d7a86929facaa9a8e8174665c5044382b1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb7afaba39f97928b847e71685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3e4754606a74818e97a2adbac3d0d0c6bbafa4999083786c60564c41362a20160c01000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d211407000000000000000000000000000000010d19242f3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62554b4035291d10040000000000000000000000000000000613202d394653606c787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d575e6163636363636363636363636363636363636363615e564c412f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282828282828282828282828282828282524221d1811090100000000000000000000000000000000000000000000000000000000000407090a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5463707d8a98a2ac9f92867a717d8a98a3aea2988a7d7063544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b0aba59e99928d857f79716c61564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa7b1bec7d2ccc0b5aba0958b7f72685e52463d32281e1308000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212d3a46535f696e7070707070707070707070707070706d685d5245392c201306000000000000000000000000000000000814212d3a46535f696e70707070707070707070707070707070706f6a5f5343392f24180c0000000000000000000000000000000006121f2b3844505b666c7070707070707070707070707070706d665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b454d52545757575757575757575757575757575757575754524c443a301d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7985929faba3998a7e75818e9baaab9f9285796d6053463a2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca69f9c938e86807a726d66615a50433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000020b1b27323c46525e68727f8b95a0acb6c0ccd2c7bdb1a79f92857a6e61594f443a2f24190e050000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005121e2a36424d575f61636363636363636363636363636363605d564c4135291d11040000000000000000000000000000000005121e2b37424d575f616363636363636363636363636363636363625f584e4331271d120700000000000000000000000000000000030f1c28333f4a545b60636363636363636363636363636363605c544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e0b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675818e9baaab9b8f827985929fabaa9b8e8175665c5145382c1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2c8cecfc6bfbab3ada8a09e949089817b736d68605c5450483e31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4afbbc4cfd0c3baada2978e81746b60564c41352920170d0200000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300020e1a26313b454d535557575757575757575757575757575754524c433a2f24190d0100000000000000000000000000000000020e1a26313c454d5355575757575757575757575757575757575755534e463c321f150b0100000000000000000000000000000000000b17222d38424a505357575757575757575757575757575753514b42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5464717d8a98a2ac9f92867d8a97a2ada2988a7d7064544b4034281c0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29f96918a837c756e69605d56514a423e362c1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303a44505c666f7d88939fa9b2bec9d5cabeb3a99e93897d70685d52453e32291f140800000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a31281e130800000000000000000000000000000000000009141f2a333c4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a200d0300000000000000000000000000000000000006111c262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4645403930271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e303030303030303030303030303030303030302e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4753606d7986929faca2989184919ea9ac9f9286796d6053473a2e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6a615f57524c444039302c241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28343f4a54606b74818e97a1adb9c1cdd0c5bcafa59e91847a6d605a50443b3025191107000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c01000000000000000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e00000000000000000000000000000000000000000a141d262d3338393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242421201d19130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6775828f9babaaa0969196a0acab9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b1aba59e99928d857f79716c626058534d45413a342e271e1a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17232e38424f59606d7a84919ea5afbbc5cfcec1b9ada1968e81756c61564d41362a23190e050000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000060f181f262a2d2e3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000060f181f262b2d2e30303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000020b141c22282b2d3030303030303030303030303030302d2c28231d150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a99a3aea8a09ea0a8aea3998a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544e46423b353028231c150c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45525d68707d8a939ea9b3becad5c9bdb2a89e938a7e71685e52463f352b20170c0300000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000060d141a1e212224242424242424242424242424242421201d19130c0400000000000000000000000000000000000000000000060e141a1e2122242424242424242424242424242424242422211f1b150e0700000000000000000000000000000000000000000000020a11171c1f20242424242424242424242424242424201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4754606d7a86929facb2acaaacb2ac9f92867a6d6054473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f2215060000000000000000091623303c4956636f7c8996a2afbcc9d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089817b736d68605c545047433d363129241e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c56616c75818e97a1adb9c0cccfc4baafa59e92857a6e615b51473d33291e150b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003090e1214151717171717171717171717171717171413110d080100000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000060b0f12131717171717171717171717171717171313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6775828f9cabb5b9b7b9b5ab9c8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232261b0f03000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d6c9bdb0a3968a7d7063574a3d2d22170b00000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69605d56514b423e38322a261f19130c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7a85929ea5afbac3cfccc1b9ada1978f82756d62594f453b30271d1207000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040100000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000306060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565717e8b99a3afbbc4bbafa3998b7e7164554c4135291d0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1f1409000000000000010e1b2834414e5b6774818e9aa7b4c1cddad8cbbeb2a5988b7f726553493f33271b0f03000000000000000b1824313e4b5764717e8a97a4b1bdcad7dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302b27201a140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46525e68707e8a939da8b2bdc7d1cabeb3a99e948c7f726b60574d42392e231811080000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5b9ac9f92867a6d6154473a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776a5f54473b31251a0e04000000000005111e2a36414c566976828f9ca9b5c2cfdcdacdc1b4a79a8e8174655b5044372b1f150a000000000000000c1926333f4c5966727f8c99a5b2bfccd8dacdc1b4a79a8e8174675b4e4134281b0e000000000000040a0c151c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d45413a342e271e1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36414c56616c74818e96a0abb5c0cbcfc5bbb0a69f92877d70695e544b403428231a100700000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6876828f9cacb6c0b6ac9c8f8276685e5246392d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8aca095887c6f62574d42362a20160d03000000000713202d3946525e687885919eabb8c4d1deded1c4b8ab9e9184786c6053463c31261a1107010000000006121e2a36424d576875828e9ba8b5c1cedbd9ccc0b3a6998d8073665a4d4033271a0d0000000000070e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303b44505a606d79849199a3afbbc1cccdc1bbafa39992857b6e665c51453f352c22190f06000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b9aa4afbbafa49a8b7e7265564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8e8174695e53463d32281f150c070506080f17212e3a4754616d7a8797a1adb9c6d2dfdfd2c6b9ada197897c6f62584e43372b2318120b060606070e18212d3a46535f697884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c0000000007101820262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089827b746d68605c545048433d363129241e18120b030000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b08141e29323e45515d676f7c87929fa6b0bac4cecbc0b5aba1979083786d605a50473e342b21180e050000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9ac9f93877b6e6154473b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9cdc3b9ac9f92867b6e61594f443a31271e181311131419212a36414c5664717d8a97a9b2bec9d5e1e1d5c9beb2a99b8e81746a5f53473f3529231d1713121313182028343f4a54616e7b8896a1acb9c5d2ded7cabeb1a4978b7e7164584b3e3125180b000000071119222a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615d56514b423e38322a261f19130c07000000000000000000000000000000000000000000050b1013161617171717171717171717171717171717171717171717171717171717171717171717171717202935404b55606a727f8c939ea8b2bcc6d0c7bdb3a99f958d80746c62594f463d332a20170d0500000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3946525e687683909ca9b6a99c908376685e5246392d1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe0d3c7baaea3988e81746b60564c4339302924201d1f202429333b46525e6875828f9ca8b5c2cfdae6e6dacfc4b9ac9f93877c6f625b51473e342f2722201f1f202429323b44505c6673808c99a8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000050f19232b343c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302c27211a140d0802000000000000000000000000000000000000000000070f161c2022232424242424242424242424242424242424242424242424242424242424242424242424242424242f3a434e58606c77828f96a0aab4bfcacfc5bbb1a79d928b7e716b61584e453c322920160e05000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d5665727f8c98a7b1a7988c7f7265564d41362a1e0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe3d7cbbfb4aa9f93877d70685d554b423b352f2d292c2d2f353c454e58616d7a86929facb9c5d2dfece7e0d4c7bbafa4998f82756d635950454039332d2d2b2c2d2f353b444d57606d7884919eabb8c4cedadfd2c5b9ada196887b6e6155483b2e22150800000b16212b353d464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d46413a342e271e1b160e09030000000000000000000000000000000000000000000007111921272c2f3031313131313131313131313131313131313131313131313131313131313131313131313131313131313d44505b656d7a849198a2aebabfc9cdc2b9aea49f92877d706a60574d443b322820170e050000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b8795a0ab9f95877b6e6154483b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dcd1c6bbafa49991847a6d675c544d45403a3935383a3b41454e57606a74808d99a3afbbc7d3e0e3dcd5d1ccc0b5ab9e948c7f726b615a514b443f3b3a38383a3b40454d565f69727f8c96a1adb9c5d6e0ded1c4b7ab9e918478695f53463a2d2114070004101c27323d474f585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3f49535d686f7c86929fa4aeb7c1cbcbc0bbafa39992867c6f695f564d443a322920170f0600000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3a46535e697783909daa9d908377695e53463a2d1f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe2d7ccc0b5aba1968f82796d665f57514b4746414547484c52585f696f7c88939fabb5c0cbd7e3dad2cac5c1c0bdb0a69f93877d716c605c5550494746444546484b51575f686e7b86929fa9b2bdc9d5e8dacec1b4a79b8e817468574d42372b1e1205000713202c38444f59606a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555048433d363129241e18120b03000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4c565f6a717e8b929ca5afb9c2cfcbc0b5aba29892857b6e685e564c443b322921180f06000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a7998c7f7266574d42362a1e0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ebe2d9d2ccc7bdb2a89f948f82786e69605d5554524c515354565d606a6e7b84919aa4afbdc7d1dcdfd2c8c0b9b5b3b8baafa49992877e736d67605b53545350515354555d60696e7a839098a2aebbc4cfdadfd3c7bbb0a6978b7e7164584b3e31261a0e02000916222f3b4854606b707c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b433e38322a261f19130c07000000000000000000000000000000000000000000000000000004101c27333d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758616c73808d939ea6b0bdc6d1c7bdb4aaa19791847a6e685e564c443b332921180c030000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4855626e7b8895a095887b6e6255483b31251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9d0c7c0bbb9bbb0a69e948f837b726d6763615d565c606164686d737c849196a1acb6c0cfd9e1d7cdc0b6aea8a6abaeb3aba399928b8079716c656361605c5c606164676d737b849095a0aab4bfcdd6e0dcd0c3b7ab9f94877b6e6154483b2e21150900000a1623303d495663707d888f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039302c27211a140d08020000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646c77818e949fabb4bfcbcfc6bcb3a9a19690837a6d685e564d453b33291e150b0000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000914212e3a47535f697784919d908477695f53473a2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd2c7beb6afacafb6b0a69e9590857f7a74706d686b676d6e71757a80869196a1a8b2bec7d2e1dbcfc5bbaea49c999fa2aab3aba39f928d847e7874706e6d66676d6e71747a80869196a0a7b1bcc6d0dfdfd4c8bcb1a79c8f8276695e53463a2d21140700000a1724313d4a5764707d8a9a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e271e1b160e090300000000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717179839099a3aebac7d3cec5bbb2a8a09590837a6e685e574d453b30271d120700000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808c998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8ccc0b6aca49fa4acb4b0a79f98928c85817d7a7978797a7b7e81858d9298a1a8b2bac4d0d9e0d6cabeb3a99c928d9298a2aeb4aea49c96918a84817d7a797878797b7e81858c9298a0a8b1b9c3ced8e1d6cdc4b8aba095897d7063574d42362a1e120500000a1724313d4a5764707d8a97acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f46423c353028231d150c0a04000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f86929facb9c5d2d7cdc4bab1a7a09590837a6e695f574d42392e23180c00000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4855626f7c8896887c6f6255483c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c8bbafa49a939aa2aab4b1aaa29f97928d8a8786858586878a8e92979fa3aab2bac4ccd6e1d8cec6b9ada2978d8086929fa9b2baaea8a19e96918d898786858586878a8e92979fa2aab2bac3cbd5e0d9cfc4bbb0a69d9083776b6054453b31251a0e0200000a1724313d4a5764707d8a97a3b0bdc8cecfc7c0bbb3ada8a19e959089827b746d68605c555049413d373129251e18120b03000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b9299a3aebac7d3dfd6ccc3b9b1a7a09590847b6e695f544b4034281c1004000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a77849184776a5f53473a2a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ac9f93869298a2aebab3aea9a19e9a96999291929894979b9fa2a9aeb4bcc4ccd6ded9cfc6bcb1a79e92857a7f8c96a1abb5bab2aca9a19e9a96999391929794979b9ea2a9aeb4bcc4ccd5ddd8d1c7bdb3a99f948a7e7164594f4433291f14090000000a1724313d4a5764707d8a97a3b0bdcdc8c1bdb5afa9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778390979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797989fa3abb4bfcbd7e3ded5cbc3b9b1a7a09691847b6e665c5145382c1f1306000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586773808d807366584e43372b180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cec1b4a79b8e8186929fa5afb9bab3adaba7aba39f9e9fa2aaa4a8abadb3babfc6cfd6dfd7d0c7bdb4aaa0958c7f7379849199a3afbbbdb9b2adaba7aba49f9e9fa2a9a4a7abadb3babfc6ced5ded7cfc6bfb5aba1978f82786c6053463d3320170d030000000a1724313d4a5764707d8a97a3b0bdc3bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a140d0802000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5acaeb4bdc6d1dce7e7ddd5cbc3b9b1a8a0969184796d6053463a2d201307000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4956626f7c897c6f6256493c31261b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c939ea7b0b8beb9b8b4b4aeacabacaeb4b1b4b8babec5cbd1d8d9d5cdc5bdb5aba3989083796d6f7d87929fa3afb6bebdb9b8b4b5afacababadb3b1b4b8b9bec5cad0d8d9d4cdc5bdb5aea39991857a6e665b5044382b1f1205000000000a1724313d4a5764707d8a97a3b0bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b9babfc6cfd8e2edefe7ddd5cbc3bab2a8a196867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7883786c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f79818f959fa6afb9bec5c0bfbab9b8b8babfbdc1c5c6cacfd7d7d4cec9c2bbb3aba39992867c6f666b727f8c919fa4acb2bbc0c4c0c0bbb9b8b8babebdc1c5c6cacfd6d7d3cec8c2bbb3aba39f92877d70685e544a3f33281c0f03000000000a1724313d4a5764707d8a97a3b0b2aca79f9d938f87807a726d67605b534f47423c353028231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbec5c7cbd1d8e1eaf4f0efe7ddd5ccc3bab2a893867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656e7b6e655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f73798390949ea5adb3babfc5c7c5c4c5c6cad0ced2d3d3d2d1cbc7c4bdb9b1a9a29992877e716a5f626d737f8b939aa1a8afb5bbc0c7c7c6c4c5c6cad0ced1d2d3d2d1cbc7c3bcb8b0a9a299928b7f726b60564c42382d22170b00000000000a1724313d4a5764707d8a97a3aea8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbd2d3d7dce2eae3e3e3e3e3e7ded5ccb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4d6d6cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d6d2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535f6a6e6a5f53493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f736d7a828e939ea1a9aeb4b8bcc1c3c5c7cbd1c9d1cbc7c5c3c0bbb9b2aca79f9792877e716c61585b636d737f8891969fa4abafb5b8bcc1c3c5c7cbd0c9d0cac6c5c4bfbab9b1aca69f9792877e726d63594f443b2f261c110600000000000a1724313d4a5764707d8a97aaa29f96918a837d756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d3c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7c9c9c9c9c0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7c9c9c9c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414e585f625f584e41382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f73686d79818a92979fa2aaacb1b4b7b9bbc0bcbcbcbfbab9b6b5afaca8a09e9590857e716c615a50515b636d727d848e93999fa3abacb1b4b6b8babfbbbcbcbebab8b7b4aeaca7a09d9490857d716c635b51473d32291d140a0000000000000a1724313d4a5764707d8a979f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdb9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c464e5355534e463c2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f7366676d757e858d92989da0a7a8aaacafb5afafafb4aeacaaaba39f9c96918b837b706c615a504849515b626b707981878e92999da0a7a7a9acaeb4afafafb3adabaaaba39f9c95908a837c706b625a51493f352b20170b020000000000000a1724313d4a5764707d8a99928d857f79716c656059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0b0a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c43474847433c342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f73665c606c717a80858c9095989b9d9fa3aba2a3a2aaa39f9d9a99928f8b847e786e69615a50483e4049515960676d747b81868c9095989a9d9fa3aaa2a3a2a9a29f9d9a99928f8b837d766e6a605950483f372d23190e05000000000000000a1724313d4a5764707d8a8f87807a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a3a39a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a39f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222a31373a3b3a37312a22180b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064575a61686d737a7f83888c8e90929995959695959892908e8b86827e79716d665e5750483e36373f474f555d60696e747b7f83888b8e90929894959695949792918e8a86827e78706b625f584f473f362d251c110700000000000000000a1724313d4a5764707d89827b746d68605c555049413d37312a251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a093867a6d6053473a2d201407000815212e3b4854616e7b87949696969696969696969696968d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879496969696969696969696969286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c615550565e61686d72777b7f818486878889898988878683817e7a76716d66605c544d453e362c2d353d434b51575f62696e73777b7e818385878888898987868584817d7a76716c666159534e463d352d241c130a0000000000000000000916222f3c4955626f7c7c756e69615e56514b443f382f2b261f19130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969693867a6d6053473a2d201407000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a8a8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a87796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f2122211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50444c52565d6066696e727577797a7b7c7c7c7b7a797774716d6864605c54504a423b332c23232b313a41454d53575e6166696e727476797a7b7c7c7c7b7a787774706d6764605b544f47433c332b231b120a010000000000000000000815212e3b47535f6a6f706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a867a6d6053473a2d201407000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12141514120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e41464c5254575f616568666d6e6e6f706f6e6e6d666765615e5653514a443f383029211a191f282f353c42474d5354575f616567666d6d6e6f706f6e6d676a6764605d5553504a423e37312a21191109000000000000000000000006131f2b37434e585f62636059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2c3845515d676d7070707070707070707070707070706e6a5f53473a2e211408000000000000000000000000000000000000000000000000000000000006131f2c3845515d676d7070707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e36363a4145474d535559545c6061626263626261605c545854524c46444039342e261e170f0d161d242931373b4246484d535558545c60616162636261605c555b5754514b46443f382f2b2620180f07000000000000000000000000030f1b26323c464e535556544f47423c363029231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5044382b1f12060004101d2935404b555d60636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000004101d2935404b555d6063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2a3035393c4246484c4b51535455565656555453504a4b4746413a38342e28231c140c05040c13181f262b31363a3c4246484b4a505354555556565453514b4e4a4745413a38332d261d1a150e0600000000000000000000000000000a15202a343c4347494948443d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a3f34281c100300000c18242f39434b515357575757575757575757575757575755534e463c31261a0f020000000000000000000000000000000000000000000000000000000000000c18242f39434b5153575757575757575757575757575757554f473e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221e24292c31373a3b3f4045464748494949484746443f3e3a3936302c28231c17110a02000001070d151a1f252a2d31373a3b3f3f4446474849494948474540413d3a39352f2b28221c140b0903000000000000000000000000000000040e18222a32373b3c3d3b38322b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382e23170b00000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c332a2015090000000000000000000000000000000000000000000000000000000000000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c1713191d20262b2d2e2e34383a3b3b3c3d3c3b3b3a38342e2e2d2a251f1c18120b0600000000000003090e141a1e21262b2d2e2e34383a3a3b3c3d3c3b3a38342f312d2c29241f1c17110a0200000000000000000000000000000000000007101820262b2e2f302f2c27211a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c1106000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b080d11141a1e212223282c2d2e2f2f302f2f2e2d2c282321201e1913100c070000000000000000000003090e12141a1e212223282b2d2e2e2f302f2e2d2c29232421201d18130f0b06000000000000000000000000000000000000000000070e151b1f21222322201b160e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a0000000000030d151d24292c2d3030303030303030303030303030302f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d3030303030303030303030303030302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000104090e121415181c1f2021222323232221201f1c171413110d080400000000000000000000000000000205090e121415171c1f20212222232321201f1c18171413110d0703000000000000000000000000000000000000000000000000040a0f131516161613100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28231c140c02000000000000030b12181d1f2024242424242424242424242424242422211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f2024242424242424242424242424242423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000020507070c101313141516161615141312100c0607050100000000000000000000000000000000000000020507060b1012131415161616151413100c070706040100000000000000000000000000000000000000000000000000000000030608090a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a02000000000000000001070c1013141717171717171717171717171717171514120f09030000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141717171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a09080807060300000000000000000000000000000000000000000000000000000000000306070708090a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100b06000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020304000004060706050300000404040201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0c0c0b0a0a09080707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0b0c0c0b0b0a0908060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080300000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313121111100f0d0c0a080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a1313131313131313131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131313131313131312120f0c0802000000000000000000000004080a0a13131313131313131313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d101213131313131313131313131313131311100e0b0600000000000000000000000005080a0b1313131313131313131313131313130e0d0b070300000000000000000000000005090d0f1013131313131313131313131313130a09070300000000000000000000000002060a0c0c131313131313131313131313131310100d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f1215151c1514120e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608090b0d0e1011070c10121313120f0b061111100f0e0c0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708060b0f12131516161718181818171616151413110d080907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070d10131415151617181818181717161513120f0b060706040100000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1d19140e0700000000000000000000000000000000000000000000000000000000000000000000030b11161a1c1d202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020201f1f1e1e1d1c1a18161513120f0b06060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020201f1e1c18130d060000000000000000050b101416172020202020202020202020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f20202020202020202020202020201e1d1a16110b040000000000000000060c111517182020202020202020202020202020201a1917130e08010000000000000000020a1015191c1c2020202020202020202020202020161613100b04000000000000000000070d1216181920202020202020202020202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222821201e1a140d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b0f12131516181a1b1d1e1e181c1f20201f1b171e1e1e1d1c1b191816151413110d0708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e11141418171c1f2021232324242525252423222221201d1918161313100c07050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e12141517181d2020212223242425252524242321201f1c17161413100d0705020000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2a2927252321201f1b171312100c06040000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e1810070000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c160e050000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b02000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f07000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820262b2e2f352e2d2a251f170f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d111314171b1f2021232526282a2a2b23282c2d2d2b27222b2b2a2a29272625232220201d18171414110e0907050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d111314191e20212422282b2d2e2f30313132323131302f2e2d2c29242522201f1c1814110e090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1e20212424292c2d2e2f3030313232313130302e2d2b28222320201d1814110e09030000000000000000000000000000000000000000000000000000000000000000020b151d252c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a1107000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393938383736353432302e2d2b2722201f1c1713100c0703000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000040e1820282e33363839393939393939393939393939393937343029221910060000000008111a22282d30313939393939393939393939393939392f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232a3135383939393939393939393939393939393736332e2720170e040000000009121a22282d30313939393939393939393939393939393433302b241d140b0100000000020c161e262d3235363939393939393939393939393939302f2c272119110700000000000a131c232a2e323339393939393939393939393939393735322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000091119222a31373a3c423b3a3630292117110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1214191d202122272b2d2e303133353637382e34383a3937332d3837373735343331302f2d2c29242421201e1a1514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1013191d2021252a2d2e312d3338393b3c3d3d3e3f3f3e3d3d3c3b3a393530312f2d2c2823201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f20252a2d2e302f35393a3b3c3c3d3e3f3f3e3e3d3c3b3938332d302d2c2924201e1a14100c0600000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000000000000000000000b151f2931383e424446464646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464544444342403f3d3b3937332d2d2c28231f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d4646464646464646464646464646463e3d39332c241a1005000000000000000000000000000000000000000000000000000000000000000b16202a32393f434446464646464646464646464646464544403b342b22180d02000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19232c353c414546464646464646464646464646464644433f39322920160b00000006101a242c34393d3e464646464646464646464646464646413f3c362e261d1208000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f0400000007111c252e353a3e3f464646464646464646464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000000000006121b232b343c4347484f4846423b3328221c140b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151a1f2124292c2d2d3337393b3c3e40414344444540444646443f454544444342413f3e3d3b3a39352f302e2d2a2521211e1a15130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f24292c2d30363a3b3e403f44464849494a4b4b4b4b4a494948474541413e3c3a38342e2d2a25211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1c22282b2d30363a3b3d404045474848494a4b4b4b4b4a4a494846443f403d3a39352f2d2a251f1c17110c06000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e352a1f14080000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535352525151504f4d4b494846443f3c3a38342e2c29241f1b17110b060000000000000000000000000000000000000000000000000000000000000000000b17222c353e44494a5353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000000000000000000000000006121d28323c444b4f51535353535353535353535353535352504c463d34291e130800000b17222c353e44494a5353535353535353535353535353534947433d342b20160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353514f4a433b32271c110600000c17222c363e45494b5353535353535353535353535353534d4c4740382e24190e03000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000020d18232e373f464b4c5353535353535353535353535353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000000020a1117242d353d464e53555b54524d453d332d261d170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1f21262b2e2f35393a3d3f444648494b4d4e505151524a515353504952515151504f4e4c4b4948474540403d3b3a36302e2d2a25221f1b15110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d13191c23282b2f35393a3e4246474b4d4a505354565657575858585756555554524c4d4b494645403b3a36302d2a261f1b150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c21272c2d3338393c4246484a4c4b515354555657575858585757565453504a4d494745403b3a36302c28231c17110a03000000000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463c3125190d000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d6060606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5d5d5c5a5856545350494946443f3a38352f2b27221b17110b0600000000000000000000000000000000000000000000000000000000000004101c28333e47505557606060606060606060606060606060575550483e33281d110500000000000000000000000000000000000000000000000000000000000b17232e39444e565c5e60606060606060606060606060605f5d574f463b3024180c0004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925313c4650585d5f60606060606060606060606060605d5b554d43392e22160b0005111d28343e485055576060606060606060606060606060605a58524a40362b1f130700000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030006121e2a353f4951575960606060606060606060606060605d5b554c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227363f474f585f6268615e574f443f382f292017110a0200000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f262b2e31373a3b4145474a495053545658595b5d5d5e5e5f5c60605b5f5e5e5e5d5d5c5a5958565553514b4d4a4746423f3b3a36312e2b26201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191e25292e34383a4145474b4d5254575a545b60616263646465656464636261605d565a585553514b4746423b3a36312b26201b160e09030000000000000000000000000000000000000000000000000000000000000000000000000002090e161b21272c3238383f4446494d52545759555d60616263636465656464636361605b54595653514b4746423b38342e28231c150c080200000000000000000000000000000000000000000000000c1824313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000000000000000000000010e1a26323e4a555f666a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a696867656361605b535653504a4745403937332d28221c17110a02000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000000000020e1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000a16222e3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665e554a3e32261a0d000000000000000000000000000000000000000000000000000000000000000000000000030b141d262d3340485059606a6f756e696059504a423a3227221b140b0400000000000000000000000000000000000000000000000000000000000000000000060b13181c22282b31373a3c4347484c525456535b606163646668696a6b6b6c666d6c656c6b6b6a6a6a686766646362605d55595754524d4c4846423c3b37322d2a251e1b15100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e252a3035383f44464c515457565e61646768666c6e6f70707172727170706f6e6d6869676462605c5454524d4846423b37322c27211a150b060000000000000000000000000000000000000000000000000000000000000000000000050d141a21272c33383d43484a505356575e61636668676d6e6f6f707172727171706f6e6c66696663605d5554524d46443f38342e261e19130c04000000000000000000000000000000000000000000000e1b2734404d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5d5145382b1f1200000000000000000000000000000000000000000000000000000003101c2936424f5b667177797979797979797979797979797979766c5f5346392d201306000000000000000000000000000000000000000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797978777776757372706e6c656662605c5453514b46443f38332d28221c140b070100000000000000000000000000000000000000000000000000000a1623303c4955616c70797979797979797979797979797979716c6155493d3023170a0000000000000000000000000000000000000000000000000000000004111d2a36434f5c67727779797979797979797979797979797873695d5044372b1e12000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845515d6a747979797979797979797979797979797771675b4f4336291d10000a1724303d4955616c71797979797979797979797979797979746e64584c3f3326190d00020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f221609000c1825323e4b57636d7279797979797979797979797979797671665b4e4235291c100000000000000000000000000000000000000000000000000000000000000000000000030c151d262f383f44525a626b707c827b706b605b544c443d332d261d160d0400000000000000000000000000000000000000000000000000000000000000020a11171d24292d33383c4347484e5355565d606366656c6e6f71737476777778787979797978787877777675747271706e6d67696663615e575854534d4947433c3936302b26201c160f09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151d242930363a41464a5053555d606467696e71737577797b7c7c7d7e7e7e7e7d7c7c7b7a787674716f6d6665615e5655534d47433c38322b261f17110a020000000000000000000000000000000000000000000000000000000000000000070f171f252a32383d44484f54545b606367696e707375777a7b7b7c7d7e7e7e7e7d7d7c7b79777573706d6765615e5753504a443f383029241e160e080000000000000000000000000000000000000000000f1b2835424e5b687581868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783868686868686868686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686858584848382807e7c7b7976726f6d6664605d55535049443f38332d261d18130c04000000000000000000000000000000000000000000000000000a1724313d4a5764707d8686868686868686868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784868686868686868686868686868685786c5f5245392c1f12000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7986868686868686868686868686868683776a5d5144372a1e11000b1824313e4b5764717e8686868686868686868686868686868074675a4d4134271a0e0003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a000c1926333f4c5966727f868686868686868686868686868683766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000020b151e262f384149505c636c717d858e857d736c665e564f443f382f2820160c010000000000000000000000000000000000000000000000000000000002080b141c22282f35383f44464e5355585f6266686d707376797b7c7e808183848485858686868685858484848382817f7e7c7b7a787573706e696965615e5755544e4746413b37322c28211a150d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f272f353a41464c52545c6063676d7174777b7e808284868789898a8a8b8b8b8a898888878583807e7c7976726e6965615f57534e48433d373128231c140c060000000000000000000000000000000000000000000000000000000000030b1218212930363d43484f54596063666c6f74787b7d7f8284868788898a8a8b8b8b8a8a8987868482807d7a76726e6964605c54504a423e353028201a110600000000000000000000000000000000000000000e1b2835414e5b6874818e9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909393939393939393939393939386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393939393939393939393939393939393939393939393939892929190908f8d8b898785827f7c7975716d6763605b53504a443f382f29241d160d060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a939393939393939393939393938a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919393939393939393939393939285786c5f5245392c1f12000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929393939393939393939393939084776a5d5144372a1e11000b1824313e4b5764717e8a939393939393939393939393938d8074675a4d4134271a0e0003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a000c1926333f4c5966727f8c9393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000a141d263038424a535b606e737e879297928780786d6860595049413a32281e1308000000000000000000000000000000000000000000000000000000050d13191d262d333a40454a5053585f62666a6e73777a7d7f828587898b8c8e9090919192929999929291919190908f8d8c8b8988868582807d7b7875726e6966625f5854524c47433c38332b262018130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429313940454c52565e61666d70757a7e8184878a8d8f919298959697979898979796959497928f8d8b8886827f7b76726e69625f58544f47423c342e261e181009000000000000000000000000000000000000000000000000000000050c151d2328333b42464f545960636b6f74787c8084878a8c8f91939a959696979898979796969992918f8c8986837f7b76716d66605c545046413a322c2317110a020000000000000000000000000000000000000e1b2834414e5b6774818e9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa29f9e9e9d9c9b9a989698928f8c8985827e79746f6c65605b54504a423d352f281f17110a02000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000c1926333f4c5966727f8c999f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000006111c262f38424a545b656c74808b9299a199938c827a6f6b605b534c443a2f24190d0100000000000000000000000000000000000000000000000000070e171e252a2f383f444b51545b60646a6f73777b7f8386898c8f92979697999b9c9d9e9e9f9fa3a39f9f9e9e9d9d9d9b9a9997969597918f8c8a8785827f7b77736f6a66615e56534e48443e373129241d160d0701000000000000000000000000000000000000000000000000000000000000000000000000000006101820282f353d434b51565e61686d73797d81868a8e9196979a9b9d9fa3aaa3a3a4a5a5a4a3a3a2a9a19e9c9a9799928f8b87837f7b756f6a636059534d443f38302a221b120600000000000000000000000000000000000000000000000000050e171e272e343e454d525960636b70767c8084898d919696999b9e9fa4aca2a3a4a5a5a4a4a3aba39f9d9c999992908c87827e78716d66615a524c443e3527221b140b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb4aeacabaaaaa9a8a6a5aaa29f9c9998928f8a85817c78716c66605b544f45403a3127221b140b040000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacaca4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaacacacacacacacacab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4acacacacacacacacaca79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a000c1926333f4c5966727f8c99a5acacacacacacacaca99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000a1317222d38424a545c666c77808c929fa3aba49f948f847d726c655d564c4135291d11040000000000000000000000000000000000000000000000030b1218202930363d424a50555d60666c70767b8084888c909399999c9fa2a9a4a6a7a9aaaaababacafaeacabababaaaaa9a8a7a5a4a3a9a19e9c999697918f8b8783807c78736e68625f58554f47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a41454f555d60686d737a8085898e92989a9ea0a8a6a8aaacaeb4afb0b1b1b1b1b0afafb3adaba9a7aba39f9c9a93908c87817c756f6b625f57504a423c342d2417110a0300000000000000000000000000000000000000000000050e172029303940454f575e616b6f767d83898d91969a9ea1a9a6a8aaacafb6afb0b1b1b1b1b0b0b4aeacaaa8aba39f9d99938f8b847e78706c615d564f473f332d261d140b02000000000000000000000000000000000e1b2734414e5a6774808d9aa7b4b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b9b9b9b9b9b9b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9bfbab8b8b7b7b6b5b3b1b4aeaca9aaa29f9c98928e89837e78716c666059514b433d332d261d160d0500000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7b9b9b9b9b9b9b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b9b9b9b9b9b9b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2b9b9b9b9b9b9b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000008121c2528333f4a545c666d78818d929ca4afb5afa69f9691877f776d685d5245392c20130700000000000000000000000000000000000000000000050c151d2328323a41464f545b60676d72787d82888c9195999d9fa4aba9abadb3b1b3b4b6b7b7b8b8b9bbbab9b8b8b7b7b7b6b5b4b2b1afb2adaba8a6a9a19e9c9895908c8884807a746f6a636159534e45403a3129241d150d06000000000000000000000000000000000000000000000000000000000000000000020b141b2227343c444c525960676d737a80868c91979b9fa2aaaaacb2b3b5b7b9babfbcbdbdbebebebdbcbbbeb9b8b6b3b5aeacaca49f9d99938e88827c766e69605c544e463f3628231c150c040000000000000000000000000000000000000000050e172029333b424b515961696e757c828990959a9ea1a9abadb2b2b5b7b9bbc0bcbdbdbebebebdbdbfbab9b7b5b5afacaba49f9c96918b847d756d68615951443f382f261d140a000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c6c6c6c6c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d0cac6c5c5c4c3c3c2c0bebfbab8b5b4aeacaaa29f9a95908a837e786f6b605d554f443f382f281f170f06000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c6c6c6c6c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c6c6c6c6c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfc6c6c6c6c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000007101a242d373f44505b666d78818e939da4aebbc0bbb0a9a199928c827a6d6054473a2d211407000000000000000000000000000000000000000000060f171e272e343d444c525960666c71797f848a8f94999da0a7aaacafb5b5b8bab9b8b5b4b2b0afaeaeadacadadaeaeafafb0b1b3b4b6b7b9bbb9b8b5b3b3adaba8a7a09d9996918c86817c76706b625f58514b433e352f271f180f0800000000000000000000000000000000000000000000000000000000000000020b141d262d333e464e565d606b707980868d92989ea1a9acaeb4b7b8bdc0c2c4c5c7cbd1cacacbcbcacac9cfcac6c5c2c0bfbbb9b6afacaba49f9b948f89827b726d665f58504840342e261e160d04000000000000000000000000000000000000050e172029323b454d545c606b707b82898f949d9fa7abadb2b8b9bdbfc2c4c6c8ccd2c9cacbcbcacad1cbc7c5c4c2c0bbb9b5afaca8a09e96918a817a706b625b504941382f261b11060000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2dbd6d3d2d1d1d0cfcecdd0cac6c5c2bfbab8b3aeaba7a09d95918a837c746d6761595049413a312921180f060000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d2d2d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad2d2d2cdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd2d2d0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000050e18222c363f49525c606c78818e939da5aeb6bfcbc0b7afa69e9490837a6e6154473b2e2114080000000000000000000000000000000000000000070f182129303940454f565e616b70787e858b91969c9fa6aaacb1b6b9bbb8b7b3b2adaba9a7a5a3a2a1a1a0a0a0a0a1a1a2a2a3a4a6a7a9abacafb5b4b7b9bbb9b8b5b1acaaa8a19e99928e88827d766e6a605d55504540393129211a110a0100000000000000000000000000000000000000000000000000000000020b141d262f383f4450585f686d747d848d92989fa2aaadb3b8babfc4c5c8ceced0d2d3d7dcd6d7d8d8d7d6d6dad6d2d1cfd1cbc7c5c0bbb9b5afaca69e9c948f867f786f6a625a52443f3830281f160b0200000000000000000000000000000000030c162029323b444d575e666d747d858f949c9fa6abb1b8b9bdc4c5c9cfced1d2d0cecccbcac9c9cacaccced0d2d0d1cbc7c5c0bbb9b2aca8a09e938e857d726d605b534941382d2217120800000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dfdfdfdfe6ded8d3d0cfcececececececececececececececececececececececececececececececececececececececececececececececececec5b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacacbcdcfd1d2d4d7d6d3d2d0cac6c5bebab8b1aca7a09d9590878079706b605b534b433b332921180f0500000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7dfdacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000030c17202a343e48515b636e74808e939ea5afb7c0c8c0b6aea59d948f827a6e685e5246392d20140700000000000000000000000000000000000000081019222a333b424b515960686d757d838b91979ea0a8abb0b7b8bcb8b7b1acaaa7a9a19e9c9a989795959493939394949595969697999b9c9e9fa4aba7aaacafb5b6b8bcb8b7b2adaba39f9b948f8a827c736d67615a514b433b332c231c130b020000000000000000000000000000000000000000000000000000000a141d262f384149505a616a6f7a818991969fa2aaaeb4b9bec4c7cad0d2d4d9dbdcd7d4d2d1cfcdcdcccccdcdcecfd2d3d6dbd7d3d2ccc8c6c0bbb9b0aaa69f98928c837c716c635c504a423931281d140a000000000000000000000000000000000b151e28323a444d565e696e78808a92979ea6abb0b8bcc2c5c9cfd2d2d1cbc7c5c3c1bfbebdbdbdbdbebfc1c3c6c7ccd2d3d2ccc7c4bdb9b2aca59e9791877f736c655b53493f3327241a0e05000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e5ecf0e6ddd4cdc7c4c3c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b8ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbebec0c2c4c6c7ccd2d2d4d7d6d3d0cac6c3bcb8b1aca7a099938d847d736c655d554d453b332921170f05000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000b151e29323c46505a636d73808d929da5afb7c0c9c0b6aea49d938e82796d685e564c41362a1e110500000000000000000000000000000000000008111a222b343c454d545c606b707a818990959ea1a9acb2b7bbbab9b1acaaa7a09d9a9796918f8d8c8a8888878786868787888889898b8c8e90919399979a9d9fa4abaaacb1b6b8bcb9b4aeaca69f9c948f878079716c605d554d453e352e251d140b020000000000000000000000000000000000000000000000000006111b262f384149535b606c717c848e939ea0a8aeb4babfc5c9cfd3d6dbdcd6d3d2d1cbc7c5c4c2c1c0bfbfc0c1c2c3c5c6cad0d1d2d5d8d4d2ccc7c1bbb7b0aaa29f9590867e736e605c544b43392f261c1106000000000000000000000000000007121d27303a444c565e686e7b838d929ea1a9b0b7bbc2c7cdd2d3cec9c5c4c0bbb9b7b4b2b2b1b0b0b0b1b2b4b6b9bbc0c5c7cbd1d4cec9c4bdb9afa9a199938b80776c655b50443f362c20170d020000000000000000000000000b1824313e4b5764717e8a97a4b1bdd0dce7f3e9ded4cbc2bcb7b6b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4ac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafb0b0b1b2b3b5b7b9bbc0c3c6c7ccd2d4d9d6d3cec8c3bcb8b1aba49f9691887f776d675e574d453b332921170d040000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000007121c27303b444e58616c727f8c929ca5afb7c1c9c1b7aea49d928d81786d675d564c443b3025190e02000000000000000000000000000000000007111a232c343d464e575e666d737d858e939da0a7adb3b9bdb9b4aeaca7a09d9995918d8a878582817f7d7c7b7b7a797a7a7b7b7c7c7d7e8081838486888b8d909399999da0a7aaabb1b8b9bab9b0aba69f99928d847e756d675f574f4740372e261d140b020000000000000000000000000000000000000000000000081217222d384149535b656c737e8691969da5acb2babfc6cad0d5dae0d8d3d0cbc7c5c2c0bbb9b7b5b4b3b3b2b3b4b5b6b8babec0c4c5c9cfd2d6d7d4ccc7c2bcb4aea79f99928b80746d665d554b42382d22171107000000000000000000000000040d18232e39424c565e686e7a8490959da4adb3bbc1c7cdd4d1cbc7c4bdb9b7b5afacaaa7a6a5a4a3a3a4a4a6a8aaacafb5b9babfc6cacfd5cec9c1bbb3aba49f928d81776c605b51483e32291f14090000000000000000000000000a1723303d4a5663707d8996aab4bfcbd6e3efe4d8cdc2b9b0aba9a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a4a4a5a7a8aaacafb5b6b9bbc0c7c8ced3d8d9d4cec8c3bdb5afa8a19a938c81796e695f574d453b332920160b0200000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2dfddd0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e18232e39424c565f6a717e88939fa4aeb7c0c9c2b8afa59d928d80776d665d554c433b32291e14080000000000000000000000000000000000061019232c353e474f585f696e78808891979ea5acb1b9bebbb3adaaa39f9b95908c8884807e7b78767472706f6e6e6d6d6d6d6e6e6f6f707173747678797b7e818486898c9095999d9fa7abadb3b8bbb7b0aba39f96918a81796e696159514940382e261d140b02000000000000000000000000000000000000000000060f1a2427333f49535b656c77808a9298a1a8afb9bdc4cad0d6dbded7d3cdc7c6bfbab8b5b5afacaaa8a7a6a6a6a6a7a8a9abaeb3b4b7b9bdc4c6cacfd5d7d3cec6bfbab1aba39f928c81786d675d544a3f332823190d0300000000000000000000010c16202834404b545e686d7a839196a0a7aeb9bec5cdd3d2ccc7c0bbb9b2acababa39f9d9b99989796969797999b9d9fa4abacaeb4babec5ccd2d5cdc4bdb5afa49d938d80746d625a50443b3025190e0500000000000000000000000815222e3b4855616e7b8898a3aebac7d3e0ece0d3c7bcb0a69f9c9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d2d2d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b98969696969696969696969696969696969696969797989a9c9e9fa4abaaacafb5b8bdc3c7ccd3d8d9d4d0c7c0bbb2aca49f938f837b6e695f574d453b32281d140a00000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5d2d2d2d0c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000020d17202834404a545e686f7c86929aa4afb6c0c9c3b9b0a69e938d80736c655c544b433a312920170d0200000000000000000000000000000000050f18222b353e474f59606a6e7b838d939aa1a9afb8bcbdb5aea9a29e98928e88847f7b7774716e696967656462626160606061616262636364666869666d6e7174777a7c7f83888c9095999ea1a9acb2b7bdb5aea8a19e938e837b706b635b524a40382e261d140b0000000000000000000000000000000000000000040d18212c363e44505b656c77818c929fa2aab2bac0c9ced6dbdfd8d4ccc7c2bcb7b4aeaca9aba39f9e9c9a9a99999a9a9b9c9fa2aaa7abadb2b8b9bec5c9cfd5d8d0cac2bdb4aea49c938e82796d665b50443f352b1f150b0100000000000000000008131e28323a45515c666d7a839095a0a8b1b9c0cacfd5d0c7c0bbb5afaca8a19e999992908e8c8b8a8a8a8a8b8c8e9093999b9fa3aaadb3bbc0c7d0d6d0c7c0bbaea59d928c7f726c61564d42362a20170d02000000000000000000000613202d394653606c7885929facb8c5d2dfebddd0c4b7ab9f94908e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e86796c5f5246392c1f1300000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c5c5c5c5c5b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b898989898989898989898989898989898989898a8b8b8d8f919399999d9fa4abacb2b7bbc2c7cdd6dbd9d2ccc4beb6afa59e9590847b6e695e574d443a2f261c1106000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8c5c5c5c5c5c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000008141e29323b44515c666e7a849198a2acb6c0c8c4bbb1a79f948e81776c605b534a423931281f170e0500000000000000000000000000000000040d17212a343d474f59616b6f7c8490959fa4acb3bbbebab0aba39f97928c86817c77736e6a6764615e575a595755555454535354545555565658595b545c60626467676d7073777b7f83888c92979da0a8abb0b9bbb2ada59e9590857d736d645c524a40382e261d0e05000000000000000000000000000000000000010c161f2a333e48525c606c77808d939ca4aeb4bcc4ccd5d9e0dbd6cdc8c1bbb7b0abaaa39f9c999992918f8e8d8c8c8d8e8f909298979a9ea1a8abadb3b9bec4c9cfd7d6cfc6bfbaaea59d948f81786c605a50473d31271d12070000000000000000010d19242f3a444f59606d78839095a0a7b1bac3cbd6d7cbc3beb6afaba39f9a96918d898684817f7f7e7d7d7d7e7f8183868a8e92989fa2a9afb5bdc4cdd4d2ccc0b7aea49f93887e70695e52463f32291f14090000000000000000000006121f2b3844505b667784909daab7c3d0dde9dccfc3b6a99c90828181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818174685b4e4135281b0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6b8b8b8b8b8b8b8ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f80828486898d9093999ea0a8abb0b7bcc2cad0d7ddd7d0c7c0bbafa7a09691847b6e695e564c42382d22170e050000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facb8b8b8b8b8b8b8b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000050e1925303b444f59606d78839096a1aab4bec7c5bcb2a9a0959082796d655b5049413830271f160d0500000000000000000000000000000000010c161f29333c464f59616c707d859196a0a7afb6bebcb3aea69e99928d85807a746f6a66625f585754534d4e4c4a49484847464747484849494a4b4d4e4b51535558555d606366696e72777b80858b91969c9fa6adb2bbb9afa7a09792887f746e645c524a40382e20170d02000000000000000000000000000000000007131d28313c46505a636e74808d929da5aebabfc6ced6dee0d8d0cac2bcb8b0aaa69f9c98928f8c898684828180807f8081828385888b8d91969a9ea2a9adb2b9bec5cdd6d8d1cbbfb7afa69e938d80736c62594f43392f24180c030000000000000004111d2935414c56606b73808d959fa7b1b9c3ccd5d1cbc0b9b1aca49f99928e8984807c7a7774737271707071717375777a7d81868c92979fa4abb3bbc3cbd4d7c9c0bbafa49a92857b6e615b51443b3025190e03000000000000000000030f1c28333f4a546875818e9ba8b4c1d0dbe6d8ccbfb2a5998c7f757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575746f64594c4033271a0e00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaacacacacacacacacac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f707171727475777a7d8083878c91969c9fa6abb1babec5ced4dcd9d2ccc1b9b1a8a19691847b6e685d544a3f332820170d0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facacacacacacacacacaa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020c17202a36414c56606b73808d959fa8b2bcc6cabfb4aaa19791837a6d675c53493f382f261e150d04000000000000000000000000000000000008131e28313b454e58606b707e869297a1a8b1bbc0b9b0aaa29f948f86807a736e68625f5855534e4b484642413f3d3c3b3b3a3a3a3a3b3b3c3c3d3e4041404546484b4b515456575f6166696e73797e848a90949ea1a9aeb5b9b1a9a29a938c80746e645c524a4032291e130800000000000000000000000000000000030d18242f3a434e58616c73808c929da4aeb7bfcad0d8e0ded5cec6bfbab1aba69e9c94908b86827f7c7977757473737373747576797b7e8184898d92979ea1a9adb3bbc1cad0d7d7c9c1b8b0a69c928b7e716b60554b40352920150a000000000000030e18222c3945525d68707d87939fa7b1b9c3ccd5cfc6bfbaafa7a09a938e87817c78736f6d6768666564636364646668686d71757a7f858d9399a1a9b1b9c2cbd4d8ccc0b6aca2978f82766d62564d42362a201509000000000000000000000b17222d3f4c5865727f8b98a9b3becad6e2dacdc1b4a79a8e8174686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868645d53483c3024180b00000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6363636363636363636363636363636363636464656769676d7073777b7f84898f949d9fa7aeb3bcc2cad7dcddd8cbc3bab2a8a19691847a6d665b50443e32291e140800000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000008131e29323a46525e68707d88939fa7b1bac4ccc4baaea29891857b6e685d554b41382d261d150c030000000000000000000000000000000000060f19242f3a434d575f6a707d879298a2a9b2bac0bbaea69f98928b827b736d68615e56534e4847433e3b3a363132312f2f2e2d2d2d2e2e2f2f303031332e34383a3b3e414547494d5355575f61676d71787d838a91969fa3abb0bbb3aca49f928d80746e645c52443a3025190d010000000000000000000000000000010b151f2935414b555f6a707e8a929ca4aeb7c0c9d6dbe2dcd3ccc3bcb4aea79f9d948f88837e7a76726f6d666967676666676768656c6e7174787c81858b91979ea1a9afbabec5ced5d2cac1b8aea49f92877d70675d51453c31261a0f0100000000000a15202b37434e58606d7a849199a4afb9c3cbd5cfc6bdb4aea59d959087817b746f6c6563605d555958575757575859565d6164686d727a808791979fa7b1b9c2cbd5d2c7beb3a99f948b7f72695e52463c31261a0e040000000000000000000615222f3c4855626f7c8897a2adbac6d3dfdccfc3b6a99c90837669585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41362b20140800000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909292929292929292929292929286796c605346392d201306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565758585a555d606366686e72777c828990959fa2aab0b8c0cbd1d8ddd5ccc4bab2a8a0968f82786c605a50443b3025190d04000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929292929292929292929292929084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000000020b1925303a44505a616e7a85929aa4afb9c2ccc4baafa59f92867c6f695e564c43392f261b140b030000000000000000000000000000000000020b18212935414c565e696f7c869299a3aab3bbbdb5afa49d9490857e756e69605d56524c47433c3a37312e2d2a252624222221212020212122222323252623282c2d2f2f35393a3d4246484d53555c60656c70767e848d92999fa6afb6b6afa49d928d80746e64564c41362a1e1105000000000000000000000000000007121d27313945515d676e7c86929fa4aeb6c0c9d2dbe7dbd2cac1bab1aaa29f959089827c76716d686662605c545b5a59595a5b535b606264656c6f74797f848c92979ea5aeb3bcc3cbd4d3cac0bbaea3999184796d60584e43372b1d130700000000020f1a26313a47535f6a74818e96a1abb5c0cbd4d0c7bdb4aba39f938e837c756e6963605b5353514b4c4c4b4a4a4a4b4c4c5254565e61686d747d8590959fa7b1b9c3cdd7d0c5bbb0a69f92867b6e61574d42372b20150a0000000000000000000613202d394653606c7985929fabb8c5d0dcded1c5b8ab9e9285786a5f534e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4841392f251a0f0300000000000000000000000000000000000000000000000000000003101d2a3643505d697682858585858585858585858585858586796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564949494949494949494949494949494a4a4b4c4d4b515356565e61666b6f767d838b92989fa6aebbbfc6cfd8ded6ccc4bab2a89e948d80736c61564c41362a1f160c010000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885858585858585858585858585858583766a5d5043372a1d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000a141d2a36414c56616c76828f97a1acb6c0cbc7beb2a89e938b7e716a5f574d443a30271d140a020000000000000000000000000000000000000a141d2a333b45525d686e7b859198a2abb4bcbcb4aba49f928d837b716c615f57524c46413b37322e2b26272828292827252423201f1c181515161617181a181c1f202224292c2d31373a3b42464b51535b60636c7179808790949fa4acb3bbaea49d928d8074685e5246392d20130700000000000000000000000000000c18232f39434f59606d79849198a2aeb6bfc8d2dbe4dbd2c9c0b8b0a8a098928c837c756f6a65605d565653514b4e4d4d4c4d4e49505355535b6063676d72797f858e939fa2aab1b9c2cbd4d7cbbfb5aba1968d80736a5f53473a2f24180d0100000006121f2b37434e58626f7c87939fa8b2bdc7d2d2c7bdb5aba399928b81796f6a615f57535049474540403f3e3d3d3e3e404146474c52565e616b707a8390959fa7b1bbc5d0d7cdc2baaea2988e8174695f53473c32261b0f01000000000000000005121f2b3744505b6575828e9baab4bfcbd6dfd2c6b9ada197887b6f6255484242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424241403c362f261d130900000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797979797979797979797979797974695d5144382b1e1205000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3d3e3e3f414045474a4d52545960636b70767e858f949ca4aeb5bdc6cfd8ded6ccc3bab0a69c928a7e71685e52463e31281e13080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3744505d68737879797979797979797979797979797671665b4f4236291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000000000006111c262f3846525e68717e8b949fa9b3bec7ccc0b6aca1968e81756c61584e453b32281e150b0200000000000000000000000000000000000006111c262f3b45505a606d7a849197a1aab3bdbdb4aaa399938b80786e69615a534d45413a36302b2d2e30323435353635333231302d2c2923201d19130e09070c10131315181d2021262b2d31363940454950535a61676d737b828c939aa1a9b1b6aea49f92857a6d6154473a2e2114070000000000000000000000000004101c2934404b55606b74818e96a0aab4bec8d1dae4dbd2c9c0b7afa69e9591867f786f6a62605854524c494645404140404040413f444648495053555c60676d727a818a9298a0a7b1b9c2cad4d1c6bdb2a89f92877c6e62554b4035291d11040000000814212e3a47535f6a75818e9aa4afbac4d0d7ccc0b5aba39992877e746d675f58534d46443f3a39352f3231303031313035393a41464c525960686e7a839095a0a9b3bec7d2d6cabfb4aa9f92877b6e62584e43372b1e13080000000000000000030f1b27333f495364717e8a98a3aebac7d3e0d5c9beb3a9998d807366584e433735353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353533302b251d140b0100000000000000000000000000000000000000000000000000000000010d1a26323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1003000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303131322f35393a3d4146474f545960636c717b828d929fa3abb4bdc6cfd9ded5ccc1b8aea49f92857a6e615a50433a2f24190d0200000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000b17222d38424f59616d7a85929ea6b0bbc5d0c7bbafa49a91847a6d605a50463c332920160c03000000000000000000000000000000000000000b17222d38424d57616c75818e96a0a9b3bcbdb5aba39892877f736d665f575047423c352f2e3036393b3d3f4141424241403f3e3c3a38342f2c29241e1a140c070c141a1e20262b2e2f32362e34383a393f444650555d60696e78808892979fa7b0ab9f958b7f72685e5246392d201307000000000000000000000000030d17212c3845515c67707d89939da8b2bcc5d0dae3ddd3c9c1b7afa59d948f837b726c666058544e4745413c3a38342e343333342d3337393b3f44464b51555d60686d757e8590959fa7b0b8c2cbd4ccc4bbaea399908376675d5145392c201306000004101d2935404b55626e7c87939facb6c0c8cecdc5bbafa49992877e716c605d554e46423c37332d2c292425242424242524292d30363a41464f565e686d79839097a2acb6c0ccd8d0c6bbafa3998e81756a5f53473a2f24190d0100000000000000000b17222d3a4753606d7a86929facb8c2cdd8dacfc4b7aa9e9184776a6054473c3226282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282724201a130b020000000000000000000000000000000000000000000000000000000000000a16212d38434c545a5d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5850463b3024190c00000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232324252524292c2d3036393d44484f545a62696e77808b9299a3abb4bdc7d1dcded3cabfbaada2978e81756c61554c4135291e130800000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b454f575d5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5b554d43382d22160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000000030f1c28333f4a54606b75818e97a1adb8c2cdc7bdb1a79f93887d70685d52483e342a21170e0400000000000000000000000000000000000000030f1c28333f4a545f69717e8b939ea8b2bbc0b5aba39992867e726d605c544d453e373131373a3b4146474a4c4d4e4f4f4e4d4c4a494745403a39352f2b261f1812181f252a2d31373a3b3f424340454646443f43434b51575f666d737d8590959ea6a3999083786c60564c41362a1e110500000000000000000000000009141f2a36424d57606d7984919ea5afbac3ced7e2dfd5cbc1b7afa59d938e827a6e69605b544e47433c39352f2d2c28232726262722272b2d2d33373940454b51565d616c717b8390959fa6b0b9c2cdc4bab2a8a09691847a6d6053473a2d201407000006131f2c3845515d6775818e99a3abafb8bcc3c5bbb0a69f93877e716c615a514b433c37312b27221f1d18191817171718191d20252a30353d444c565d676e7b85929aa4afbbc5cfd7cbc0b5ab9e93887c6f62564c4135291d110400000000000000000613202c3945515d6775828f9ba7b1bcc8d4ded2c5b9aca096897c6f62584e43372b1f161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f09010000000000000000000000000000000000000000000000000000000000000005101c26313a43494e50525252525252525252525252525252514d463e342a1f140800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161616161616161616161617171819181d1f20252a2d32383d444850575e656c737e879299a3abb5c0cbd7dddcd6cabeb3a99e938a7d70675d51453a3025190d02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333d454c50525252525252525252525252525252504f4a433b31271c1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006121f2b3844505b66707d89939ea9b3becaccc0b5aba0958d80736b60564c41362d22180f0500000000000000000000000000000000000000030d17212b3844505b666e7b86929fa5afbac3bbafa49992877d706c625b504a423b3334383c4347484c525457585a5b5b5c5b5a58575653514b4745413a373129241d232830363a3c4247484c4f504b5153535049504e4b494d545c606b707b838f949e9f92877c6f665b50443a3025190d010000000000000000000000020e1a26313a46535f6973808c96a0acb7c1ccd5e0e1d7cdc3b9afa59e938e81786d685f57504a423d37322c2924201f1c181a1a191a171b1f2022272b2e343940454c525a61696e7a838f949fa6b0bbc4bbb2a8a09691847a6e675d5145392c20130600000714202d3a4753606d79848d92999ea5acb1b9beb3a99f948b7f726c615a50454039312b261f1b1713100c070b0a0a0b080d1113191e2529323b434c555f69707d88939fa9b3bec9d5d1c7bdafa59a8e8174685d5245392c20150a000000000000000004111d2935404b55636f7c89959fabb8c4cedad5c9bdb2a89b8e81746a5f53473d31281d12070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e0e0b0803000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e424346464646464646464646464646464644413b342c22180d0200000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090a0b0b070c101314191e20272c32383f454d535b606c717d879299a3afbbc0cbd4e0dbcfc5bbafa59e91847a6d60564c41362a1e1408000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464643423e3831291f150a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000004101d2935404b55606c7883909da5afbbc5cfc7bbafa4999083796d60594f443a30241b1006000000000000000000000000000000000000000009141f2935414b55606c78839098a2aeb7c1b9aea49f93877e716b615a51443f3830383f44464e5355565e616365676868696866656463605c5554524c46423c352f272e343b4246474d5355595c5d545c60605b5e5d5a58555350505961696e79828e93968d80736a5f544a3f32291e130800000000000000000000000005121e2a36424d57616e7b86929fa8b2bdc9d2dee6dbd0c5bbb1a79e938e81786c665d564d443f382f2b27201d191313100c070d0d060b0f1213171b1f23282f353a414650575e686d79828f949fa9b2bbb2a9a19691847b6e685e554b4035291d1104000006131f2c3845515d676d7a80868f939da0a7adb3ada2978f82766d625a50483e352f271f1a140f0b0604000000000000000105080d13192029313a434d57606b74818e97a1adb9c4cfd9cfc1b8ac9f92867a6d6054473c32271b0f0300000000000000010d18242f3a4854606b7683909da8b2bdc9d5d9cec4b9ac9f93877c6f62594f43392f241810060002020202020202020202020202020202020202020202020202020202020202020202020202020202010000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f4446474747474747474747474747474746443f382f261c11060000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000406080e11161b21272c333b4149505a626b707e87929fa4aeb9c2ced7e1d7cdc1b9ada1968c8073685e52463b3025190d000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1921292f34373839393939393939393939393939393736322d271f170d0300000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000000000a131f2c3845515d67717e8b95a0acb7c1cdcabfb4aa9f93877c6f665c51473d32281e12090000000000000000000000000000000000000000020e1a26313945515d67717e8b959faab4bebcb1a79d928b7f726c615950483f34363d424a5053585f6266686e707274747575747372716f6d6764605d56534d454039313940454d5254575f6265696a6b666d6c656b6a676562605b5454575e676d78818e9184796d60584e42382d20170d020000000000000000000000000714212d3a46535f6974818e99a3aebac3cedbe4e0d6cabeb3a9a0958e81786d665b544c433c332d261d1b15110d0806040000000000000305060b0f12181d242930353e454d565d676d79829097a1abb3a9a19691847b6e695e564d433a2f24180d01000004101d2935404b555d676d737b828990959ea1a9a89f92857b6e615b51483e3629241d150d09030000000000000000000000000002080e171f28313b454f59616d7a85929ea8b2bdc9d5d3c6baaea2988b7f7265584e43372b1f1306000000000000000007131d2c38444f5964717e8a96a1acb9c5d0dbd4c8bbafa49a8f82766b60554b40352922180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a5053545454545454545454545454545453504a42382d22170b0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000002050b0f161b21292f383f445059616c717e8b929da7b1bcc5d0dbdfd5c9bdb2a89f92867a6d61564c41362a1c12070000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f121b22292d30313636363636363636363636362d2c29241e160d0d040000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000006111c2935404b55606d7984919ea7b1bcc9d3c7baaea2988e81746a5f544b40352b20160c00000000000000000000000000000000000000000005121e2a36424d57606d7a85919ea7b1bcbeb3aa9f958d80746d625a50473e363b42464f545c60656a6e72767a7d7f8081828281807f7d7c7975716d68615f57514b433d424b51575e6167696e7275767879797978777674716f6c66626058555c666d7881897d70675d51463c2f261c0e0500000000000000000000000005121e2a36424d57616e7b87929fabb5bfccd5e0e2d7cec5baada2979083796d665c544a423a3128221c140b0a04010000000000000000000000000003070c12181e2429333b444c555d676e7a859199a3a9a19791847b6e695e574d443b31281d1307000000000c18242f39434c555d60696e757d838b92979fa0968b7e71695e52493f362c2318120b030000000000000000000000000000000000050d161f29333d46525d68727e8b96a1adb9c5d0d6cabfb4aa9d9184776a6054473b2e2215090000000000000000010f1b27323d4653606d7884919ea9b3becad6d8ccc0b6ac9f94897d70675d51453f342a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606060606060606060606060606060605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000040b0f171d262d333f47505a626c74808d959fa9b3becad6dfdacfc4baaea2988d8073685e5246392e23180c0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e4343434343434343434343433a39352f2820160c010000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000000000c17232e3845515d67727f8c96a1adb9c3cec9beb3a99f92867b6e61584e42392e23190e040000000000000000000000000000000000000000000714212d3a46535f6973808d97a1adb9c2baaea2989083786d605b51483e353c454d535960666d72777b7f83878a8b8d8e8e8f8e8d8b8a8985827e7a756e69605d554f474d545c60696e73777b7f828384858686858483817e7c79736f6a6360595c666d777d706b60554b40342a1d140a000000000000000000000000000714212d3a46535e6974818e99a3afbdc6d1dee7dbd0c5bcafa59f92857b6e675d544a42382f281f17110a0200000000000000000000000000000000000001070c13192129323a434b555e686f7c87929fa19792857c6e695f574d453b32291f160c010000000007121d27313a434c51575f616b70787e858d92999184786c60574d42372d241a11070100000000000000000000000000000000000000040d17212935414c56606d7984919ea9b3becad6d0c6b8aca095887c6f6255493c31261a0e0200000000000000000a161f2b3844505c66727f8b97a2adbac3cfd9d2c7beb0a69d9184796d605a50463c332920170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c665b5044382b1f120600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000050b141b2227353e48505a606d78839097a2adbac3cdd9e0d6cabfb4aa9f92867a6e61544a4034281c100400000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b5050505050505050505050504745413a32281e13080000000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000003101c28343f4a54606d7985929ea8b2bdcbd2c6b9ada1978d8073695e52463c30271d110700000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3bebdb0a69f92857b6e665c51493f363d464e575e616b70787f84888c90939a989a9b9b9c9b99989798928e8a86827b736d6760594f575f666d737b8084888c8f90919298939291908d8b8884807c76706b615f5c656c706c61594f43392f22180b0200000000000000000000000003101c28343f4a54616e7b86929fabb5c0cfd8e3e2d6cabfb4aa9e938a7e70695f554b42382f261d160d060000000000000000000000000000000000000000000002080f172028313a434d56606a727f8b959792857c6f6a5f574d453b332920170d040000000000010b151f28313a41454d535960666d727a80868f8b7e72665b50453b30251b120800000000000000000000000000000000000000000000060f1924303a45515c66727f8b97a2adbac6d3d4c8bcb1a7998c807366574d42362a1e1205000000000000000003101c28343f4a54606d7985929fa7b1bdc7d1d9d0c2b8aca0968e81756c62584e453b332920170e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a7a7a7a7a7a7a7a7a786c605346392d20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000020a1117232c363e44515c666e7b85929fa7b1bcc8d4dedbd0c5baaea2988d8073665c5144382c1f140900000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056585d5d5d5d5d5d5d5d5d5d5d5d54524c443a2f24190d0100000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000006121f2c3844505c66727f8b97a1adbac4cfc9bdb2a89e92857a6d60574d42342a1e150b000000000000000000000000000000000000000000000714202d3946525e6874818e98a3aebbc0b5ab9f948a7e71695f544b40373d464e585f696e757d838b9196999d9fa4aca7a7a8a8a7a6a5aaa29f9b99928f868079706b61595f696e7980868d9196989c9d9e9fa29f9f9e9d9a9896918d89837d766e69625b6064615a50473d31271d10060000000000000000000000000006121f2b3844505c6673808d99a3aebdc7d1e1e9dfd3c6baaea2988f82756c61574d433930261d140b0400000000000000000000000000000000000000000000000000050e161f28303b444e58606d78839092857c6f6a5f574e453c332921170e0500000000000000030d161f282f353b42464f545c60686d737b8285796d60544a3f33291f130900000000000000000000000000000000000000000000000008131e2834404b54606d7985929fabb8c3ced9cec3b7aa9d908377695f53463a2d2114060000000000000000000b17232e3845515d67727f8c95a0abb5c0cbd7d4c8bdb2a89e938b7e716a5f574d453b322920191006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c87878787878787878787878787877b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000006111a242834404a545e69727f8b95a0acb8c1ccd7e2d6cabfb4aa9e9185796d6053463b31261a0e02000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23171717171717171717171717171717171717161615151312100c07080705020000000000000000000000000000000000000000000000000000000000000000000815212d3945505a6264696969696969696969696969605d564c4135291d110400000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000000000713202d3a4653606d7984919ea9b3beccd2c5b9aca0968b7f72685d52453b3022180c0300000000000000000000000000000000000000000004101c2834404b55616e7a86929faab4bfbbafa3998f82766c61574d42393d474f58606a6f7b828991959ea0a8a9acafb6b3b4b5b5b4b3b2b4aeacaba39f98928c847d706b61696e7b838d92989ea0a8a8a9abacaeacabaaa9a7a8a19e9a949089827b716c605c545550483e352b1f150b00000000000000000000000000000713202d3a4653606d7984919eabb5bfcfd9e3e1d5c9beb3a99f92867b6e615a50453b31271e140b02000000000000000000000000000000000000000000000000000000040d161e29323d44505c66707d89867c6f6a5f584e453c332a21170f05000000000000000000040d161e242931363d424a50565d60696e757b6e675d5142382d20170d01000000000000000000000102020201000000000000000000020c18232e3945515c6774818d9aa8b1bdc8d4d1c5b8aca095887b6e6155483b2d22170b00000000000000000006111c2935404b55606d78839099a3afbbc4ced9cec3baafa59f92867c6f695e574d443b322b2217110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c89939393939393939393939399867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000081218232e39424d57606d7883909da6b0bbc7d3dedbd0c6b9ada1978a7d7164574d42362a1e1205000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232221201f1c18181514120e0906030000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717676767676767676767676766d685d5245392c20130700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000006121f2b37434e5864717e8a96a1acbbc5cfc9beb3a99e9184796d60564c4133291f10060000000000000000000000000000000000000000000006131f2c3845515c67737f8c98a3aebcbeb3aa9f92877c6e625a50453b3b454f59606a6f7c848f949da0a7acb2b6b9bbc0c0c1c1c2c1c0bebfbab8b5aeaaa39f9691877d706b6e7b8490959fa3aaacb2b5b6b7b8bab9b8b7b6b4b2adaba69f9c948f867e746d665d554b42392e231810070000000000000000000000000005111d2a36414c5663707d8a97a1adbdc6d1e1e6dacfc6b9ada1978c7f72695e52483e332a1f150c020000000000000000000000000000000000000000000000000000000000040c172028343f4a54606b75817d6f6a60584e463c332a21180f050000000000000000000000040c13191f262a30383f444c52575f62696e695e554b402f261c0e05000000030607080a0b0c0c0d0e0f0e0e0d0c0b0807060300000007121d2934404b55626f7c8995a0acb8c5d1d4c8bcb1a7988b7f726553493f33271b0f030000000000000000000d18242f3a44505c666f7c87929fa8b2bdc9d5d5ccc1baaea39891847b6e695e564d443d3428231c140c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a09f928679675d5145392c1f130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000007121c27303b44505c666f7c89949eaab7c2cdd8e2d5c9beb3a99c8f8276695f53463a2d211408000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3030303030303030303030303030303030303030302f2f2e2d2c28232421211e1a15130f0a04010000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8383838383838383838383827a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000000000815212e3a47535f6a7683909da8b2bdcdd2c6b9ada1978a7e71665c51433a2f20170d00000000000000000000000000000000000000000000000713202d3a4653606d7985919eaab4bfbaaea2988d80736a5f53483e38414d57606b707c8591969ea6acb1b8bdc3c6c8ccd2cecccbcacad0cac6c5bfbbb4aea8a09992867d707a849196a0a7aeb4b8bdc2c3c4c5c6c6c5c4c3c0bdb9b8b0aba69f98928b81786d675d544b40342822190c030000000000000000000000000713202d3946525e6875828f9ba9b2becfd8e3e2d5c9beb3a99e9285796d60574d42362c21180d0300000000000000000000000000000000000000000000000000000000000000050e17232e38424f59606c796f6b60584e463c342a21180f060000000000000000000000000001080d141a1e262e343a41454d53575e615e574d43392f1d140a0507060c10121315161718191a1b1c1b1a1a1917151312100b0606040c18232f394754606a7784919daab7c4d0d9cec2b5a99c8f8276655b5044372b1f120500000000000000000007131d28343f4a545f6a73808d96a0acb9c0cad3d6cbbfb4aaa19691847b6e685e564e463e342e261e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4adadadadadadadac9f9285796c554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000b151e28343f4a54606a75828f9ca6b0bbc7d3e1dacfc4b9ac9f93877b6e6155483b2f24190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e312e2d2a25221f1b15110d0701000000000000000000000000000000000000000000000000000d1a2633404d596673808c90909090909090909090877b6e6154473b2e21140800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000004101d2935404b55626f7c88959fabbac4ceccc0b6ac9e9285796d60544b4031281e0e050000000000000000000000000000000000000000000005111e2a36414c5664717e8b97a1adbcbfb5ab9f92857a6d60584e43333f49535e69707d869297a1a9b0b8bcc3c8ced2ccc7c6c3c0bebdbdbec0c3c5c7c6bfbab2aba39892867c828f96a1a9b1babfc6c8ccc7c6c2bfbcbbbdbec1c5c5c2bcb7b0aaa29f938e82796d665c51453f342a1e150b0000000000000000000000000714212e3a4754616d7a86929facb9c4cfdfeadfd2c6b9ada1978c7f72675d51453b30241a0f0600000000000000000000000000000000000000000000000000000000000000000006111c26303d44505b656c6560594f463d342a22180f060000000000000000000000000000000003090c141c23282f353c42474d5354534d453b31271d0b0e111414171c1f202223242526272828282726262422201f1c171313100c121d2b37434e586773808d9aaab4becad6d2c5b8ab9f9285796c605346392d201306000000000000000000010b17232e38424e58606d7984919ea4aeb8c1cbd5d0c6bcb2a8a09691847a6e68605850443f383028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bababababab8ab9f9285786c5f52452f24180c0000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000030c17232e38424e58636f7c89949fabb7c5cfdae0d4c8bbafa49a8c7f7265564c4135291d11040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49494848464440413e3b3a36312e2b27201d18130d080100000000000000000000000000000000000000000000000d1a2733404d5a6673808d999c9c9c9c9c9c9c9c94887b6e6155483b2e22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000006131f2c3945515d6774818d9aa7b1bcccd4c8bbafa49a8d8073665c5142392e1f160c00000000000000000000000000000000000000000000000714202d3946525e687683909ca9b3bebbaea3998d8073685d52463c3744505b656e7b859298a2a9b2bbc1c8ced0cac7c0bbb9b6b3b1b0b1b1b3b6b9babfc6c4bdb4aaa29892868f949fa9b2bbc3cbd0c7c0bbb9b5b2afaeb0b1b4b8babec5c2bcb4aea59d948f82786d605b51463c30271d120700000000000000000000030f1c28333f4a5464717e8b99a3aebbc7d3e0ebded1c5b8ab9e9285796d60554b4033291f120800000000000000000000000000000000000000000000000000000000000000000000000a141e27333f49535b605b534f473d342b2218100600000000000000000000000000000000000000020a11171e242931373b42464846423b33291f1514191e202123282c2d2f3031323334353535343332312f2d2b2823201f1c18121b27323d495663707c8998a2aebac6d3d3c6baada297887b6e6255483b2f2215070000000000000000000006111c26303c45515d67707d89929da6b0b9c3cdd6cec4bab2a8a09691837a6f6a615a504a423c342e271e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1bec6c6c6c5b8ab9e9285786b5f52452f24180d0100000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000006111c26303d4854606b76828f9ca9b3becad6e2d8ccc0b6ac9c8f8376685d5245392c2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256565656565656565656565656565656565656565656565656555453514a4e4b4846423c3b37322c29241d19130c04000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7a9a9a9a9a9a9a195887b6e6255483b2f22150800000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000000000714202d3a4753606d7985929fabb8c2cdd2c6b9ac9f93877b6e61544b4030271d0d0400000000000000000000000000000000000000000000000814212e3b4754616e7a86939facb9c4b9ac9f92867b6e61564c4137434e58606c77828f97a2aab3bbc4cdd4cec6bfbab5afaca9a6a4a3a4a5a6a9acaeb4b9bdc4bcb4aaa29993999fa6b0bbc4cdccc3bdb5afaca8a5a3a2a3a5a7abadb3b8bdc3bebaafa69e948e81746d63584e43392e23180c0100000000000000000006121f2b3844505b6675818e9babb5bfcbd7e3e0d4c8bcb1a79a8d8073675d5143392f21170d000000000000000000000000000000000000000000000000000000000000000000000000020c17222d38414950535049413d342b2219100700000000000000000000000000000000000000000000060b131920262b31363a3b3a363129211a1e21252a2d2e2e34383a3b3d3e3f3f4041424141403f3e3b3a38342e2d2c28231f1c202d3a4653606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e2e23180c00000000000000000000000a141e2935404b55606b74808d949ea7b1bbc4ced6ccc4bab2a8a09591847c716c605c544e444039302a261f1a140e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd3d1c5b8ab9e9285786b554b4035291d100400000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000a141e2c38434f5964717d8a97a1adb9c6d2dfddd2c5b9ac9f92867a6d6054473a2d2114080000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f63636363636363636363636363636363636363636363636363626261605c545a5754534d4947433d39352f29241e160d090200000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4b6b6b6b6aea295887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000004101d2935404b5564717e8a98a2aebac6d5c9bdb2a89c8f8276695f5342392e1e150b000000000000000000000000000000000000000000000005111d2935414c5665727e8b99a4afbbbdb2a89b8e8174695e52433a3a47535f6a727f8c949fa9b3bcc5cdd3cbc3bcb4aeaba49f9d9998979798999c9fa3abadb2bbc1bcb4aba49fa4abb0b8c2cdcbc2bab1aba49f9b99969596989a9fa2a9acb1bac0c1b8b0a69d938c7f726a5f554b4034281d12070000000000000000000613202d394653606c7985929eabb8c5d1dce7ddd1c4b8ab9f95887b6f62554b4031271d0f050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4446443f382f2b2219100700000000000000000000000000000000000000000000000001080d151a1f252a2d2e2d2a251f1f262b2e30363a3b3e3f444648494a4b4c4d4e4f4e4d4d4c4a4846443f3d3a38342e2b28232c3844515c6675828f9ca8b5c2cfdbd0c1b4a79a8e817467544b4034281c100400000000000000000000020c18242f39434f59606c78828f95a0a9b3bcc6d0d5ccc3bab1a7a09691867e746d665f58514a423c36312a251f19140e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679675d5145392c20130600000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000020c1b27323d4653606d7985929eabb8c5cfdae0d3c7bbafa3998a7d7164574a3e3024190d0100000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c70707070707070707070707070707070707070707070707070706f6f6e6d66696764615e5756544e4745413a352f281f19140d05000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1c3c3bcafa295897c6f6256493c2f23160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006131f2c3945515d6775828e9baab3becad2c5b9ada1968a7d7064574d4230271d0c0300000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0b8aca096887c6f62574d4236414c56626e7c86929fa6b0bcc5ced3c9c1b9b1aaa29f9993908d8b8a8a8b8d9092999ea1a9afb7c1bdb5afacafb5bdc2cad0c2b9b1a8a099938f8c89888a8b8e92979da0a8aebbbfc1b8afa59f92877c6f675c5145392f24180d0100000000000000000916232f3c4956626f7c8997a2adb9c6d2e3e9dcd0c3b6a99d9083766a5f5343392f1f150b0000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d33373937332d261d19100700000000000000000000000000000000000000000000000000000003090e141a1e2121211d23282c31373a3b4246474b4a505355565758595a5b5b5b5a5959575553504a4a4645403a38342e2934404a5466737f8c99a6b2bfcfdad0c3b7aa9d908477665c5145382c1f1306000000000000000000000007121d27313d44505b666d79839097a1aab4bdc6cfd5ccc3b9b1a8a198928b80786e6a605c544e46423b36302a251f1a140e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d3c7baaea398867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a161f2c3845515c6674808d9aa9b3becad6e2d7cbc0b5ab9b8e817468564c4135291d110500000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbeb2a5988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b79787674716e696762605854514b45413a312a251f170e080000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cec9bcafa296897c6f6356493c3023160900000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000714202d3a4753606d7986929facb8c5d0d1c4b8ab9e9184786d6053463b3120150b0000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c4b7aa9e9184776a6054453b3946525e6874818e98a3aeb8c2ced5cbc1b7afa79f98928d8783807e7d7e7e8083868c91969ea5afb7c1c0bbb9bbc0c7d0d2c7bdb1a79f959187827f7c7b7d7e81858a91959da4aeb5bdc1bbafa3999083796d60554b4035291d120700000000000000030f1b27333f49536673808c99a9b3becad6e2e1d4c8bdb1a8988b7f7265584e4331281d0d03000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b22272b2d2b27221b140b0700000000000000000000000000000000000000000000000000000000000003090e11171d24292e34383c4247484d525458545c606263646566676868686766656462605c545753514b46443f38352f3d4a5763707d8a96a8b2bdc9d5d2c5b9ac9f9286796d6053463a2d2013070000000000000000000000010b151f28333f4a545d676e7b859198a3abb4bcc5ced5ccc3bab2aaa39f928d837c736d666058534d46423b36302a251f1a140e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdad7cbbfb4aa94877b6e6154483b2e21150900000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8997a1adb9c6d2dfdcd1c4b7aa9e918477685d5246392d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918b8989898989898989898989898989898989898989898989898989898887868483817e7b78736f6a65605d55524c433e3630292019110900000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec9bcafa396897c706356493d3023160a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000b1724313e4a5764717d8a98a2aebac6d3c8bcb1a7998c7f73665c5044382b1f12030000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a3afbbbcb1a7998c807366584e4334404a54616d7a86929faab4bfcad4cec3b9afa59e959086807a76737170717273767a7f848e939ea5afb9c3c7c6c7ccd2d7ccc0b5ab9f9590837c7572706f707274797e848d929fa3abb5bfc0b5aba0958c7f72675d5145392f24180c0000000000000005121f2b3744505b6576838f9ca9b6c2cfdbe6ded1c5b8aca095877b6e6154483c3121160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f201f1b17110a0200000000000000000000000000000000000000000000000000000000000000060b141b22272f35394045464d5355565e616468666d6e7071727273747574747372716e6d666763605c5453504a4540393a4754616d7a8796a1adb9c5d2d4c7bbafa399887b6e6255483b2f221508000000000000000000000000030d17222d38424b555e696f7c869299a3aab4bcc5cdd5ccc4bcb4aea49d9590867f786f6a615f57524d46413b36312a261f19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a9b3bec9d5dcd1bcafa396897c706356493d31261a0d04000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000c18232e394653606c7985929eabb8c5d1deded2c5b9aca096877a6d6154473a2e21140700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0707070707070707070707070707070707070707070707070707070707111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc3b8ada39b98969696969696969696969696969696969696969696969696969695959992918f8d8a8784807c77726d67605d565046423b322b231b130a010000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec9bcb0a396897d7063564a3d3023170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005121e2a36424d576874818e9baab4bfcad1c5b8aca095877b6e61544a3f34281c1003000000000000000000000000000000000000000000000004101c2934404b556774808d9aabb5c0b8aca095887b6f6255483c3844515c66737f8c98a3aebcc6d1d0c6bcb1a79e938f837b736e68666564646566676d727a818e939ea7b1bcc8d2d4d7ddd4c7bbafa4999083796f6a6663626365676d7179808a9299a3aebbbfbdb1a79e9285796d60554b4035291d12070000000000000613202d394653606c7985929fabb8c5d2deeaddd0c4b7aa9d918477695e53463a2d21140400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f1213120f0b0600000000000000000000000000000000000000000000000000000000000000010710181d262d333a41454b5153575f6266696e717477797b7c7d7e7f8081828180807f7d7b797674706d6664605c54514b443f46525e687884919eabb7c4d1d7cbc0b5ab968a7d7063574a3d3024170a0000000000000000000000000006111c262f3a434d57606a717e879298a2aab3bbc4ccd5cec6bfbaaea79f99928c837c746e69615e57524d46423b36312a251f18130b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8797a1adb9c6d2d9ccbfb3a6998c807366574d42372b1f160b020000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b5c1d0dbe1d5c9bdb2a896897d7063564a3d3023170a00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417141414141414141414141414141414141414141414141414141414141414141e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c9a9796918d89847f7a736d68615a524d443d352d251c130a0100000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabdb0a3978a7d7064574a3d3124170a00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714202d3a46525e697884919eabb7c4d0d0c3b7aa9d908477695e5342382e23170b00000000000000000000000000000000000000000000000006131f2c3845515c677683909da9b6c3b7aa9d9184776a5f53473a3a4653606d7985919eaab4bfcfd6cabfb4aaa0958f81796e69615e5658575758555d60686d77818e95a0abb8c3cdd9e3dfd2c6b9ac9f93877b6e676058565557555d60676d747e87929fa3adb8c2b9ada1978c7f72675d5145392e23180c0000000000000815222e3b4855616e7b8898a2aebac6d3dfe6dacdc0b3a79a8d807467574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050605030000000000000000000000000000000000000000000000000000000000000000030b1218222a2f383f444b51555c6065696e73777b7e81838688898a8b8c8d8e8e8e8d8c8c8a888583817d7975716d66605d55504a424c566976838f9ca9b6c2cfdcd1bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000a141d28313b454e58616c717e869298a1a9b2bac3cbd5d0cbc0b9b1aba39f959087817b746e69615e56534d46423b363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687885929eabb8c5d1dcd0c3b6a99d908376695f53473c31281d140c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8b97aab4becad6e2d9cebfb2a5998c7f7266594c3f3326190800000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242121212121212121212121212121212121212121212121212121212121212121212b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafb5afacaba9a7a8a19e9a96918c85807a716c615e564f473f372e251c13090000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabdb0a4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000815212e3b4854616e7b8796a1acb9c5d2cbbfb4aa9a8d807367574d4230261c11060000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c0b4a79a8d817467584e43373d495663707d8997a1adbcc6d1d3c6baaea2989083796d675e57524c4b4a4b4b4b51565d656d7883909da7b1bcc8d4e4dbcfc2b5a89c8f8275695f554e49484a4b51555d606c717e8b919ca6b0bdbeb3a99e9185796d60554b4034281c100400000000000b1724313e4a5764717d8a97aab3becad6e2e1d5c9bdb2a8968a7d7063574a3d31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151d2329343c414950555d60676d71767b8084878b8e909298969798999a9b9b9b9a9998979892908d8a85817d78726d67605b544e4e5b6774818e9aa7b4c1cddacdc0b4a79a8d8174675a4e4134271b070000000000000000000000000000020b161f29333d46505a616c717d869297a1a8b1b9c0c9cfd6cbc2bdb4aea7a099928e86817b746e68615e57534d46413b352f27221b140b07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2cfdad2c6b9ac9f93877b6e62584e433a2f261e150d05000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000b17222d3b4855616e7b8898a2aebac6d3dfdbcec2b5a89b8f8275685c4f422f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d9d1c9c3c0bebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcc0bbb9b7b6b4b2acaba8a09e97928d857e766e69605951493f372e251b110700000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb1a4978a7e7164574b3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d3c7baaea398897d7063564a3d3123140a00000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebabdb2a8978a7e7164574b3e343f4a546673808c99a9b3becfd6cbbfb4aa9f92867b6e675d554d46413e3d3e3f41454c535c666f7c8995a0acb8c7d2ddd8cbbeb2a5988b7f7265574d433d3c3d40454b515a616c727f8c949fabb5c0b9ada1978b7f72675c5145382c1f130600000000000d1a2733404d5a6673808d99a6b3c0d0dbe6dfd2c5b9ada196877a6d6154473a2e211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161f272f343f464e535b60676d72797e83888c9095979b9d9fa3aaa4a5a5a6a7a8a7a7a6a5aaa29f9d9a98928e8a847e79726c665f58515965727f8c98a5b2bfcbd8cfc2b6a99c8f8376695c50432f24180d010000000000000000000000000000040d17212b343e48505a616b707c859196a0a7aeb9bec5cdd7cfc6bfbab1aba39f99928d86807b746e69615f57524d45413a332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303f4c5966727f8c99a8b2bdc9d5d4c7bbafa4998e81746a5f554b423830271f170f070000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d9084776a564c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bdb9b7b2aca9a29f97918b827b706b625b51493f372d23190e05000000000000000000000003101d2a3643505d697683909ca9b6c3cfcbbeb1a4988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000005111d2935414c566774818d9aa7b4c0ced2c5b8ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfb9aca196877b6e6154483b3844505c6676838f9ca9b6c2cfd3c7baaea3988d8073695f554b433b363031312f353a414a54606a7783909dacb6c0ccd8d5c9bcafa296897c6f6356493c312f2f35394045505a636d76828f99a3afbbbeb3a99e9184796d6053463a2d22170b00000000030f1c2936424f5c6975828f9ca8b5c2cfdbe8ded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720283139404550585f656c717a7f848b9095999da0a7a7aaacaeb4b0b1b2b3b4b5b4b3b3b2b4aeaca9aaa29f9b96918b857f786f6a635b5764707d8a97a3b0bdcad6d1c4b7ab9e9184786b554b4035291d1104000000000000000000000000000000050f19222c363e485059606a6f7b8490959da4adb3bbc2cbd1d1cbc3bdb5afaba39f98928d86817b746e69615e56514b443f382f28231d150c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8996a1adb9c7d2d7ccc0b5ab9f92877c6f675d544a423931292118120b03000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657683909ca9b6c3cfdcdfd2c5b8ac9f928579685d5245392c201307000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a474747474747474747474747474747474747474747474747474747474747474747474747474747515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3f3ebe3dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d4d2d1cfcec9c5c4bdb9b3ada9a19e948f857d726d635b51493f352b20170b020000000000000000000004111d2a3744505d6a7783909daab6c3d0cbbeb1a5988b7e7265584b3f3225180c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000713202d3946525e687784919daab7c4d0cfc2b5a99c8f8276675d5145382c1f1306000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0b7ab9e918478695e52463a3a4653606d7985929facb8c5d2d2c5b8ac9f92867a6e61574d4339312a25242424292f38424e5865727f8b9aa4afbbc8d4d4c8bbaea195887b6e6255483b2f2224292f353e48515b626f7c87929faab4bfb9ada1968a7d706353493f33271b0f0300000004111d2935414c566a7784919daab7c4d0dde8dbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a434b515a626a6f787e858c91979d9fa7aaacb1b4b6b9babfbdbebfc0c1c1c1c0bfbfbfbab8b6b4aeaba8a09e97928b837c726d605c626f7c8995a2afbcd0dbd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000007101a242c363e474f5860696e7b838d929ea1a9b0babfc6cfd4cfc7c0bbb5aeaaa39f98928d87817b746e68605d555049413c342e271e18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb5c0ccd7d2c7bbafa3999184796d665c544b433b3328231d150c060000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddadfd3c6baaea298877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645754545454545454545454545454545454545454545454545454545454545454545454545454545454545e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1cdd1d2d5dadad5d2cec9c5bebab3ada69f9792877f726d635b51473d32291d140a0000000000000000000004111e2a3744515d6a7784909daab7c3d0cbbeb2a5988b7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714212e3a4754616d7a86939facb9c6d2c9bdb2a9988c7f7265554b4035291d1004000000000000000000000000000000000000000000000000030f1b27333f49536976828f9ca9b5c1b5a89b8e827568574d42363c4956626f7c8998a2aebac6d3cec1b5a89b8e8275685e52453b31271f191718181d26303d4754616e7a87939facb9c6d2d4c7baaea194877b6e6154483b2e21181d2429364047535f6a74818d98a2aebabdb2a89a8e8174655b5044372b1f12050000000713202c3945525d687985929facb8c5d2dfe6d9ccbfb3a6998c807366594d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c555c606c717c838b91979ea1a9abb1b7b8bcc1c3c5c7cbd1cbcccdcecececdccd0cac7c5c3bebab8b2aca9a19e9590867f746d66616e7b8794aab4bfcad6d3c7baaea398867a6d6053473a2d201407000000000000000000000000000000000008121a242c353d464e575f696e79808a92979fa6aeb4bcc1c7cdd1cbc6bfbbb4aeaaa39f99928e86817b736d67605b534e454039302a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808c99a4afbbc6d0d7cbc0b5aba0968e81786d665d554d453e342e271e180f0701000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e2d6cabfb4aa95887c6f6255483c2f221509000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164616161616161616161616161616161616161616161616161616161616161616161616161616161616161616b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9babfbdc1c4c5c9ced3d6dbd9d5d0cac4beb9b0a9a199938b7f726d62594f443a2f261c110600000000000000000004111e2b3744515e6a7784919daab7c4d0cbbfb2a5988c7f7265594c3f3226190c00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000a1724313d4a5764707d8a9aa4afbbc8d2c5b9ada196887b6f6255483c2f24180c0000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c0b3a6998d8073665a4d40303e4a5764717d8a97aab4bfcad6cbbfb4aa988b7e7265564c4133291f150d08070b15202d3946525e687784919daab7c4d0d4c8bbaea195887b6e6255483b2f22151218242b37434e58616d7a86929facb8c4b8ab9e9185786c605346392d2013080000000714212d3a4754606d7a8798a2aebac6d3dfe4d7cabdb1a4978a7e7164574b3e31241808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28313b444c565d676d757e8690959ea1a9adb2b8bcc2c5c8ced0d2d2d1cecbd0cac6c5c4c5c6cad0caced0cac6c4bdb9b3ada79f99928c81786d676d7a8698a2aebac6d3d6cbbfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000008121a232b343c454d575e676d747d858f949fa3aaafb8bcc2c9ced1cbc6bfbab4aeaba39f99928d86807a716c655f58514b423c3429241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939faab4bfcbd6d1c7bdb2a89e938e81786d675e574f454039302a2118130c040000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdcad6e7dbd0bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb4b1b4b7b9bdc4c6cad0d6dbdbd6cfc9c2bbb3aba49f918c7f726b60564c42382d22170b04000000000000000005111e2b3844515e6b7784919eaab7c4d1ccbfb2a6998c7f7366594c403326190d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000010d1a2734404d5a6773808d9aacb6c0ccd1c4b8ab9e9184786a5f53473a2e1d1207000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9beb1a4988b7e7165584b3e323f4b5865727e8b98a5b1bed0d3c7baaea398887b6e6255483b3022170d03000005111e2a36414c566774818e9aa7b4c1cfdbc8bcafa295897c6f6256493c2f231607121b26313c46525e6875818e9ba9b3beb9ada197897c6f6256493c3025190d0100000915222f3c4855626f7b8895aab4bfcad6e2e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a434c565e686d79818b92989fa7adb3b9bec4c8cdd1d4d2cfc9c5c4c1bebbbfbab8b8b8babfbbbec1c4c5c9cec9c5beb9b1aba39f938e82796d677985929facb8c5d2dcd0bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000081119222b333c454d555c606b707a828b92989ea5abb1b9bdc4cacfd0cbc6bfbab5afaba39f98928d847e786f6a605c544e463f352f281f180f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3846535e6975828f98a3aebac3ced7cfc3baafa59e938e81796e696159514b423c3329241d160d0600000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2d7cbbeb1a4988b7e7165584b3e3225180b000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a84919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abacb2b8babfc6cacfd7dfdad5cdc5bdb5afa39f92877d6f685e544a3f332821160a000000000000000005121e2b3845515e6b7884919eabb7c4d1ccbfb3a6998c807366594d4033261a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000004101c2934404b55697683909ca9b6c3d2cec1b5a89b8e827568584e43372b1f0b01000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a3aebabcafa396897c706356493d33404c5966737f8c99a6b2bfccd2c5b8ac9f928579695f53473a2e211406000000010d1925303e4b5864717e8b97a9b3becad6cabdb0a4978a7d7164574a3e312417060a15202a36414c5664707d8a97a2adbabeb3a9998d807366564c41362a1e110500000a1724303d4a5763707d8a96a3b0bdd0dbe7e2d5c9beb3a994887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424b555e686e7a828e939fa2aab1b9bec4c9cfd4d4cfc9c6c4bdb9b7b4b1afb4aeacabacaeb4afb1b4b7b9bdc4c5c9c9c2bdb4aea59d948f82786d7884919eabb7c4d1d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000071019212a333b434b515961686e777f868e939d9fa7acb2b9bec5cacfd1cbc7c0bbb5aeaaa29f97918b837c736d665f585145413a312a211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d57616e7b86929fa8b2bcc5d0d5ccc1b7afa59e938f837b706b605c544d453f352f281f181009000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad1dce7d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787879196a0acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929994979a9ea1a8acaeb4b9bec5cdd7dddfd6d0c7c0bbafa39991847a6d665b50443d32271b0f050000000000000005121f2c3845525f6b7885929eabb8c5d1ccc0b3a6998d8073665a4d4033271a0d00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006131f2c3845515c677885919eabb8c4d1ccbfb3a6998c807366594d4031261b0f00000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995aab4bfbfb4aa94877b6e6154483b34404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b574d42372b1e1206000000000815222f3b4855626e7b8897a2adbac6d3cbbfb2a5988c7f7265594c3f2e23170b030d1925303a4653606d7985929fabb8c3b7aa9d908477685e5246392d20130700000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545d676e7a8390949ea5aeb4bcc2c9cfd5d7cec8c5beb9b8b2adaba8a4a2aaa29f9e9fa2aaa2a4a7abadb2b8b9bdc4c8c6bfbaafa69f948d80747784909daab7c3d0d7cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000070f182129313940454f565e656c727b828990959ea0a8adb3babec5cad0d1cbc6bfbbb4aea9a19e95908780796f6a625b514c433c332b231a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b46535f6973808c96a0aab4bec7d2d3c9c1b7afa59e9590857d746d665f575045403a312a221b12060000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693aab4bfcbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b9894949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949ea0a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888a8e91969a9fa2aaadb3bbc2ccd2d9e2d9d2cbc0b5aba1968f82786c60594f43382c21170b0000000000000006121f2c3945525f6c7885929fabb8c5d2cdc0b3a79a8d8074675a4d4134271a0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac978a7e7164574b3e3124180a00000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcbaaea39886796d6053463a35414e5b6874818e9ba7b4c1ced0c3b6aa9d9083776a5d504431261a0e02000000000613202d394653606c7985929fabb8c5d2cdc1b4a79a8e817467544a3f34281c100308131f2c3845515c6674818e9aa7b4c1b8aca095877a6d6154473a2e21140700000c1926323f4c5965727f8c98a5b2bfcbd8e5ded1c5b8ab9e928578675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a44505c666d798390959fa6afbabfc6ced5d8d1cbc3bcb8b3adaba8a19e9b98959498929192989495979b9ea1a8abadb2b8bcc3cac1b8b0a69d928b7e7783909daab6c3d0d8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000060f171f272f343e444c535b60696e757c838a91969ea1a9adb3babec5cbd0d1cbc6bfbab2ada79f99928c837c726d605d554d453d352b231a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d79849198a2acb6c0ccd2d3c9c1b7afa7a097928880796e69625a514b433c342d2417110a02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a3aebac7d3e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0aaacb2bac4ced9e5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea2a9b0bbc0c7d0d9e1dcd1c7bdb2a99f948c80736b6054483e33281c100400000000000006131f2c3946525f6c7985929facb8c5d2cdc0b4a79a8d8174675a4e4134271b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222f3b4855626e7b889aa4afbbc8d4c8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdb8ac9f928579665c50443835424e5b6875818e9ba8b4c1cecfc2b6a99c8f8376695c504336291d09000000000005121f2b3744505b6576828f9ca9b5c2cfd0c3b6a99d908376665c5044382b1f120604101c2834404b5464717e8a97aab4bfbcb1a796897c706356493d3023160a00000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444f59606d78828f95a0a7b0b8c1cad0d8d5cfc6bfbab1aca9a19e9996918e8b8887868585858687888b8e9196999ea1a9abb1babec5c2b8aea49f92867a83909ca9b6c3cfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000050d151d2329323b414950575f616b6f767e848c92979fa2a9aeb3babfc6ced5d0cac4beb9b1aba39f9591867f756d675f574f473d352c231a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b45515d676e7c86929aa4afbbc0c7d0d3c9c1b9b1a9a19a938d837b716c605d554e463e3628221c140b020000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b676d6e7174787b80868c92979fa6afb5bdc7cfd9e3d9cfc4bbb0a69f93887c6f63594f44382c20160a00000000000005121f2b3744505b657986929facb9c5d2cdc1b4a79a8e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1724303d4a5763707d8a96acb6c0ccd2c6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdb8ab9e9285786b5f4a3f3434414e5b6774818e9aa7b4c1cdcfc3b6a99c908376695d5043362a1d060000000000030f1b27333f49536673808c99a6b3bfced2c5b8ac9f9285796d6053463a2d201307000c18232e3b4855626e7b8898a2aebabeb2a5988b7f7265584c3f3225190800000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56606b74808d949fa7b1b9c2cad6dbd3cbc3bcb4aea7a09d97928c8884817e7c7b7a7978797a7b7c7e8184888c91969d9fa7adb3bcc1c0baaea2988e81828f9ca9b5c2cfd9ccbfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000030b121820292f383f444d535960636c71797f858c92979fa2aaaeb4bcc1c9ced6cfc9c2bdb5aea7a098928b82796e6960594f473e352c23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a707e88939fa3afb6bec5ced3cbc3bbb3aca49f9590867e756d675f58504840332d261d140b0200000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5f6c7885929fabb8c5d2dedacdc0b4a79a8d8174675a4e4134271b0e000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebababababababababababababababababababababababababababababababababababababababababababababababac4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d555d60616467696e737a7f858f949fa4abb5bdc7d1dce1d6cdc2bbafa49a9083766b6155483d32271b0f0100000000000613202d394653606c798699a3aebbc7d3cec1b4a79b8e8174685b4e4135281b0e02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000c1825323f4b5865727e8b98a5b1bed2d1c4b7ab9e918478675d5145382c1f130600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beb7ab9e9184786b5e51452e34414d5a6774808d9aa7b3c0cdd0c3b7aa9d9084776a5d51442e23170b0000000000000b17222d3d4a5763707d8a96a8b2bdc9d3c6baaea298887b6f6255483c2f221507000713202d394653606c7985929facb8c0b4a79a8d8174675a4e413025190d01000e1a2734414d5a6774808d9aa7b3c0cddae6dcd0c3b6a99d9083766a5d5043372a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c3945525d68707d88939fa6b0b9c3cbd4dbd3c9c1b9b1aaa39f95908b85807b7875716f6e6d676b676d6e6f7174787b7f848a90959fa2a9b0bbc0beb4aa9f938784919eaab7c4d1d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000001070e171d262d333c42464f545a61666d727a7f858c92989fa3aab0b9bdc4cbd1d5cfc6bfbbb1aaa39f948f837b6f6b60594f473e352b22180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434e58616c727f8b919fa4acb3bcc3ccd6cdc5beb6afa7a098928b81796f6a615a51443f382f261d140a00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000b17222d46525f6c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4134271a0e000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe2dad4cfcccbc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d1d2d5d9e0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514b51545557575f61686d737b828c9399a3abb5c0cbd7dcdfd8ccc0b6ac9f948a7d7063584e43372b1d130700000000000713202d3a4653606d798693a0b5bfcbd7cec1b5a89b8e8275685b4f4235281c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcfc2b5a89c8f827569554b4035291d100400000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e51443734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a3f34281c100300000000000614212e3a4754616d7a8796a1acb9c5d2cabfb4aa978b7e7164584b3e2e23180c0006121f2b3844505b667683909da9b6c3b6a99c90837669564c41362a1d1105000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606d7a84919aa4afb8c2cbd5dcd3c9c1b7afa7a098928c837e79736e6968656261605d555c6061626468696e73797e838b92979ea6afb6bebbafa499939196a0acb9c5d2d9cdc0b3a69a8d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000050b141b222731373d434850545c60676d737a80858d92989ea6acb2bbc0c7cfd6d1cbc3bcb4aea69e9591857d706b61594f473d342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46505a626d727f8b939aa2aab2bac1cad0d0c7c0bbb1aaa29f938e837c716c635b504a42382f261c1106000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2dfd9cdc0b3a69a8d8073675a4d4034271a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0f4ece5dfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dddee1e5ebf2f8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686e787f879299a3afbbc0cad4e2ddd2c7beb0a69d9083776a6054473a2f24180d01000000000714202d3a4753606d7a8693a0adb9d1dccec2b5a89b8f8275685c4f4235291c0f02000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cecdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfb6aa9d9083776a5d504437333f4c5966727f8c99a5b2bfccd2c5b8ab9f928578665c5044382b1f120600000000000713202d3946525e687884919eabb7c4d1d0c0b4a79a8d817467544b4034281c1004030f1c28333f4a546774818e9aa7b4c1b8ab9e928578685e5246392d201307000e1b2835414e5b6874818e9ba7b4c1cedae7dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313a46535f6974808d96a1acb6c0cad3ddd4cac1b7afa59e9590867f78716d67615f5758555453514b5153545558575f61666d71777e858f949fa4acb5bdb5aba49f9ea0a8b2bdc8d4dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000020a11171f262b32383e424b51555d60686d737a80868f949ea1a8afb5bdc4ccd7d7cfc6bfbab0a7a09792867d706b61594f463c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343e47515b626d727f889298a0a8afbabec5ced2ccc3bcb4aea59e9591867e736d605b544a42382d221711080000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d4e0d9ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3f0ebe3dbd4cfcccbc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42464c52565e666c737e87929fa4aeb8c2d0d9e4d9d0c2b8aba095897c6f62554b4035291d1104000000000714212e3a4754616d7a8794a0adbac7d3cfc2b5a89c8f8275695c4f4236291c0f03000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000003101c28343f4a546a7784909daab7c3d0cbbeb1a4988b7e7165584b3e322518070000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2beb7aa9d9184776a5e514437313e4b5764717e8a97a4b1bdd0d2c6b9ac9f9386796d6053463a2d201307000000000005111d2a36414c566875828f9ba8b5c2ced0c3b6a99d908376665c5145382c1f1306000b17222d3f4c5865727f8b98a5b2beb9ada297877a6d6154473a2e211407000f1b2835424e5b6875818e9ba8b4c1cedbe7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8b2bec7d2dcd5cbc2b8afa59e938e837c726c66605c55534d4b4948474540454748494b4d53545c60646c717b828b939aa4abb5bdb5afacaaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000000000000000000000000000000000000060b141a21272c303940454b51565d60686d737b828a91969fa3abb2bac1cbd1d8d1cbc1b9b1a9a29892867d706b60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222c353f49515b626d727d8691969ea5aeb3bcc2cbd1cec6bfbaafa8a098928b7f746c665b544a3f3328231a0e0500000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7e3d8ccbfb2a5998c7f7266594c3f3326190c000a1724313d4a5764707d8a97a3b0bdcad6e3ede3d9d1c9c4c0bfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2e31363a41464d545b606c727f8b929ca6b0bec7d2dde2d4c8bcb1a79b8e8174675d5145392c201306000000000814212e3b4754616e7a8794a1adbac7d4cfc2b6a99c8f8376695c504336291d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505c667885929fabb8c5d2c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1beb7ab9e9184786b5e51452e303d495663707c8996aab4bfcad4c8bbafa49a877a6d6154473a2e2114070000000000010d192530404c5966737f8c99a6b2bfcfd2c5b9ac9f9286796d6053463a2d20130700061724313e4a5764717d8a97a4b0bdbeb3a995887b6e6255483b2f221508000e1b2834414e5b6774818e9aa7b4c1cddae7dccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975818e99a3aebac4d0d9d9cec3b9b0a69e938e81796f6a605b54514b46423e3c3b3a3835383a3b3c3e42464a51535a62696e757f889399a3abb5c0bbb9b7b9bdc3ccd5e0dacec1b4a79b8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454c52565d60696e757d848d9299a1a8b0bbc0c7cfd8d7ccc3bbb3aaa29892867d6f6a5f554b40342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232d373f49515b626b707c848e939fa2aab0bbc0c7cfd0cac1bab1aaa29f918c80786c665b50443f352c20170c02000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebad1dce8d8cbbeb2a5988b7f7265584c3f3225190c000a1724313d4a5764707d8a97a3b0bdcad6e3e6dbd1c7bfb8b3b2aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0ebded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d181d202122262a30353b424a5059626d73808d949facb6c0ccd8e2d9cdc3b8ac9f92867a6d6053473a2d201409000000000815212e3b4854616e7b8794a1aebac7d4cfc3b6a99c908376695d5043362a1d1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000713202d3a4653606d798698a2aebac6d3ccc0b5ab95887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdb8ab9e9285786b544b40342f3b4855626e7b8898a2aebac6d3ccc0b6ac96897c6f6356493c30231608000000000000081724303d4a5763707d8a96a8b2bdc9d3c7baaea399887c6f6255493c2f221608000a1623303d495663707c8996a3afbcbcafa295897c6f6256493c2f231609000e1a2734414d5a6774808d9aa7b3c0cddae6dccfc3b6a99c908376695d5043362a1d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb5bfccd6e0d4c8bcb1a79f948f81786d675f58504a45403936312f2e2d2c292c2d2e2f31363940444650575e616d727e879299a3afbbc1c6c4c5c8ced5dee7dacec1b4a79b8e8174685b4e4135281b0e000000000000000000000000000000000000000000000000000000000000000000040a0c151d23282f353a41454c52575f616c7079808791969ea6afb5bdc6cfd8d5cdc5bcb4aaa29892857c6e675c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d373f495159616a6e7a818a92989fa6afb5bdc5cdd6ccc3bcb4aea49c928d81786c605b51473e32291e1308000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d7cabeb1a4978b7e7164584b3e3125180b000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c9bfb5ada7a5a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1abacb2bac4cedae5ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111070d111314151a1e24292f383f44515b606c77828f9aa4afbbc6d1dce0d3c7baaea3988a7d7064574a3d31261a0e020000000815222e3b4855616e7b8894a1aebbc7d4d0c3b6a99d9083766a5d5043372a1d1004000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212d3a4754606d7a8793aab3becad4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdb9ac9f928679665c5145382d394653606c7985929facb8c5d2d2bfb2a5988c7f7265594c3f3024190d0100000000000714212e3a4754616d7a8796a1adb9c5d2cbbfb4ab988b7e7265584b3f2f24190d010915222f3c4855626f7b8895a2aebbbcafa396897c706356493d3023160a000d1a2733404d5a6673808d99a6b3c0ccd9e6ddd0c3b6aa9d9083776a5d50442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbdc6d1dfd7cec6b8aca0958f82786d665c554e443f38342e2a262221201f1d1f202122262a2e34383e454d525b626c717e87929fa5afbac4ced2d4d9e0e7e7dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292f353a41454d535961676d737d848f949fa3abb4bdc6ced7d7cec6bcb4aaa2979083796d60594f443a3024190d02000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f474f575f686d757e8590949fa3abb3bbc3ccd4cec6bfbaada49d938d80746d635a50443a3025190b020000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e3dccfc4b8ada39b9895959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5e1ded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040607090e13191d262d333f44505b656f7c87939fabb4bfcbd7e3d6cbbfb4aa9b8e817468574d42362a1e12050000000815222f3b4855626e7b8895a1aebbc8d4d0c3b6aa9d9083776a5d5044372a1d1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000814212e3b4754616e7a8794a1adbad0d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcbaaea39886796d6053463a2d3844505b6676838f9ca9b6c2cfcec1b4a89b8e817568564c4135291d110500000000000713202d3946525e687884919eabb8c4d1d1c1b4a79b8e817468564c4135291d11040815222e3b4855616e7b8894a1aebbbdb0a3978a7d7064574a3d3124170a000d192633404c5966737f8c99a6b2bfccd9e5ddd0c4b7aa9d9184776a554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0cfd8dbd0c6bcafa59d9083796d665c544b433c332d28231d1a1615141310131415161a1c23282c333b4246515a626c717e8b939ea8b2bdc9d5dee5ebf1e6dacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000070c13181e242930353b42464f555d606b6f7a828c9299a3abb4bcc5ced7d8cfc6bcb3a9a0958d80736b60564c4135291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b242d353e454e565d606c717b828c9299a1a9b1b9c2cbd4d0cabfb6aea59d928c7f726c61564c41362a1d140a0000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e1d5c9beb3a995887b6e6255483b2f221508000a1724313d4a5764707d8a97a3b0bdcad6e3d9ccc0b3a79b918c88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f4953606a75818e99a3aebac7d3e0dcd0c5b8ab9e928578695f53463a2d2114070000000916222f3c4955626f7c8895a2afbbc8d5d0c4b7aa9d9184776a5e5144372b1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222e3b4855616e7b8894a1aebbc7d1c5b8ab9e928578665b5044382b1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a9b3bebfb4aa94887b6e6155483b2e333f4a546673808d99a6b3c0ced1c4b7aa9e918477685d5246392d201509000000000005111e2a36414c566975828f9ca8b5c2cfd0c4b7aa9d918477685d5245392c2013070815212e3b4854616e7b8794a1aebabeb1a4978b7e7164584b3e3125180b000c1926333f4c5966727f8c99a5b2bfccd8e5ded1c5b8ab9e928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a97a1adbec7d2e1d6cabfb4aa9e93897c6f675d544b42393028221c18120e0908070604060708090e12181c202930363f48505a626c75818e96a1acb9c2ccd8e3eff3e6d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191e242931363e434b515960686d757f879299a2aab4bcc5d0dbd8cec5bbb1a79f93887d70685d52463a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333c434c525a61696e7880879297a0a7b1b9c2cbd5d6c8c0b7aea49f93887d70685e52463e2f261b110600000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818e9aa7b4c1cddadfd2c6b9ada19786796d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a5988c7f7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b84919eabb7c4d1deded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ada197887b6e6155483b2e2215080000000916232f3c4956626f7c8995a2afbcc8d5d1c4b7aa9e9184776b5e5144382b1e1105000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000915222f3c4855626f7b8895a2aebbc8d0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9bcb0a396897d7063564a3d302d3d4a5764707d8a97a8b2bdc9d2c5b9aca096877a6d6154473c31261a0e0200000000010d192530404d5a6673808d99a6b3c0ccd2c6b9ac9f93867a6d6054473a2d2114070714212e3a4754616d7a8794a0adbabeb2a5988b7f7265584c3f3225190c000b1825323e4b5865717e8b98a4b1becbd7e4dfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774808d9aa9b2bed0d9dfd3c6baaea2988e81756b60554b423930271e17110c070000000000000000000000070c10171f252a363f48505a606d7a84919ea6b0bbc7d3dfeaf5e6d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000200000000000000000000000000000001080d13191f262a313940454f565d616d727e879298a2aab4bfcad6dcd7cdc3bbafa49a91847a6d61564c41362a1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212a313a414550575e666d737d8591959fa7b1b9c3ccd6d2c9c0bbafa49a92857a6d615a5041382d22170b00000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d0ddded1c5b8ab9e928578675c5145382c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3c46535f6975828f9ca8b5c2ced9e2d5c9beb3a9978a7e7164574b3e3124180b000000091623303c4956636f7c8996a2afbcc9d5d1c4b7ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d0c3b6aa9d9083776a5d50442d22170b000000000000000000000000000000000000000000000000000000000613202c3945515d677885929eabb8beb2a5988b7f7265584c3f2d2e3b4754616e7a8796a1acb9c5d2c8bdb2a8988b7e7165574e42372b1f14080000000000081824313e4b5764717e8a97a4b1bdcad4c8bbafa49a897d7063564a3d302317090814212e3b4754616e7a8794a1adbabeb2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0bcd0dbe6e2d6cabeb3a995887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919daab7c4cfdddfd2c5b8ac9f92867b6e61594f433930271e150c06000000000000000000000000000000050d141a242d363f45525d68707d89949fabb7c3cdd8e4f0e5d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000030607090c0f0c0b09060100000000000000000000000002080d141a1f272f353d444c525b626c707d869298a2aebac0cad4dfd8ccc0b6aca1968d8074685e5246392f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181f282f353e454d545c606b6f7b8390959fa7b1bac4cfd9d8ccc0b6aca1978f81756c6153493f33271b0f03000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdcd0c3b6a99d9083766a554b4034291c1004000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164626262626262626262626262626262626262626262626262626262626262626262626262626262626262626b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765727e8b98a7b1bcc8d4e0dacfc0b3a79a8d8074675a4d4134271a080000000a1623303d495663707c8996a3afbcc9d6d1c5b8ab9e9285786b5f5245382c1f0600000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d0c3b6a99d9083766a5d5043372a1d060000000000000000000000000000000000000000000000000000000004111d2935414c556a7683909da9b6c0b3a79a8d807467544a3f332d3946525e687884919eabb7c4cfcec3b6a99d9083766a5f53473b3025190e05000000000916222f3c4955626f7c8895a2afbbc8d8ccc0b6ac998c7f7366594c4031261a0e0815222e3b4855616e7b8894a1aebbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a9b3becad6e2e6dbcfbcafa396897c706356493d3023160600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded5c9bdb2a8998d8073695e52473d31281e150c0300000000000000000000000000000000000209121b242935414c56606b76828f9ca7b1bcc8d4e3eee5d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000406060b10121316191c191816120d070000000000000000000000000003090d151d2429323a4146515a616b707d86929fa4aeb8c2cfd9ddd2c7beb2a99f92867a6d61554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960696e7a839095a0a8b2bdc7d1dcd2c7beb3a99e938a7d71655b5044372b1f150a000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3e0dacec1b4a79b8e8174685b4e412f23180c00000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71645755555555555555555555555555555555555555555555555555555555555555555555555555555555555e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b1a26313b4854616e7b8795a0acb8c5d1dedbcfc2b5a89c8f8275695c4f422f24190d0100000a1723303d4a5663707d8996a3b0bcc9d6d2c5b8ab9f9285786c5f52452e23170b00000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000010d19242f424e5b6875818e9ba8b4c1b5a99c8f8276665b5044382b36414c566875818e9ba9b3bec9d1c4b7ab9f95887b6e62564d41362a20170d04000000091623303c4956636f7c8996a2afbcc9ddd2c2b5a89c8f827569574d42362a1e120915222f3c4855626f7b8895a2aebbbdb1a4978a7e7164574b3e3124180b000714212d3a4754606d7a8797a2adbac6d3dfe4d8cbbeb1a5988b7e7265584b3f2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b1bdc8d4ded2c5b9aca196887c6f62574d42352b1f160c030000000000000000000000000000000000000000091219242f3a444f5963707d89959fabb8c7d2dde8e4d7cabdb1a4978a7e7164574b3e3124180b00000000000000000000010407070c101314171c1f202226292525221e1811090100000000000000000000000000030b1218202830353f485059606b717e8a929ca6b0bdc7d1dcd9d0c4baaea2988c8073675d5145392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f575f686d7a839096a1abb5c0cbd7d9d0c5bbafa59d9083786c6053463c31261b0f030000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000004101c2934404b5565727e8b98aab4bfcbd7e3d7cbbfb5ab988b7f7265584c3f3225190700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a484848484848484848484848484848484848484848484848484848484848484848484848484848515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000914212d3a46535e697783909daab7c3d0ddddd0c3b7aa9d9084776a554c4135291d110400000a1724313d4a5764707d8a97a3b0bdcad6d2c5b8ac9f9285796c5f4a3f34281c1003000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000008192633404c5966737f8c99a6b2bfb8ab9f9285796c605346392d303d4a5764707d8a97a1adb9c7d2c7bcb1a7998d8073685e52463d32291f160d0806080e1724313e4a5764717d8a97a4b0bdcad7d1c5b8ab9e928578695f53463a2d21140916232f3c4956626f7c8995a2afbcbdb0a3968a7d7063574a3d3024170a000613202c3945515d677885929fabb8c5d2dee7dacdc0b4a79a8d817467544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfced9ded1c4b7ab9e9184786a5f54453b3023190d040000000000000000000000000000000000000000000008131e28323d4854606b7783909dabb5c0ccd7e3e3d6c9bcb0a396897d7063564a3d3023170a000000000000000102080d111314181d1f2023282b2d2f323532312e29231b1309000000000000000000000000000001070e161e2429363e474f59616c73808d949fabb5c0cbd7e2d6cabfb4aa9e9285796d6053473a2f24180c0000000000000000000000000000000000000000000001040607080806020000000000000000000000000000000001080f171e262e343d454d565d686e7a849199a3afbbc4ced9d6cdc1b8aca0958a7d7064584e43372b1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2d1dce0d3c7bbaea399897c6f6256493c2f23160900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b44515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cddadfd2c5b8ac9f928579675d5145392c20130600000b1724313e4a5764717d8a97a4b0bdcad7d2c6b9ac9f938679665c5044382b1f1206000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdbaada297887b6f6255483c2e2d3a4653606d7985919eacb6c0cccdc2b8ab9f92857b6e61594f443a31281f1914131419202a36424d5766737f8c99a6b2bfccd9d2c6b9ada197887b6e6155483b2e2215071724313d4a5764707d8a97a3b0bdbcafa396897c706356493d3023160a0004111d2935414b556a7784909daab7c3d0dde9dcd0c3b6a99d908376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd7ccc0b5ab9a8d807467584e4333291f10070000000000000000000000000000000000000000000000010c16202c38444f5964717e8a99a4afbbc7d4e0e3d7cbc0b5ab95887b6f6255483c2f221509000000000000060d1213191d202124292c2d2e34383a3c3f423f3e3a342d251b1107000000000000000000000000000000040c1319242c353d47505a606d78828f99a3afbbc6d0dbdbd0c6b9ada2978b7f7265554b4035291d1004000000000000000000000000000000010507070a080d1113141514120f090300000000000000000000000000000000050c141c2328333b444c565e686f7d87929fa8b2bdc9d5dfd4c8bcb1a79d9083776a5f53473a2e2115090000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000020e1a2531404d596673808c99a6b3bfccd9dfd3c6baaea298877a6d6054473a2d21140700000b1824313e4b5764717e8a97a4b1bdcad7d4c7bbafa49986796d6053463a2d201307000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1825313e4b5864717e8b97a4b1becacfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8beb3a9988b7e7265544a3f342c3844505c6673808d9aa4afbbc8d3c6baaea2988e81756b60564c433a312a252120212429323b46525e697683909da9b6c3d0dcd5c9beb3a9978a7e7164574b3e2f23180c1925323f4c5865727f8b98a5b2bebeb3a995887b6f6255483c2f22150900010d18242f424e5b6875818e9ba8b4c1d2dde8dfd2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0ddd4c7bbafa499897c6f6356493c3223170d00000000000000000000000000000000000000000000000000040d1c27333d4754606d7a86939facb9c6d2dfe0d3c7bbafa399877a6d6154473a2e21140700000000010911181e1e24292c2d2f35383a3d3f4446494c4f4c4a463f372d23180d010000000000000000000000000000000208121a232c353e44505c666e7b87929faab4bfcad6e2d6cabeb3a99c908376675d5145392c1f1306000000000000000000020507080a080d1113141618191d202122211f1a150e0600000000000000000000000000000000020a11172129323a444c56606b737f8c96a0acb9c4cfdad9cec3b8aca095887c6f6255483c31261a0e0200000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8998a2aebac6d3e0ddd0c3b6aa9d908377675c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31242222222222222222222222222222222222222222222222222222222222222222222b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091825323f4b5865727e8b98a5b1becbd8e2d6cabfb4aa94877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1becad7d7ccc0b5a093867a6d6053473a2d201407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000b1724313e4a5764717d8a97a4b0bdcacfc2b6a99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c1b4a89b8e8175665c5044382c343f4a54616e7b87939facb9c3d0cabeb3aa9e93897d70685e554c433d36302d2d2d2f353c444e58616e7b87939facb9c6d2dfdacfc0b3a79a8d807467554b4034291c101a2734404d5a6773808d9aa6b3c0b9ada197867a6d6053473a2d2014070000071926323f4c5965727f8c98acb6c0ccd8e4e0d3c7baaea298887c6f6255493c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000b16202c3945525d687783909daab6c3d0dddfd2c5b9ac9f9286796c605346392d2013060000000009131b23292e3035393a3d404547494a505355595c585651493f34291e1206000000000000000000000000000000000008111a2328343f4a545f6974818e98a2aebac7d3e0dbcfc5b9ac9f92867a6d6053473a2d2014070000000000000003090e1214151719191e2021232524292c2d2f2e2b2620180f060000000000000000000000000000000000060f172028323b444f59606d7984919ea8b2bdc9d5dfd4c8bcb1a7998c807366574d42362a1e120500000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000a13202c3945525d6874818e9baab4bfcad6e2d6cabeb3aa9a8d807467554b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312417151515151515151515151515151515151515151515151515151515151515151e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e7dbd0bbaea194887b6e6155483b2e22150800000b1825323e4b5865717e8b98a4b1becbd7ddd2baada093877a6d6054473a2d211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d0c3b6aa9d9083776a5d5044372a1d06000000000000000000000000000000000000000000000000000000000005111e2a36414c566774818e9aa7b4c1b8ab9e9285796d6053463a2e2e3846535f6976828f9ca7b1bec7d0c5bcafa59e91847a6d675d554e46413c3a393a3b41454e565f6a74818d99a4afbbc7d4e0dcd0c3b6a99d908376675c5145382c1f131d2935414c566875828e9ba8b5c1b8ab9e928578675d5145392c20130600000a1623303d495663707c899aa4afbbc8d4e0e2d6cabfb4aa998c7f7266554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2ddd1c4b7aa9e918477675c5145382c1f1306000000000000000000000000000000000000000000000000000004111d2935414c566773808d9aa6b3c0cdd9ded1c4b8ab9e918578655b5044372b1f120500000006111b252d343a3a4145474a4b515356545c6062656865625b51463a2e221609000000000000000000000000000000000000081117232e38424d57616e7b86929facb8c5d1dce0d3c7baaea399897d7063564a3d30231706000000000000050d141a1e20212325252a2d2e30322f35393a3b3a37312a21180e030000000000000000000000000000000000060d162029323d45515c67717e8a96a1adb9c5d2dfd9cdc3b7aa9d908377695f53463a2d21140700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d0dbdfd3c6baaea298897d7063564a3d2e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0808080808080808080808080808080808080808080808080808080808111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1925323f4c5865727f8b98a5b2becbd8d3c7baada094877a6d6154473a2e211407000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000a1623303d495663707c8996a3afbcc9d1c4b7aa9e9184776b5e51442d22170b0000000000000000000000000000000000000000000000000000000000010d1925303e4b5864717e8b97a7b1bcb9ada197897d7063554b40342a36424d5764717e8a95a0acb6c0cccec1b9aca0969083796d676058524c48474647484c52585f686f7c87929fabb5c0ccd7e3dfd2c5b9ac9f9286796d6053473a2d2014202c3945525d687784919eaab7c3b6aa9d9083776a554b4035291d110400000714212d3a4754606d7a86939facb9c6d2dfe7dbd0c2b6a99c8f8376675d5145392c20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000713202d3a4653606d798698a3aebac7d3dccfc2b6a99c8f837669554b4034281c10040000000000000000000000000000000000000000000000000000010d1924303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c9083766953493f33271b0f030000010d18232d373f464a4c525457555d606366666d6f7275726d62564a3e3125180b0000000000000000000000000000000000000006111c26303c46525e6975818e9babb5c0cbd7e3d7cbbfb4ab998d8073665a4d402d22170b0000000000080f171f252a2d2e30323036393a3d3f414145474847433c332a201509000000000000000000000000000000000000040e17202834404b55606c7884919eabb7c4d0dbded1c5b8aca095887b6e6155483b2e22150800000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000b17222d3744505b65727e8b98a2aebac7d3e2ded2c5b8ab9f9285796d6053463a2d2013070000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d5c8bbaea295887b6f6255483c2f22150900000c1926323f4c5965727f8c98a5b2bfcbd8d4c7baaea194877b6e6154483b2e211508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000916232f3c4956626f7c8995a2afbcc8d1c4b8ab9e9185786b5e4a3f33281c0f0300000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959fabb8beb3a99b8e8174675c5145382c313b4653606d7983909aa4afbbc5cfc8bdb2a8a0959082796f6a615e565554535455565d606a6f7a849199a3aebdc7d2dce2e0d3c7bbaea399897c6f6256493c2f2316212d3a4754606d7a86939facb9c1b5a89b8e8275685b4f422f24180d0100000613202c3945515d677784919eaab7c4d1dce8dfd2c5b9ac9f92867a6d6053473b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070f0706040000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcbd6dbcec1b5a89b8e8275685b4f422e23180c00000000000000000000000000000000000000000000000000000000081623303d495663707c8996a3afbcc9d6dacdc0b4a79a8d8174675a4e412d22170b00000006121e29343f495156565d606366676d707376797c7f827f7265584c3f3225190600000000000000000000000000000000000000000a141e2a36424d5764717e8a99a3afbbc7d3e0dcd1c3b6a99d9083766a544a3f33281c0f0300000008121a212930363a3b3d3f41414647494b4d4c525455534e463c31261a0f01000000000000000000000000000000000000050e18232e3944505b6673808d99a9b3becad6e0d4c8bcb1a7978a7d7164574a3e3124170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000060f1c28333f4a54606c7883909daab4bfcad6e2d6cabfb4aa9b8e8275665c5144382c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000c1926333f4c5966727f8c99a5b2bfccd8d4c7bbaea194887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c5b8ac9f928579665b5044382b1f120600000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909dabb5c0b8ab9f9285796d6053463d322c3844515c666f7c88939fa9b3bec9cec3bab1a79f9490847c736d6864626060606264686d737c849196a1abb5bfc7cbd1d8e1d7cbbfb5ab988c7f7265594c3f30251a23303d495663707c899aa4afbbc0b5ab998c7f7266594c3f3326190700000004111d2935414c556874818e9babb5c0cbd7e3e0d3c7bbaea3998a7e7164564d41362a1c120700000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b1413100c07010000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dcdacec1b4a79b8e8174685b4e4135281b07000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d8cbbeb2a5988b7f7265584c3f322519060000000916222e3a46515b6265686d7073767a7c7f8285888c8e8174685b4e412d22170b0000000000000000000000000000000000000000020c1a25303b4754606d7a86929facb9c5d2dfded1c5b8ab9e928578665b5044382b1f1206000005101a242c333b4246484a4c4e4c525456585a565d60625f584e43372b1d13070000000000000000000000000000000000000007121d28333f4a54626f7b8897a2adbac6d3dfd9cebfb3a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000060f1a232b3844505b66717e8a95a0acbcc6d0dbe0d3c7baaea2988a7e7164544a4034281c10040000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb3a994877a6e6154473b2e21140800000d192633404c5966737f8c99a6b2bfccd9d4c8bbaea195887b6e6255483b2f221508000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000815212e3b4854616e7b8794a1aebac7d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c99a4afbbbaada2978a7d7164594f44382c34404a54606b74818e97a1adb9c1cbccc3b9b0a69f969187807a75716f6d6c6d6e71747a7f869196a0a8b2bab9babfc6cfd6dcd1c1b5a89b8e827568574d42362a1e2935414c5666727f8c99acb6c0bbafa399897c706356493d3023160a000000010d19242f3e4a5764717e8a99a3afbbc7d4e0e3d7cbbfb5ab9c8f8275685e5246392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202128201f1d18120b0300000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000003101c28343f4a546774818e9aa7b4c1cddad6cabeb3a996897c706356493d3023160a0000000b1824313e4a56626d72777a7d808386898c8f9298988f83766953493f33271b0f0300000000000000000000000000000000000000000914202c3945525d687783909daab6c3d0dddfd2c6b9ac9f9386796c605346392d20130600000c17222c363e454d525456585b565e6163656769686d6e6a5f53473a2f24180d01000000000000000000000000000000000000000b17222d394653606c7985929fabb8c5d2dedbcec2b5a89b8f8275685c4f4235291c0700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000040d18212935414c56606c7883919da7b1bcced8e2dfd2c5b8ac9f92867a6d6054473a2e23180c000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9dfd3c6baada297867a6d6053473a2d20140700000d1a2633404d596673808c99a6b3bfccd9d5c8bbafa295887c6f6255493c2f221609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000d192633404c5966737f81818181818181818181818181817c6e6255483b2f221508000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714212e3a4754616d7a8794a0adbacfd4c8bbafa49a877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000020e1a25313b4754616e7b87939facb9beb3a99d9083766b6054483c312e39424f59606d7a85929ea5afb9c3cccbc2b8b0a8a099928d86827d7c7a797a7b7e81858c9298a0a8b2b4aeacaeb4bdc4ccd6d1c4b7ab9e918478695e52463a2d202d3946525e687683909ca9b6c3b9ac9f92867a6d6053473a2d201407000000000814212d3a4754606d7a86929facb9c5d2dfe7dcd1c5b9ac9f92867b6e61544a4034281c1106000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292d2e352d2c29241d150d04000000000000000000000000000713202d3a4653606d798699a3afbbc7d4dbcec1b4a89b8e8175685b4e4235281b0700000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0ddd2c6b9ada197877a6e6154473b2e2114080000000c1925323f4c5865727f83868a8d909299999c9fa29e918477655b5044372b1f1205000000000000000000000000000000000000000004111d2935414c566975828f9ca8b5c2cfdbe0d4c7bbafa499877a6d6154473a2e2114070005111c28333e4850575e6163656769686d70727476787a7c6e62554b4135291d11040000000000000000000000000000000000000006121f2b3744505b6576828f9ca9b5c2cfdcddd1c4b7aa9e9184776b5e51442f24180c00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000030d161f2a333c46525e68717e8b95a0acb9c3cee0e0d4c8bcb1a79a8e8174685d5245392c1c1207000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000005121e2a36424d576774818d9aa7b4c0cddaded2c5b8ab9f928578675d5145392c20130600010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bcafa295897c6f6256493c2f231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e211408000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000714202d3a4753606d7a8693a9b3bec9d5ccc0b6a194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000914202d3a46525e6976838f9ca9b3beb8ab9f95897c6f63584e43372b303d45525d68717e8a939ea7b1bac3cccac2bab2aba39f99928f8a88878687888b8e92989fa2aab2b4aba39fa3abb2bac4cfd2c5b9ada196877b6e6154473b2e212e3a4754616d7a86929facb9c3b7aa9d908377675d5145392c201306000000000713202c3945525d687683909ca9b6c2cdd8e4e0d4c7bbafa3998c7f72665c5144382d22170b0200000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a423a39352f271f160d0400000000000000000000000006131f2c3845515c677986929facb9c5d2dbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ded1c5b8ab9e928578685e5246392d2014070000020e1b2835414e5b6874818e939a999d9fa3aba9acac9f9286796c605346392d2013080000000000000000000000000000000000000000010d19242f414e5b6774818e9aa7b4c1cddae3d7ccc0b5ab95887b6e6255483b2f221508000814212d3945505a61696e70727476787a7c7e808285878478675d5145392c20130600000000000000000000000000000000000000030f1b27333f49536774808d9aa7b3c0cddaded2c5b8ab9f9285786c554b4035291d1004000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000040d151f28313c454f59616d7a85929ea7b1bccbd5dfddd1c4b8ab9f95887c6f62564c4135291d0b00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000714202d3a46525e697783909daab7c3d0ddddd0c3b6aa9d9083776a554b4035291d100400010e1a2734414d5a6774808d9aa7b3c0cddad5c9bcafa296897c6f6356493c30231609000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000613202d394653606c798697a1adb9c6d2d2bbaea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000005111e2a36424d5665717e8b97a1adb9bcb1a79b8f82756a5f53473e312935414c56616c75818f95a0a8b2bac3cbccc3bdb5afaba39f9b979599939995979b9fa2aaaeb4baaea3999299a1a8b2bdc9d5c9bdb2a8978a7d7164574a3e2e2a36424d5764717e8a99a3afbbbeb3a99a8d807467554b4035291d11040000000004111d2935414c5666727f8c99a7b1bcc8d4e2e3d7cbc0b5ab9e9184796d60544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474e4745403931281f160e05000000000000000000000004101c2834404b556c7885929fabb8c5d2dccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a2aebac7d3dbcec2b5a89b8f827568564c41362a1e11050000000d1a2733404d5a6673808d99a4aca9acaeb4b5b8aea399887c6f6255493c3025190d000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9e8ddd2bcafa296897c6f6356493c30231609000a1723303c4955616c717b7d7f81838587898b8d8f9196877a6d6054473a2d21140700000000000000000000000000000000000000000b17222d404d596673808c99a6b3bfccd9dfd2c5b9ac9f928679675d5145392c1f1306000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000060d161f27313a434d57616b75818e97a1adb9c3cedddfd5c9bdb2a89d9083776a6054443a2f24190d00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000020b14212e3b4854616e7b8795a0acb8c4d1dedbcec1b5a89b8e8275685b4f422f24180d0100010e1b2734414e5a6774818d9aa7b4c0cddad6c9bcafa396897c706356493d3023160a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006121e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f02000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000006121f2b3844505b667885929eabb8c5d1c9bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7985929eaab4bfb9ac9f93877c6f625a5043392f303a44505a606d79839096a0a8b1b9c0c9cfc7c0bbb5aeaca8a4aba49fa4aba4a7abaeb3babfb4aa9f92869196a1adb9c5d1cbc0b3a69a8d807367544a40342d3a46535e6975828f9cabb5c0baada297897d7063564a3d2f24180d0100000000010d1924303b4855626e7b88959fabb8c6d0dbe7dcd1c7b9ada1968b7e71665b50443a3024190e040000000000000000000000000000000000000000000000000000000000000000020b1924303a444c52545b53514b433a312820170e0500000000000000000000000c18232e44515e6b7784919eaab7c4d1ddd1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b98aab4bfcad6d6cabeb3a9988c7f7265594c3f3025190d010000000c1925323f4c5865727f8b98a5b6b6b9babfc2bfb4ab998c7f7366564c41362a1d120700000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddae3d6c9bcb0a396897d7063564a3d3023170a000b1724313e4a5764717e87898b8e90929796989a9c9e95887c6f6255493c2e23180c0000000000000000000000000000000000000000061925323f4c5865727f8b98a5b2becbd8e0d4c7bbafa399867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000002090f181f283139434c555f69707d8a939ea9b3becbd5dfd9cec5b9aca0968b7e7165584e4332281e130800000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000000a141d2a36424d5765717e8b98a7b1bcc8d4e0d8ccc0b6ac998c807366594d4033261a070000010e1b2834414e5b6774818e9aa7b4c1cddad6c9bdb0a3968a7d7063574a3d3024170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000020d19232e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000030f1c28333f4a546a7683909da9b6c3d0cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000000000000000000000009141f2c3945515d6773808c98a2aebabbafa49a8f82766c61554b403529323e45515d676e7b849196a0a7afb9bec5cbcbc6bfbbb9b5b0b5afacafb5b1b4b8babec1baaea3988d8084919eabb7c4c1bfbbb6a99c908376665c51443835404b55616e7b87939facb9c5b8ab9f9285796d6053463a2d2013070000000000000814212e3a47535f6a7683909daab4bfcad6e2e3d5c9bdb2a89d9184786c60564c41352920160c02000000000000000000000000000000000000000000000000000000000000000a141d2935414c565d6168605d554c433a322920170f0600000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcd2c6b9ac9f9386796d6053463a2d201308000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca9b6c3d0dbd3c6baada297887c6f6255493c2f221608000000000a1724303d4a5763707d8a96a9b3bec5c7cbd1c3b6a99d908376685e5246392e23180c01000000000000000000000000000000000000030f1c28333f4a546875828e9ba8b5c1cedbe2d5c9bcafa296897c6f6356493c3023160900091623303c4956636f7c8996989a9c9ea1a9a5a7a9a4978a7e7164544a4034281c1004000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e3d7cbc0b5a194877a6e6154473b2e211408000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000001070c141a222a313a434b555d676e7b85929fa5afbbc5cfdde0d4c8bcb1a79e9184796d6053463c3220160c0100000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000006111b262f3846535e6975828f9ba8b5c2cdd9e0d4c8bbafa49a8a7d7063574a3d3024170a0000020e1b2835414e5b6874818e9ba7b4c1cedad6cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000007121c252e353b3e4042424242424242424242424242423b3a37312a21180e0300000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b17222d424f5b6875828e9ba8b5c1ceccc0b3a6998d8073665a4d402e23180c0000000000000000000000000000000000000000000000000000000000000004101d2935404b55616d7a86929fabb5bfb6ac9f948a7d70675d51453d322935404b555e696e7b8490959da5adb3bbbfc6cacbc7c5c2bdc0bbb9bbc0bec1c5c6bfbbafa59f92867b828e9ba8b5b7b4b5aeaca99f9286796d6053463a3845515d6773808c99a4afbbbeb2a99b8e8174665c5144382c1f120600000000000006121f2b37434e5865717e8b98a2aebac6d3dfe5dacfc4b8aca0968b7e71685d52453d32281e130800000000000000000000000000000000000000000000000000000000000006111b262f3846525d686d756d675d554c443b322921180f070000000000000000010e1b2834414e5b6774818e9aa7b4c1cddad4c7bbafa499897c6f6256493c3025190e020000000000000000000000000000000000000000000000020b14212e3b4854616e7b87939facb9c6d2ded2c5b8ab9f9285796c605346392d201306000000000814212e3b4754616e7b8797a1adb9c6d2d7d2c6b9ac9f93877a6e61554b4034281d120700000000000000000000000000000000000006121f2b3844505b667683909ca9b6c3cfdce3d7cbbfb4ab95887b6f6255483c2f221509000815212e3b4854616e7b8799a3a7a9abadb3b1b3b4a79a8e8174665c5144382c1f1509000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8dcd1baaea194877b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000003070d12181f252a343c434c555d676d79839197a2adb7c1cdd6e1d7cec5b8aca0958a7e71665c5145382c1f13040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020a1117222d38414e58616e7b86929facb9c5d2dfdfd2c6b9ac9f93867a6d6054473a2d2114070000020f1c2835424f5b6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000000a131c232a2f323335353535353535353535353535352f2e2b2620180f060000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000061a2733404d5a6673808d99a6b3c0cccec2b5a89b8f827568544a4034281c1004000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6874808d99a3aebbbeb0a69e9184796d60594f443a2f2f39434d575e696e7a838e939ea1a9aeb5b9bec4c5c9cfd2ccc7c6c7ccc8c7c0bbb5aea59e938b7f727f8c99abacaaa8aba39f9d9a98897c6f6256493c414b55606d7985919eabb5c0b9ada1978a7d7064544a4034281c1004000000000000020f1a26313c4754606d7a85929facb8c1ccd7e3e0d4c8bdb2a89e92857a6d60594f443a302519130900000000000000000000000000000000000000000000000000000000060f17222d38414d57616d7a81796d675e564d443b332a2118100700000000000000000c1926333f4c5966727f8c99a5b2bfced9d7ccc0b5ab998c807366564c41362a1e110500000000000000000000000000000000000000000000000a141d2b37434e5865727f8c9aa4afbbc8d4d7cbc0b5ab9c8f8275665b5044382b1f1206000000000714202d3a46525e697885929eabb8c5d1ded4c8bbafa49a8b7f72675c5145392f24180f0600000000000000000000000000000000000613202d394653606c7985929eabb8c5d1dee0d3c7baaea399877b6e6154483b2e211508000713202d3a4653606d7986929facb6b8b9bebec0b8ab9e9285796d6053463c31261a0e05000000000000000000000000000000000007121e2b37424d576875828e9ba8b5c1cedbe0d4c8bbafa49a877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000105060b0f13181d232930363e464e555d676d79828f95a0a9b3bec9d3dfdbd0c5bcb0a69d9083786c60544b4034281c10040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000002080b141c2228333f49535f6a74818e98a3aebac7d3e0ddd0c3b7aa9d908477685d5245392c2013070000020f1c2935424f5c6875828f9ba8b5c2cedbd7cabeb1a4978b7e7164584b3e3125180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000000020b141b22272b2d323232323232323232323232323232302f2c27211911070000000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000b1825323e4b5865717e8b98a4b1bed1d0c4b7aa9d918477665c5144382c1f12060000000000000000000000000000000000000000000000000000000000000007121d2a36414c56616e7b86929fa9b2bdb9aca1968d80736b60564c41382d313b454d575e686e79818a92979fa3abadb3b8b9bdbebfc0c1c0c0bfbdb8b6afaba39f938e8175707c8999a4a09e9b989992908d8a887f7265584b3f45515d67727f8c97a1adbdbfb4aa9e9184796d6053463a2e23180c00000000000000000a15202c3945515d6774818e9ba6b0bbc6d2e2e5d9cec3b9ada1978d80746b60564c413529251b12060000000000000000000000000000000000000000000000000000060f182127333f49535f6974808d82796d685e564d453c332a22191008000000000000000a1724303d4a5763707d8a96a8b2bdc8d4ddd2c3b6aa9d908377685e5246392d20150b0000000000000000000000000000000000000000000006111c262f3847535f6a7783909dacb6c0ccd8d3c7bbafa3998b7e7265544a3f33281c0f030000000005111e2a36424d576975828f9ca8b5c2ced9d8ccc0b6ac9e9184796d60554b40352921180e0600000000000000000000000000000208101c28343f4a54626f7c8997a1adb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d2013070006121f2c3844515c667683909da9b6c3c6cacfc6b9ada2978a7d7063574e42372b20170d04000000000000000000000000000000050e19222e3a47535f697784909daab7c3d0dddfd2c6b9ac9f9386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060000040607070809080d1113171b1f24292f343b424650585f676d79828f949fa8b1bcc5d0dbded6cabeb3aa9f948a7d70665b5042392e23180c000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f120604040404040404040404040001040707090e13191d262d333d44505b656f7c87939faab4bfcbd7e1d5c9bdb2a8998c807366564c4135291d11040000030f1c2936424f5c6975828f9ca8b5c2cfdbd7cbbeb1a4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0000000a141d262d3337393e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3d3b38322b23190f0500000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000a1623303d495663707c8996abb5c0cbd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a46535f6973808d96a1adb9bdb2a89f93877d70685e53493f3327333b454d565e676d747e858d92999ea1a9abadb2b2b3b3b4b4b3b2b2acaca49f99928c81786d6d7a86939696918e8b898683807e7b726d62564a424e58606d7a85929ea9b3bebaaea3988c7f73665c5144382c1c1207000000000000000004111d2935414b55626f7c88939eaab6c1d0d9e3e0d5c9beb3a99f93877d6f685e524640372d2417110a030000000000000000000000000000000000000000000000071018212a333c44505b656e7b879290837a6e695e574e453c342b221911080000000000000714212e3a4754616d7a8796a0acb8c5d1dfd2c6b9ac9f93877a6e6154473e30271c12070000000000000000000000000000000000000000040e17222d38424f59626f7c88959fabbec7d2ddd2c5b9ac9f92867a6d6154473a2d22170b0000000000020e1a25303f4c5865727f8b98a7b1bcc8d4ddd2c7b9ada1968b7f72675d51453e332a20181008020000000000000000000001040c1319262b3844505c6673808d99a9b3bec9d5e2ddd0c4b7aa9d918477665c5044382b1f12060004101c2834404a546774808d9aabb5bfcbd6d6cabeb3a99b8e81756a5f53473d32291f160c0500000000000000000000000000060e17202834404b54626e7b8895a0acb8c5d1deded1c4b8ab9e918578665c5044382b1f1206000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316121212121212070c10121314151618191d2022272b2f353940454d525a616a6e79828f949fa6b0bac3ced7e0d6ccc4baaea2988f82766b61544a3f30271d1207000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f12111111111111111111111111080d111314151a1e24292f383f44505a606c77828f99a4afbcc6d1dcded2c5b9aca096887c6f6255493c2f24190d01000003101c2936434f5c6976828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000006111b262f383f44464b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4948443d352b21160b00000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000815222e3b4855616e7b8899a3afbbc7d3c7bbafa399887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7984919ea6b0bcbbafa49991857a6d655b50443f362d333b444c555d606c717a80868d92979a9ea1a9a5a6a7a7a7a6a5a8a09e9a938f877f786d666777838c8a8784817f7c797674716e69625b51464a545f6a73808c97a1adbbbfb5ab9f92867a6d61544a4034281c0b000000000000000000010d18242f3a47545f6a75828f9ba6b0bdc7d2dde6dacfc5bbafa49991847a6d615c52493f3628231c150c060000000000000000000000000000000000000000030b1218222a333c454f59606c77828f999590837b6e695f574e463d342b23190e0500000000000713202d3946525e687784919daab7c4d0dcd4c8bbafa49a8b7e71645a5042392e23180e05000000000000000000000000000000000000030c162028333f4a54606b76828f9ca7b1bcd0d9d6cbbfb4aa9c8f8275685e5246392d1c11060000000000000915212e3b4854616e7b8795a0acb8c6d0dcd5c9bdb2a89e9184796d605a50453c322a2219140d070501000000000306070d11161e252935414c56606d7884919eaab7c4cfdae6dbcec1b5a89b8e827568544a3f34281c100300000c18232e3e4b5764717e8a99a3aebbc7d3dbcfc5b9ac9f92877b6e62594f443b31281e170e0903000000000000000000040a11172029323a45515c6673808d99a7b1bcc8d4e0dccfc2b5a99c8f827669544a3f34281c1003000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f181c1f202121232424292d2d33373a41454b51575e616c717c848f949fa6b0b8c2ccd5e0d7cec4bab0a69f92857b6e61594f42382d1e150b00000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d1d191d202122262b30353a424a5059626c73808c949fabb5c0cfd8e2d6cabfb4aa9e9184776a5f53473b2e1e130800000003101d293643505c6976838f9ca9b6c2cfdcd8cbbfb2a5988c7f7265594c3f3226190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00000b17222d384149505358585858585858585858585858585856544f473d32271c1004000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000020e1a26313b45515d67717e8a949faab4bfb5aba1978f82776c605b51483e3627323b434b515a61686d737b80858a8e91969698999a9b9a99989696918d87827c726d665c65727f807d7a7775726f6d676764615f57514944505c666f7c86929fa9b3bebbaea3998e8174685e5242392e23180c0000000000000000000007131d2b37434e58626f7c88939eabb5c0ccd7e0e1d7ccc0b5aba1968f82756e635b51483f342e261e17110a030000000000000000000000000000000003090c151d2328343c464e57606b737f8c949f9f9591847b6e6a5f584f463d352b20170d020000000005111d2a36414c566874818e9baab4bfcbd6d8ccc0b6ac9d9083766c61544a40342820170d0400000000000000000000000000000000050c151e28323a44505b66707d89949fabb9c3cde0d3c7baaea3988b7e7164564c41362a1d0a000000000000000714212d3a46535e697784909daab4bfcbd6dacfc4b9ada1978d80736c61574d443c342a251f1813110d080d060c101213181d202830353f45525d68727e8b96a0acb9c5d2e1e1d5c9bdb2a8988b7f7265584c3f2e23170b0000000714212d3a4754606d7a86929facb9c5cfdad3c7bbafa3998f82756b61564c43393029201a140e09070604040607070c10141b2227323a444e58606d7984919eabb7c3ced9e2d6cabeb4aa9a8d8073675a4d402e23170b00000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c23282c2d2d2e2f313035393a3f44464b51555c60696e757e8691969fa6b0b8c2cad4ded9d0c6bcb2a89e948b7e71695e52473e2f261c0c0300000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245392c2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a24292c2d2f31373a41464c545b606b717e8b929ca6b0bdc7d2e1ded3c6baaea2988c7f7265584e43372b1f0c0100000003101d2a3643505d697683909ca9b6c3cfdcd8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e00030f1b27333f49535b606565656565656565656565656565656360594f44382c201307000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000006121f2c3844505c667884919eabb7c4d1d1bfb2a5998c7f7266594c3f31261a0f02000000000000000000000000000000000000000000000000000000000000000009141f2935404b55616c76829098a2aebabdb2a99e948d80746d635a50483f332d3139404550565d60696e73797d818487898b8c8d8e8d8d8c8a8784807c756f6a605c54626d7273706d68686562605c555755534d4546505a606d78839099a3aebbbeb3a99f92867b6e61564c4130271c120700000000000000000000010f1b26323c47545f6a75828f99a4afbbc4cfdae6ddd2c7bdb2a89e948d80736d625a51443f383027221b140f0b06000000000000000000000002050a0f151a1e272e343e464e585f69707d87939fa6a7a09691847c6f6a60594f473d32291e140800000000010d1925303e4b5764717e8a98a3aebac7d3ddd2c7b8ab9f958a7e71665c51443c32291f160e060000000000000000000000000001070e161e27303a444e58606c7883909da6b0bbcbd4d7ccc0b5ab9f92867a6d6054473a3025190d0000000000000005121e2a36424d5765727f8c98a3aebac7d1dcd5c9beb2a99f93887d70695f564e463d36302924201e191a1a1b171c1f2024292c323a4146525c606d7a85929ea8b2bdc8d4e1dfd2c5b9ada196887b6f6255483c2f2215060000000713202c3945525d6876828f9ca9b3bec9d5d7cbc0b5ab9e94897d70685e554b423b322a251f1a1514131110121314181c1f262d333b444c565f6a73808c96a1adb9c5d5dfdfd3c6baaea298897d7063564a3d3023170600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c393939393939393939392e34383a3a3b3c3e40414647495053555d60676d727b818a9298a0a8b0b8c2cad4dcddd2c7beb4aaa1968f82756c62574d42352c1d140a0000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f524539373737373737373737373737373737372f35393a3b3e42474c52565e666c737d87929fa4aeb8c2d0d9e1d6cabfb4aa9f92867a6d6054473c32261b0f0000000004111d2a3744505d6a7783909daab6c3d0ddd9ccbfb2a6998c7f7366594c403326190d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e0005121f2b3744505b656c717171717171717171717171717171706b6054483b2f221609000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000003101c28343f4a546976828f9ca9b5c2d1cec1b4a89b8e817568584e43372b1f12060000000000000000000000000000000000000000000000000000000000000000030d18242f3a43505a626e7c86929fa5afbabbb0a69d928c7f726c625a51443f382f2f353e434c52575e61676d7074787a7d7f80808181807f7d7b77736f6a625f5850515b62656663615e56585653514b4b484642454e58616c737f8c95a0abb4bfb9ada2978d8074695f53443a301e150b0000000000000000000000000a15202b37434e58626f7c87939fa9b2bdc9d5dee3d9d0c4bab0a69c928b7f726c635b504a423b332d261f1c17110f0a0807060406070708090e12151b1f262b303940454f585f6a6e7b859299a4afb1a8a09691857c6f6b60594f443b3025190d01000000000814202d3a4753606d7a86929facb8c4cfdad4c8bcb1a79e9184796d60574e443b31282017110d0703000000000000000000060c121820283039424c565f6a717e8b95a0acb8c2ccddd4c7bbafa4998e8174675d514539281e130800000000000000020e1a25313b4754616d7a86929fabb5c0cbd7dacfc4bbafa49a92857b6e685f584f46413b352f2d2a2527272723282c2d2f35393e444c525b636e74818e97a1adbac3ced9e5ded1c4b7ab9e9184786a5f53473a2e21150800000004111d2935414c5664717e8b97a1adb9c5d0dbd1c7bdb0a69e91847a6e675d544c443d36312b262220201d1c1f202123292c2f383f444d565e686f7c87929fa8b2bdc9d5e7ded2c5b8ab9f9285796d6053463a2d20130700000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454044464748494b4c4c5254535b6063676d72797f868e939fa2aab2bac2cad4dcddd8ccc0b6aca29891847a6e615a50453b30231a0b020000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5245444444444444444444444444444444444444414547484b4d53565d61686d787f879299a3aeb6bfcad3e2d8cfc6baaea2988d8074685d5245392a20150a0000000004111e2a3744515d6a7784909daab7c3d0ddd9ccbfb3a6998c807366594d4033261a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000613202d394653606c787e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d706356493d3023160a000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000c17232e404d596673808c99abb5c0cbd1c4b8ab9e9184786a5f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000007131d28313e47535f6a717e8b939ea8b2bcb8aea49f93887e716c635b5049413a3229313a41454d52555d606367686e7072737474747372706e6966625f58534e4449515759595754524c4c494645403e3b3c454d575f6a707e88939fa7b1bdbcb1a79e92857a6d60574d4232291e0c03000000000000000000000000040f1b26323c47535f6a74808d96a1adb9c1ccd6e1e2d6ccc1b8aea49f93887e726d605c544d443f382f2b28221c1b171514131012131415161a1e21272b31373c434b5159616a6f7c859197a1abb5bab2a8a19792857d706b60564c41362a1e1105000000000613202c3945515d6775828f9ba8b2bdc9d5d8cdc2b9aca0968b7f726a5f564c433a3228231c18120f0b0608070707080a0f11171d2329323a424a545e686f7c86929fa7b1bccad4d8cfc6b9ac9f93877b6e62554c4135291d110400000000000000000914202d3946525d6874818e99a3afbbc5d0dbd8ccc0b6aca29790837a6f6a6059524d45403a3936303433342e34383a3c41454750565e616d73808c939da9b3beccd5e0e0d3c7bbb0a6998d807366584e43372b1f1206000000010d19242f3a4753606d7985929eaab3becad6d9cfc1b9aca1969083796d665e564f46423b37312e2d2c29282c2d2e2f34383d414950575e686d7a839199a3afbac4cfdae0d4c8bcb1a79b8e8175665c5145382c1f130600000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256525252525252525252525252524a51535454565759565d6163656c6f747a7f858c92989ea5aeb4bcc3ccd4dcd9d2ccbfbbafa49a92867c6f685e52483f33291f1108000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f52505050505050505050505050505050505050514c52545558575f61686d737a828c9299a3abb5bfc8d1dcdcd1c6bdb2a89f92867b6e61564c4135291d11040000000004111e2b3744515e6a7784919daab7c4d0ddd9cdc0b3a69a8d8073675a4d4034271a0d000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d78868b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000061723303d4a5663707d8999a3afbbc7d2c5b9ada196887b6e6255483b2e23180c000000000000000000000000000000000000000000000000000000000000000000010c161f2b37424e57626c75818e96a0aab3bcbbafa49a92877e726d605b534c443d352f2f353b42464b515357565e61636566676867666563615e5755534e47433c3f464a4c4d4a4746413f3c3a3834343e464e575f696f7c86929aa4afb9beb3aa9f958b7f72685d52453c3120170c00000000000000000000000000000a15202b37434e58606d7a84919ea6b0bac4cfd8e2ded3cac0bbafa49a93887f746d665f575049413d38332d2b26232120201d1f20212223252a2d32373c42474e555c606b707c859197a1a9b3bdc4bab2a9a19792867d70685e5246392d2014070000000004111d2935404b5564717e8a96a1adb9c5d0dbd4c8bdb2a89f92857c6e685e554c443d342e29241f1b17151413131415161a1c23282f343c444c545c666d7a849198a2aeb9c3cedcd1c6bdb0a69b8f8275695f53433a2f24190d01000000000000000005111d2935414c56626e7b87929faab4bfcad6ddd2c7beb3a9a09590847c706b615e56514b47464142414041423f4446494b51545a61686d757f8c929ca5afbbc5cfdee2d7cec5b7aa9f94887b6e6255483c31261a0f030000000008131f2c3845515c67737f8c98a2aebac3cfd9d5c9bdb2a89f958f82786e686059534d47423d3b3a393534383a3b3d4045474e535b60696e7a839095a0abb5c0ccd6e0d7cec5b8ab9f95897c6f62544b4034281c100400000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5c60606162646668686d7073787c80858c91979fa2aaafbabfc5ced5ded7d0c7c0bbada39f93887e706a5f564c41362d21170d00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c5f5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d565d60626468696e737a7f858f949fa3abb5bdc6d1daddd7cbbfb4aba1968c7f73695e52443a2f24190d010000000005111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d8074675a4d4134271a0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d7986939898989898989898989898988e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000714202d3a4753606d7a86929facb9c5d2c9bdb2a9988b7f7265544a4034281c1004000000000000000000000000000000000000000000000000000000000000000000040d1a26313c45505a606d79849198a2aab4bdb6aca399928b7f746c655e564f454039312b3036394045474a4c52545658595a5b5a5a595754524d4847433c3732353a3e3f403d3a3936302f2d3039404550585f696e7b849198a2acb6c0baaea2989083786d60564c41332a1f0e050000000000000000000000000000040f1b26323c45515d67717e8a939ea8b2bcc6d1dce7dcd8ccc0b6aca49a938c80786e69605b534f46443f383732302e2d2c292c2d2e2f3031363a3c43474d53585f676d747d859297a1a9b2bbc5ccc4bbb3a9a29892867a6e6154473b2e21140800000000010d18242f3a4653606d7984919eaab3becad6d9cec3baada29791847a6e675e564f443f38352f2b272222212020212223262b2e343940454e565e666d78828f96a0aab4becbd5d7cbbfb4ab9e94897c6f62574d4231281e1308000000000000000000010d1924303a47535f6974818d98a2aebac2ccd6d9d0c5bcb1a7a09691867d746e68605d5554524c4f4d4d4e4f4a505355555d60656c707a818c919ba4aeb7c0cdd6e1dbd0c5bcb0a69c8f8276695f53473a2a20150a000000000004101c2934404b55616d7a85929fa8b2bdc7d1dacec4bab1a79e948f827a6f6b615e57534d4a4847454040444647494b51535860656c727b839095a0a7b1bdc7d1dedbd0c5bcb0a69d9083766a605442392e23180c0000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f717374777a7d8084898d92979ea1a9aeb4bcc1cad0d7ddd5cdc5beb6afa39b918c7f726c61584e443b30241b0f0500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285786c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b686d6e7174787b80858c92979fa6afb5bdc6cfd8dfd4cbc3baaea3999184796d60564d4232281e1308000000000005121e2b3845515e6b7884919eabb7c4d1dedacdc0b4a79a8d8174675a4e4134271b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a4a4a4a4a4a4a4a4a4a49b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000613202c3945515d677683909da9b6c3d2cfc2b5a89c8f8275665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000000000000915202a333f45515d676f7c869298a3abb5beb5aba39f918c80776d686059514b433e37322c2f35383a3d4146474a4c4d4d4e4e4d4c4a4846423c3a37312b26292e313233302e2d2a2a30363d434b515a616a6f7b849196a1aab4beb8afa59f92857b6e665c50443a3021180e000000000000000000000000000000000a15202935414c55616c75828f96a1aab4bfcbd7dbe8ddd2c7beb6aca49f928d837b716c65605953504a47433f3d3b3a3935383a3a3b3d3f4246484e54575f616a6f79808a9297a1a9b2bbc4cdd6cdc5baaea2988e8175685e5246392d201407000000000007131f2c3844515c66727f8c98a2aebac3ced9d6cabeb3a9a1969083796d686059504a45403937332d2f2e2d2c2d2f303137383f444b51585f686d78818e949fa8b2bcc5d0d9d0c7baaea3998f82766a6054453c311f160c010000000000000000000008131e2b37424d57616e7a86929fa6b0bac4cdd7d7cec3b9b1a8a1989287817b736d6765615e565b5a5a5a5b545c606265676d72777d858e939ba3adb6bfc9d2dfddd6cabfb4aa9e94897c6f62574d42372b180e030000000000000c18232f3946525e68727f8c96a0abb5c0cbd7d6ccc3b9b0a69e948f847d746e69625f57575553514b4a51535456555c60646a6f787f869195a0a7b1b9c3cfd9dbd6cabfb4aa9e94897d7063584e4330271d12070000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c787878787878787878787878787878787879797a7b7c7e7f8184868a8d91969a9fa2a9adb3babec5ced6dbd9d4cbc3bbb3aca49f918c7f736d635a50463c32291e12090000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6ded2c5b8ab9f9285787777777777777777777777777777777777777777777778797a7b7e8184888d92989ea1a9b0bbc0c7cfd8ded6cdc3b9afa59f92877c6f675d51443b3020160c01000000000005121f2c3845525f6b7885929eabb8c5d1dedacec1b4a79b8e8174685b4e4135281b0e000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb1b1b1b1b1b1b1b1a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000004111d2935404b556773808d9aacb6c0ccd2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000000000000000000000000000000000000000000000030e18212935404b555f6a707d869299a4afb5bdb5afa39c928d827a706b605d555047433c38332c2c2d3036393b3d3f40414141403f3d3b3a36302e2b26201b1e2225262624262b30363b41464f555c606c717c859196a1a8b2bcb9b0a69e938a7e71695f544a3f32281e0f0600000000000000000000000000000000040d19242f3a43505a616d7a849198a3aebac0c9d3dce4d9d0c7beb6afa49d9590867e78706b63605b54534e4c4a4847454044464748494c4d5354586062696e757c838d929fa2a9b3bbc4cdd6d0c5bcb2a89f92867b6e61564c41362a1e1105000000000004101c2834404a54606d7a85929fa8b2bdc8d4dbcfc5bbb2a8a0958f827a706b605c54514b46443f3d3c3b3a393a3b3d3e43474a50555c606a6f7a828e939da6b0bac4ced7d2c7beb2a99f92867b6e62584e43332a1f0d040000000000000000000000020e1a26313c46525e68727e8b949fa8b2bbc5ced7d5cbc3bab2aaa299928e86807a75716d6869686766676869666d6f72757a7e838a91979ea5adb5bfc8d1dbded5cbc3baaea2988f82756a6054453c31261a060000000000000007121d2a36414c56606d78849199a3afbbc1cad3d4cbc1b8b0a69f969187817b746e69676461605d55545c60616366676d71777c838b9298a0a8b1b9c3cbd5dbd3c9c1baaea2988f82756b6055463d321e150b000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858586868787898a8c8e90939a9a9ea1a8abadb3b9bec4cad0d7dcd6cec8c0b9b1a9a29a938b7f736d635b51483e342a20170d000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6dfd2c5b9ac9f92878383838383838383838383838383838383838383838384858687888b8e91969a9fa2aaadb3bbc2cbd1d9ddd5ccc4bbb1a79d938b7e716a60554b4032291f0d0400000000000006121f2c3945525f6c7885929fabb8c5d2dedbcec1b4a89b8e8175685b4e4235281b0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bebebebebebeb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000010d18242f3d4a5764707d8a9aa4afbbc8d3c6baaea298897c6f6356493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606b707e87939fa4abb4bcbbada49d948f857d736d67615a534e48443d39352f2c2a2d2e3032333435343332302e2d2a25211f1b171b1f2022262b2e32373b42464c525960676d747e869197a1a8b2babab1a79f948e81746c61574d42382e20160c00000000000000000000000000000000000008131e28313e46525e686f7c86929fa5afb7c1c9d3dce2d9d0c7c0bbaea79f98928b837d76706c66625f5859565453514b505354555659575e61666a6f747b818790959da4adb3bbc5cdd6d2c7beb4aaa0968c7f73695e53443b3025190d010000000000000c18232e3945515d67727f8c96a0acb8c1cbd5d7cdc4bab1a79f948f847d736d66605d5553504949484746454748494b4e53545c60676d727c848f949da5afb8c2ccd6d8ccc0b6aca1968d8073695f53463d3221180e0000000000000000000000000009151f2a36414c56626d76828f96a1a9b3bcc5ced8d5ccc4bcb3aba39f98928c86827e7a777675747374757677797c7f81858b90959ea1a9afb7bfc7d1daded5ccc3b9b0a69f92867b6e61584e43332a1f150900000000000000010d1925303a44515c666f7c87929fa5afb8c1c9d3d3cac1b8b0a9a199928d86817b7774706e6d676b6b666d6e707376797e838990949fa2aab1bac3cbd5dbd3c9c1b7afa59f92867b6e61594f44342b200c03000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea298929292929292929292929292929292929292929993949597999b9d9fa4acabacb2b8babec5c9cfd6dbd7d0cbc3bdb9afa7a09792887f726d635b51493f362c22180e05000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e0d4c7bbafa39992909090909090909090909090909090909090909090909091929995979b9ea1a8acaeb4b9bec5cdd7dcdbd6cbc3bab2a99f958e81746d62584e43392f20170d0000000000000006131f2c3946525f6c7985929facb8c5d2dfdbcec1b5a89b8e8275685b4f4235281c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6cbcbcbcbc1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000714212e3a4754616d7a86939facb9c6d2cabfb4aa998c807366574d42362a1c1106000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464f59616c717f8b9399a3aab3bbb6aea69f9791878079716c625f58544f4745413a38342f2d2c29242728272726242121222223232522272b2d2f31373a3c43474d52565e616b6f79808a9298a1a9b2babab2a8a0958f82796d605a50453b30261c0e04000000000000000000000000000000000000010c161f2a36414c56606a717e8b939da5afb7c1cad7dde2d9d2ccc0b9b1aaa29f959089827d78736f6a68656361605d555c606162636668696e72777c81878e939aa0a7aebabec5cdd6d8ccc0b6aca2989184796d60574d4232291e14080000000000000007121c2935414c55606d7984919ea5afb9c3ced7d6ccc3b9b0a69f9691878078726d6762605b53565554535254555657585f62666d71797f8691969fa6afb7c1cad4d6ccc4bbafa49a9184796d60574d42342b210f0600000000000000000000000000030e1925303b44515b616e7b849197a1aab4bcc6cfd6d6cec5bdb5afaaa29f98928f8b8684838280808182828385888b8e92989da0a7adb3bbc1c9d1d9ddd4ccc4bab1a79e938b7f72695e53463d3221180e03000000000000000008131e2834404a54606b727f8c939ea5afb7c1c9d6d3cac2bbb2aba39f99928e8884817d7b7a79787778797a7d7f82858b90959c9fa6aeb4bcc3ccd5dbd6c9c1b7afa59d938b7e71695f53473d3322190f00000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a0a1a2a4a6a7aaacafb6b7b9bdc4c6cacfd5dad6d1cbc6bfbab2aca59d9590857d726d625b514940372e241a100600000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbc0b5aba39f9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9e9fa3aba4a7abadb2b8babfc5cacfd7dfd8d0cac1b9b1a8a1979083796d605a50463d31271d0e050000000000000005121f2b3744505b657986929facb9c5d2dfdbcec2b5a89b8f8275685c4f4235291c0f000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d7d7cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000713202d3946525e687784919daab7c4cfd0c3b6a99d908376695e5346382e23170b0000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d47505a626d727f879298a2a9b2bab8b0a9a199938d847e766f6a63605954514b4745403d3a39352f32302f2f2e2e2d2e2e2f2f30322d3337393c3e4347484e53565e61686e747c838d929fa2aab3bbb9b1a8a09690837a6d675c51483e33291e150a0000000000000000000000000000000000000000040d1925303a444e58626d74818e939ea5afb8c1ccd2d9e2ddd8cbc2bcb4aea79f9d948f8a847f7c787472706e6d676c666d6d6e707275787b7f84888e92999fa4acb1b9c0cacfd7d7c8c0bbafa49a92867c6f675c51453b3120170d0200000000000000000d19242f3a45515c66707d8a939da7b1bcc5ced8d5cbc2b8b0a8a199938c847f79736f6c6565636261605d60626364676a6f72797e848c9298a1a8b0b8c1c9d2d6cdc4bab0a69f93887d70675d51453c3122190f00000000000000000000000000000008141e29323f46525e696e7c859298a2aab4bdc4ccd6d7cfc7c0bbb4aeaaa29f9b999391908e8d8d8d8e8f909298989b9fa2aaacb1b9bec4cdd3dbdad5cbc3bab2a8a0958f82776c60574d42342b200f06000000000000000000020c18232e39424f59606c77818f939ea5afb7c1cacfd4cdc4bdb5afaba39f9a96918d8a8886858484858687898c8f92989d9fa7abb0babec5ced5d7cfcac1b7afa59e938e81746c61574d42352c21100700000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababacaeb5aeafb1b2b4b7b9bbc0c4c5c9ced3d6d9d4d0cac7c0bbb4aea8a09e938e837b706c625b514940372e251c11080000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e8dcd1c7bdb5afacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaeb5b1b4b7b9bdc4c6cad0d6dad8d3cec6bfbaafa7a09691857b6e675c51483f342b1f150b00000000000000000613202d394653606c798699a3afbbc7d3e0dccfc2b5a99c8f8276695c4f4336291c10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d100000000000000000000000000005111d2a36414c566774818d9aa9b3becad2c6b9ac9f93877b6e61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000040d18222b353e48505a626d727e869297a1a8afbabbb3aba49f96918a827c76706b64605d5553514b49474540403f3d3c3c3b3a3a3b3b3c3c3d3e403f4446484b4e5355585f62696e737a818790959da4aeb4bcbbb0a79f9691847b6e685d554b40362c21170c0300000000000000000000000000000000000000000008131e28323d46505a606d78818e939ea6afbbc0c7d0d7e0ddd4cec5bebab1aba69f9c96918c8884817f7d7b7a797878797a7b7c7f8284878c91959a9fa3abafb6bec3cbd6d9d2ccbfb6aea59f93887e706a5f554b4033291f0e0500000000000000000008131e2834404b54616b74818e95a0aab4bcc6cfd8d4cac2bab2aba49f96918b85807b797572706f6e6d686d6e707174787b7f848b91969fa2aab2bac2cad2d6cdc4bbb2a89f948c80736b60554b40332a1f1007000000000000000000000000000000020d17202a36424d565f6a6f7c869298a3abb2bac1cad0d7d1cbc6bfbab4aeacaba49f9e9c9b9a999a9b9c9d9fa2aaa8abaeb4b8bcc3c9cfd6ddd7cfc9c0b9b1a8a0969083796d655b50453b3122190f000000000000000000000007121c27303d44505b656d78818f939ea5afb9bec5cdd5cfc7c0bbb4aeaca8a09e9a97949892919192989496999c9fa2aaabb1b7bcc2cad0d7d6cdc5beb9afa59e938e81786d605a50453b31231a0f0000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbbfbabcbdbfc1c3c6c8ccd2d2d5dad5d2cec8c6bfbab5afaaa39f96918981796e69615951493f372e251c130a000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3e3d9cfc7c0bbb9b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8b9bbbfbec1c4c5c9cfd3d6dbd7d4cdc7c1bcb4aea59e9591847b6e695e554b40362d22190d0300000000000000000713202d3a4653606d798693a0b5c0cbd7e3dccfc2b6a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1bdcad7e4dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000010d1925303d4a5663707d8997a2adb9c6d2c8bbafa49a8c8073665c5044382b1f1409000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f48515b626c717d8591969ea5aeb4bcb5afa8a19e948f88827d77716d6764605c555653514b4d4b4a4948484747474848494a4b4d4950535558585f62666a6f747b80858e939aa0a7aebabdb5afa69e9590847b6e695e564c43392e241b0f0600000000000000000000000000000000000000000000020c16202b343f44505c666d78818f949da5afb5bdc5ced6dbe0d7d0cac3bcb8b0aaa8a09e9996918e8c898786868585868788898c8f9196999da0a8acafb5bbc0c7d0d5d8d0c7c0bbada49d938c7f736c61584e43392f21170d00000000000000000000010c18232e39424f59606d79839098a2aab4bdc6ced6d4ccc4bdb5afa8a19e97928d8885827f7c7b7a79797a7b7c7e8184888c91969ea1a8aeb4bcc4ccd4d4ccc4bbb2a9a1968f82786d60594f433a2f21180e0000000000000000000000000000000000050e1925303b444e58606a707d869299a1a8afbabfc6ced4d7d0cac6bfbab8b5afacaaa9a8a7a6a7a8a9aaacaeb4b4b8babec5c8ced5dad7d2ccc5beb9afa79f9691847b6e675d53493f33291f10070000000000000000000000000b151e27333f49535c666d78818e939ea5adb3bbc1c9cfd1cbc6bfbab9b2acaaa7a3aaa29f9e9e9fa2aaa3a6a9acaeb4b8bcc3c7cdd6d5d0cac1bbb3ada59e938e81786d665c50483e332a1f11080000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8caccced0d2d4d8d5d2d1cfc9c5c3bdb9b4aeaba39f98928c847d746d675f574f473f372d251c130a01000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1ddded2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d9d1cbc7c5c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4c5c7cbd1ced1d2d5dad7d4d1cbc7c2bcb7afaaa29f938e837b6e695f574d43392f241b10070000000000000000000714212d3a4754606d7a8793a0adbad1dce8dccfc3b6a99c908376695d5043362a1d10000b1824313e4b5764717e8a97a4b1bdcad7e3dacdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3dfdbcec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd8dcd0c3b6a99d9083766a5d5043372a1d1000000000000000000000000000000813202d3a4653606d7985929eabb8c4cfccc0b6ac9e9184796d6053463b30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000007111a242d363f49515a616b707c848e939fa2aab1b9bbb2ada69f9c948f89837e7a75716d676663605d555a585756555554545455555656585a535b606265686a6f73777c81868d92989fa4acb1b9bab2aba39f948f837a6e695f564d433a30271d1209000000000000000000000000000000000000000000000000050e192228343f4a545c666d78828e939fa4abb4bcc2cad0d7e0dbd6cdc8c2bbb7b2acaaa9a19e9b9896949992929298949596999b9ea1a8aaacb1b9bbc0c7ccd2d9d2ccc3bdb5afa39c928d81776c605a50463c31271d0f05000000000000000000000007121d27303e45515d676e7c869298a3abb4bcc4cdd6d6d0c7c0bbb2aca9a29f9997928f8b89888786868788898a8d9196989ea0a8adb2babfc6ced6d5cbc2bab2a9a19691847a6e665c50473d31281d0f0600000000000000000000000000000000000009141f29323c464e58606b707d8791969ea5aeb4bcc2c8ced4d6d0cac7c5c0bbb9b7b6b5b3b3b4b5b5b6b8babfc1c5c6cad0d4d9d5d1cbc7c0bbb3ada59d9590847b6e695e554b41382d21170d00000000000000000000000000030c17222d38414b545c666d78818e939ea2a9afb9bec5c9cfd1cbc7c4bdb9b7b4b0b4aeacabaaabaeb3afb2b6b8babfc6c8cdd3d4cfc9c5bebab0a9a29e938e81786d665c544a3f362d21180e000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d7dcd5dad5d2d1cfcecfc9c6c5c2bdb9b7b2acaaa29f99928e867f79706b605c554d453e352d241b130a0100000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1d6d6d2c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6dcd7d4d2d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d3d7dcd7d3d2d1d1cbc7c5c0bbb9b0aba59e98928b81796e695f574d453b31271d1209000000000000000000000714212e3a4754616d7a8794a0adbac7d3d6d6d0c3b6aa9d9083776a5d5044372a1d11000b1824313e4b5764717e8a97a4b1bdcad6d6d6cdc0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6d3d6d6cec1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfccd6d6d0c3b6a99d9083766a5d5043372a1d10000000000000000000000000000006121f2c3844505c6674818e9ba9b3bec9d2c7b9ada1968a7d7063574d42362a1c11060000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f485059606a6f7a818b92989fa7adb3bbb9b0aba69f9c95908b86827d797673706d676867656362626161606161626263656668656c6f7174777c8084888e92999fa2aaafb6beb7afa8a099928c82796d685f574d443b31281e150b0000000000000000000000000000000000000000000000000000071017232e38424a545c666d78818c9399a2aab0babfc6ced3d8ded8d4ccc7c4bdb9b7b2adaba7a5a3aba39f9f9fa2aaa1a3a5a8abadb2b7b8bdc3c7cbd1d8d5d0c7c0bbb2aba49f918c80786c655b50483e342a1f150b000000000000000000000000000b151e2935404b555f6a707d869299a2aab2bbc2cbd0d8d2ccc4bdb9b3adaba9a19e9b989695949992999596979a9ea1a8aaacb2b9bdc4cad0d7cfc9c0b8b0a8a19791847b6e685e544a3f352b1f160c00000000000000000000000000000000000000020d17202a333c464f59616b707d848e939fa2aab1b8bcc3c8ccd2d4d3d2ccc7c6c4c3c1c0c0c0c1c2c3c5c7cad0d2d3d6d6d2cfc9c7c0bbb5afa9a19e938e837b6e695e574d433a2f261b0f05000000000000000000000000000006111b262f39424b545c666d78818a92979ea5adb3b9bdc4c7cdd2cec9c5c4c0bdbfbab8b7b7b8babebcbfc2c5c6cad0d4d2cdc8c4beb9b3ada69e97928a81786d665c544a42382e241b0f06000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8c8cfc9c6c4c3c1bfbeb9b8b5b2adaba8a09e98928d87817b736d676159514b433b332c231b1209010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4c9c9c9c9c5b8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c2c0bbb9b5afaca69f9c938e867e756d675e574d453c33291f150b00000000000000000000000814212e3b4754616e7a8794a1adbac7c9c9c9c9c3b7aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9c6c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bfc9c9c9c9c3b6a99d9083766a5d5043372a1d10000000000000000000000000000003101c28343f4a5463707d8a97a1adb9c7d2c9bdb2a99c8f8275695e5246382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e474f585f686d757e8690959ea1a9aeb5bbb7b0aaa79f9d98928e8a8583807c7a77757372706f6f6e6d6d6e6e6f6f7071737576797b7e8184888c91959b9fa3abaeb3bbb9b0aba59d9691877f786d675e564d453b32291f160c0300000000000000000000000000000000000000000000000000000006111c263038424b545c666d747f8792989fa6aeb4bcc2c7cdd3d8dfd8d3cec9c5c4bdb9b8b4b2b0b5afacababaeb4aeafb2b5b8b9bdc4c5c8ced3d7d4cec9c4beb6afa8a099938b7f746c665b53493f362c22180d0300000000000000000000000000030c18242f39434e57606b707d879298a1a9b0babfc6ced3d7cec9c5bebab8b3adaba8a5a3a2aba39fa3aba3a4a7abacb2b7b8bdc3c9cfd6d2ccc4bdb9afa69f9691857c6e695f564d42382e231a0d040000000000000000000000000000000000000000050e18212b343d474f59616b707a818b92989fa7acb1b9bbc0c7c8ced1d2d4d2d1cfcecdcccdcecfd0d2d3d6d4d2d1cfcac6c5beb9b5afaba49f97928a81796e695e574d453b31281d140a000000000000000000000000000000000a141d273039424a545c666d757e858f939ea1a9adb2b7bbc2c5c9cfd1d1cdd0cac7c5c4c4c5c6cad0cccfd2d2d1cec9c5c3bcb8b2ada9a29f948f857e756d665c544a423830261c120900000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcbbbbbeb9b8b6b4b2b3adaba8a8a19e9a96918c86807b756e69605c554f4540393129211a110900000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7bdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbcc0bbb9b7b5b5afacaba39f9c949089817b726d605d554d453c332a21170d0300000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb7aa9d9184776a5e5144372b1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdb3a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb9bdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b2bdbdbdbdbdbdb6a99d9083766a5d5043372a1d100000000000000000000000000000000c17232e3a4653606d7985919eabb5c0cccfc4b9ac9f92867b6e61544a3f33281d1207000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353d464e565d606c717b838b92979fa3abafb5bab7b1abaaa39f9b98928f8c89868482807e7d7c7b7b7a7a7a7b7b7c7d7e80818385888b8e9196999da0a7acaeb4bab8b2aca69f9c938e847c736d665d554c443b332920170d0400000000000000000000000000000000000000000000000000000000000a141e263039424b545c606d727d8690949fa2aab0b7bbc2c7cdd2d5dad9d5d2cfc9c5c4c1bfbcc0bbb9b8b8babebbbcbfc2c4c5c9cfd1d4d6d3cec8c4bdb9b2aca49f9691877f736d605b544a41382d241a100600000000000000000000000000000007121d27313c454f59616b707e8691969fa6aeb4bcc1c7cdd3d5cfcac6c5beb9b8b5b2afaeb5aeacaeb5afb1b4b7b9bdc4c5c8ced5d2ccc7c0bbb2ada59d9490847c6f6a5f574d443b30261c110800000000000000000000000000000000000000000000060f19222b353e474f5960686d757e8690959da0a7acafb6b8bcc1c4c5c9cecccdcececfcfcececdccd2ccc8c6c4c1beb9b8b3adaba39f99938e857e746d675e574d453b33291f160b0200000000000000000000000000000000020b151e273039424a545c606c717a828a92979ea1a8abb0b8b9bdc2c4c5c9cecccdcececfcfcececdcccec9c5c4c1bdb9b7b1aba9a19e97928b827b716c605c544a423830261e140a0000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afafaeaeb2adaba9a7a6a9a19e9b9896918d8884807a746e69615f57514b433d342f271f180f080000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afb5afacaaa8aba39f9c99928f89837d756e69625b514b433b332a21180f050000000000000000000000000815222e3b4855616e7b8894a1aeb0b0b0b0b0b0b0b0aa9e9184776b5e5144382b1e11000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0a79a8d8074675a4d4134271a0e000713202d3a4653606d798693a0acb0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a5b0b0b0b0b0b0b0b0a99d9083766a5d5043372a1d1000000000000000000000000000000006121f2c3844505c6673808d99a4afbbc7d4c7bbafa3998c7f73665b5044392e23180c01000000000000000000000000000000000000000000000000000000000000000000000000000109121a232b343c444c525a62696e787e858d92999fa3abaeb3b8b8b4aeacaaa29f9c999992918f8d8b8a898888878787888889898b8d8e909297989b9ea0a8aaacb1b9bab9b1aba8a09e94908981796f6a605c544b433a322921170e05000000000000000000000000000000000000000000000000000000000000020c151e273039424b515b636b707b828b92989ea6abb0b7bbc2c6c9cfd2d5dadad5d2d1cecbd1cbc7c5c5c5c6cad0c9ccced1d2d5d6d3d0cac6c3bcb8b2aca8a09a938d847d726d635b504a42382f261b110800000000000000000000000000000000010b151f2a333d474f59616c707c8490949fa3aab0b7bcc2c7cbd1d3d3cfcac6c5c2bebcbbbfbbb9bbbfbcbdc0c4c5c9ced2d3d0cac7c0bbb5afa8a19e938e827a6f6a5f574e453b32291e140a000000000000000000000000000000000000000000000000071019232c353e474f565d606c717b838a90959c9fa4acacb1b4b7b9bdbdbfc0c1c1c2c2c2c1c1c0bec0bbb9b7b5b3adaba9a19e99928e87817a716c605c554d453b332921170d04000000000000000000000000000000000000030c151e273038424a505a61686e757e858c91969c9fa6abadb2b5b7b9bdbdbfc0c1c1c2c2c2c1c1bfbebdb9b7b4b2acaba7a09d97918c857e756e68615a504a423830261e140c020000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a2a1a9a19e9c9b999797928f8b8884807c77736d68615f57534d4540393129231d150d06000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919ea3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aba39f9e9c999992908b86827c76706b615e575145403a312920180f06000000000000000000000000000915222f3c4855626f7c8895a2a3a3a3a3a3a3a3a3a3a39e9185786b5e5245382b1f12000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f000c1926333f4c5966727f8c99a3a3a3a3a3a3a3a3a3a39d9083766a5d5043372a1d1000000000000000000000000000000003101c28343f4a54616e7b87939facb9c3cecbc0b5ab9e9184786c60544b4034281d1307000000000000000000000000000000000000000000000000000000000000000000000000000000081119222a323a414550575f666c717a80868e92999fa2aaacb1b7b8b8b4aeaca9aba39f9d9b9a98969595949493949495959698999b9d9fa2a9a7aaacb2b7b8b9b5afaca7a09d96918a837c746d676058504a4239312820170f060000000000000000000000000000000000000000000000000000000000000000030c151e2730394045515961696e777f868f949c9fa6abb0b8b9bec4c5c9ced0d2d3d7dcd8dcd7d4d2d2d2d3d6dbdcd6d3d2d0d0cac6c5bfbab8b1aca8a09e96918880796f6b625b51443f382f261d140a000000000000000000000000000000000000030d18212b353e47505a616a6f7b828c92989ea6abb0b9babfc5c7cbd1d2d2d1cecbc9d1cbc7c5c7cbd1cacdd1d2d2d1cbc7c5bfbab5afaba49f96918a81786d685f584e453c332a20170c020000000000000000000000000000000000000000000000000007111a232c353d444c525a62696e767d838a8f939a9da0a7a8aaacb2b1b2b4b4b5b5b5b5b4b4b3b2b6afacaaa8a9a19e9b97928d87817c746d68615a514b433b332921170f050000000000000000000000000000000000000000030c151e2630383f4450565e616c717a7f848a8f949a9ea1a9a8abacb2b1b2b3b4b5b5b5b5b4b4b3b1b2acaba7a8a19e9b95908a847f7a716c615e5650443f3830261e140c02000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696959594949791908e8c8a8885827f7c78736f6a66615e56534d46423b342f271f18120b0300000000000000000000000000000000000000000000000a1724313d4a5764707e8a969696969696969696969696968a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919696969696969696969696969285786c5f5245392c1f12000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969695959992918f8d8986837f7a756f6b636059524d453f352f281f170e0600000000000000000000000000000916222f3c4955626f7c88959696969696969696969696969285786b5f5245382c1f12000b1824313e4b5764717e8a969696969696969696969696968d8074675a4d4134271a0e000713202d3a4653606d7986939696969696969696969696968e8175685b4e4235281b0f000c1926333f4c5966727f8c9696969696969696969696969083766a5d5043372a1d10000000000000000000000000000000000c17232e3846535f6976828f9ca7b1bcc8d1c7b9aca1968b7e71665c51453a2f24180d0200000000000000000000000000000000000000000000000000000000000000000000000000000007101820282f353f454d545b60686d737b81868d92989da0a7aaacb2b5b8b8b6b5aeacaaa8a6a5a3a2a2a1a0a0a1a1a2a2a3a4a6a8a9abadb3b4b7b9b7b4aeacaba39f9b95908b847e766f6a605d554e443f3830271f160e0600000000000000000000000000000000000000000000000000000000000000000000030c151e272e343f474f575f656c727b82898f949c9fa6abadb3b7b9bdc1c4c5c7cbd1cccdcdcecfcececdcccbd0cbc7c5c3c1bebab8b4aeaca7a09d96918b847d746d676059514840332d261d140b0200000000000000000000000000000000000000060f19232c353e47505860696e787f868f949c9fa6acaeb4b9bbbfc3c5c6cad0cccdcececfcfcececdccd0cbc7c5c3bfbbb9b4aeaba49f99938d847d746d665e564e463c332a21180e0500000000000000000000000000000000000000000000000000000008111a232b323a414550575f616c70787d82878d9095989b9ea0a8a4a5a7a7a8a9a8a8a8a7a6a5aca49f9e9b9997928e8a85807b756e6a605d5650454039302920170f0500000000000000000000000000000000000000000000030c151e262e343e444c525a61686d73797d82888d9196989b9ea1a8a4a5a7a7a8a8a9a8a8a7a6a4a8a19e9b9796918e89837e79736d68625a524d443e342e261e140c0200000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8989888887868583817f7e7b7875726f6c6562605854524c46423b363129231d150d07010000000000000000000000000000000000000000000000000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89898887868482807d7a76726d68636059544f46423b3329241d160d050000000000000000000000000000000916232f3c4956626f7c898a8a8a8a8a8a8a8a8a8a8a8a8a8a86786c5f5245392c1f12000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8074675a4d4134271a0e000713202d3a4653606d78868a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f000c1926333f4c5966727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a83766a5d5043372a1d100000000000000000000000000000000006111c2a36424d5763707d8a95a0acb8c4cec9bdb2a89e9184796d60554b4035291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333c424a50565d60696e757b80858c9195999ea0a8a9abaeb4b4b6b8b7b5b3b1b0afaeaeadadadaeaeafb0b1b3b4b6b8b7b5b3b2acaaaba39f9c99928e89837e79716c626058514b433d342e261e150d05000000000000000000000000000000000000000000000000000000000000000000000000030c151d2328353e454d535b60696e767c82899094999ea1a9abacb2b5b7b9bbbfbfbfc0c1c1c2c2c1c0bfbfbebfbab8b6b4b3adabaaa29f9b95918b847e796f6b605d554f473f3628221c140b0200000000000000000000000000000000000000000007111a232c353e464e575e666c727b828990949b9fa3aaacaeb5b6b8babfbebfc0c1c1c2c2c1c1c0c0bebfbab8b6b5aeacaaa29f99938e87807a706c605c544c443c342a21180f060000000000000000000000000000000000000000000000000000000000081119202830353f454d535a61666c70767b8084888b8e91969697999a9b9b9c9c9b9b9a9998979a93918e8c8985817d79746e69625f58524c443e342e271e170e05000000000000000000000000000000000000000000000000030c151c2328323b414650565e61666d71767c8184888c8f91969697999a9b9b9c9c9b9b9a99989696918e8b8784817c77716d66615e565046413b3228231c140c020000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7c7b7b7a7a78767473716e69686562605b53544e4746413a36312a261f18120b0300000000000000000000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7b79777573706d6765615e56544f48443d3630292118130c04000000000000000000000000000000000714212d3a4754606d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6255483b2f221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6356493c3023160900000000000000000000000000000000000e1a26313b4653606c7883909da8b2bdc9cec4b9aca1968b7f72675d51453a3025190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212a2f383f444c52575f62696e737a7f84888c9196999c9fa2aaa8aaabaeb3b1b2b3b3b4b4b5b5b5b4b4b3b3b2b1b5afacaba9a6a8a09e9b99928f8b86817c77716d66615a544e45413a3128231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000030b1218232c333c414950575f616b6f767d83888d91979a9ea1a8a8aaacaeb5b2b3b3b4b5b5b5b4b3b3b2b1b4aeacaaa7a9a29f9b98928e8a847e78726d676059514b433d352d2417110a02000000000000000000000000000000000000000000000008111a232c343c454d545b60696e757c83898e92989c9fa3aba9acaeb4b1b3b4b4b5b5b5b5b4b4b3b1b4aeaca9aba39f9c98928e87817c746d67615a514b423a322a22180f0600000000000000000000000000000000000000000000000000000000000000070e161e2429333c424750545b6064696e73777b7f818487898a8c8d8e8e8f8f8f8e8e8d8b8a898684827f7c7975706d66625f57534e45413a3228231d150c050000000000000000000000000000000000000000000000000000030a1117202930363e444c52545c60646a6f74787b7f828487898a8c8d8e8e8f8f8f8e8e8c8b898784817e7b78746f6b64605c54524c443e3630292017110a02000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d6d6769686664625f57585553504947433c3936302a261f1a140c07010000000000000000000000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000916222f3b4854606b707070707070707070707070707070706b6055483c2f231609000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6f6e6d66696663605d5554524c48443d38332a251f170f070100000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070706b6155483c2f231609000714202d3a46525e696e7070707070707070707070707070706e6a5f53473a2e2114080005121f2b3744505b656c7070707070707070707070707070706f6a5f53473b2e211508000714212d3a46535f696e70707070707070707070707070706f6b6054483b2f221509000000000000000000000000000000000009141f2b3744505b65717e8a96a0acb9c3cec9bdb2a89e9285796d60564c41362a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f181d262d333a41454d53575e61676d72777b8084888c8f9298989b9d9fa2aaa4a5a6a7a7a8a8a9a8a8a7a7a6a5a4aba39f9e9c999696918e8a86827e7a756f6b64605c545047433d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a212a2f383f444d535960636b70767b80858a8e9196989b9d9fa3aba5a6a7a7a8a9a8a7a7a6a5a4aaa39f9d9a9897928e8a85827d78716d66605c554f454039312b231b1206000000000000000000000000000000000000000000000000000008111a222b333b424a50575f626b6f767c81868b8f92999a9c9fa2aaa4a6a7a7a8a8a8a8a7a7a6a4aaa39f9c9999928f8a86817b756f6a605d5550454039302920181006000000000000000000000000000000000000000000000000000000000000000000040c1319212a31373e424a5053575f6166696e7275777a7c7e7f8181828282828181807f7d7c7a7775726f6c6664605c54534d47433c3530282018120b030000000000000000000000000000000000000000000000000000000000060e171e252a323a41464a5053585f62676a6f7275787a7c7e7f8081828282828181807e7d7b7874716e696863605953514b46413a322a251f170e0600000000000000000000000000000005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636362626161605c555b595755534d4c4946443f3837322d2a251e1a140e0903000000000000000000000000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e110500000000000000000000000000000000000000000000000000000000000713202c38444f59606363636363636363636363636363636360594f44382c2014070005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545a5654514b4746413a38322c27211a140d050000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636361594f44382c2014070005111e2a36424d575e61636363636363636363636363636363625f584e43372b1f120600030f1b27333f49535b60636363636363636363636363636363625f584e43372b1f13060005121e2a36424d575f6163636363636363636363636363636360594f43382c1f13070000000000000000000000000000000000030f1b27333f4953606d7984919ea8b1bdc8cec4b9ada1978c7f73685e52463c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c22282f353c42474d52555d60656a6f73777c7f8285888b8e909298959799999a9a9b9c9c9b9b9a9a999997969992918f8c8a8784817e7a75716e6863605953514b423e373229241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d333b42464f545960636a6e73797d8184888b8e9192999698999a9a9b9c9b9b9a999898979892908e8b8985817d7975706c66605c54514b433d352f271f1910090000000000000000000000000000000000000000000000000000000008101920292f383f444d535960636b6f757a7f82868a8d9092989698999a9b9b9c9c9b9b9a9998969892908d8a86827e7a746e69625f58514c433e342e271e170e06000000000000000000000000000000000000000000000000000000000000000000000002080f181f262b2f383f44464d5355575f616568686d6f717274747576757575747372706f6d67686662605b5453514a47423c373129241e160e070000000000000000000000000000000000000000000000000000000000000000050d141920283035383f44464e5355585f626568686d6f717274747575767575747371706e696864615e5756544f464540393630282019140d0500000000000000000000000000000000010d1925303b444c52545757575757575757575757575757575757575757575757575757575757575757575757565655555453514b4e4c4b4847423f3c3937332d2b27201e19130e090300000000000000000000000000000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e02000000000000000000000000000000000000000000000000000000000004101c27323d474f5456575757575757575757575757575756554f473d33271c100400010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575656555453504a4d4a4745413a3936302c27211c160e09030000000000000000000000000000000000000000010d1924303a444c525457575757575757575757575757575757554f473e33281c100400020e1a25303b454d525457575757575757575757575757575755534e463c31261a0f0200000b17222d384149505357575757575757575757575757575755534e463c32261b0f0300020e1a26313b454d5355575757575757575757575757575756544f473d32271b0f030000000000000000000000000000000000000b17222d3844505c66727e8b95a0acb8c2d0c9beb3a99f92857a6d61584e42392e23180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931373b42464c5154585f62666a6f7376797c7f81838587898a8c8c8d8e8e8f8f8f8e8e8d8d8c8a8987868482807d7a7775716d6765615e56544f46454039302b272018130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141b222731363d43484f54575f62666d7074787b7e828486888a8c8c8d8e8e8f8f8e8d8c8c8b8a888683817f7c7975706d6764605b54504a4540393029241d150d07000000000000000000000000000000000000000000000000000000000000070e171d262d333c42474f54596063686d72767a7d80838588898b8c8d8e8e8f8f8e8e8d8d8b89878683807d7a75716d67625f57534e45413a3128231d150c050000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1d262d33383c4246484d535558565e61636466676868696968686766656462605d55595653504a4644403937312b262019130c040000000000000000000000000000000000000000000000000000000000000000000002080e161e25292e34383c4347484e535559565d616364666768686969686867666563615e575854534d4948443d38342e2a251e160e080200000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a494948484747454041403e3b3a37312f2d2b27221b1b15110d08020000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f1409000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484846443f403d3a39352f2d2a251e1b16100b05000000000000000000000000000000000000000000000008131e28323a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009141f2a333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d342b21160a0000000000000000000000000000000000000006111b28343f4a54606d7884919da6b0bdc7cfc5baaea2988d80746a5f544a4034281f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b131920262b30363a4145474e5355585f6266666d6f727577787a7c7e7f80808181828282818180807f7e7c7b79787673706d686864605d5554524c48433d38342e271e1b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484e53545c606367696e727577797b7d7f8080818282828180807f7e7d7b797774726f6d6664605d5553504a443f38342e271e18120b030000000000000000000000000000000000000000000000000000000000000000050b141c222831373d44484f54565e6165676d717376797b7d7e808181828282828181807e7c7b797673706d6864605d55534d47433c352f281f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141c22282b31373a3b4246484c4c52545657595a5b5b5c5c5c5b5b5a58575654514c4c4946443f3a38342e2b261f1a150d080200000000000000000000000000000000000000000000000000000000000000000000000000040c13191c23282c31373a3c4347484c4c52545657595a5b5b5c5c5c5b5b59585654524d4b4846423c3b38322c28231d19130c050000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a3a38342f33312f2e2b2622201f1b17110f0a0501000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000050f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3c3b3a38342e302d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e03000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e04000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f0400000000000000000000000000000000000000000c17232e3844505c66707d8a949fabb5c0cccabeb4aa9f92867c6f665c51443d31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a1f252a2f35393c4347484e5355545c606265686a686d6f7172737474757576757574747372716f6e6d66696663615e565754514c4746413b38322c28231d150c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21272c33383c42474a505357575f616568666d6e70727374747576757474737271716e6d66676563605c5453514b46443f38342e28231d150c070100000000000000000000000000000000000000000000000000000000000000000000020a111720262b32383d44484c5254555d606467666d6e70717374747575757574747371706e6d666663605d5653514b47423c373129241e160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f262b2d31363a3b3f414647494b4c4e4e4f4f4f4f4e4e4d4c4a494745413f3c3938332d2c28231c1a150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262b2e31373a3c3f414647494b4c4d4e4f4f4f4f4e4e4d4b4a4846423e3b3a36312f2c271f1c18120d080200000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2e2d2c2923262422211e1a1613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000007111921272c2f303030303030303030303030303030302f2c27211a11080000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c28232321201d1813110d080200000000000000000000000000000000000000000000000000000000040e161e24292c2d303030303030303030303030303030302f2c28211a11080000000000050e171f252a2d2e3030303030303030303030303030302f2e2b2620180f060000000000020b141b22272b2d3030303030303030303030303030302f2e2b26201810070000000000060f181f262a2d2e3030303030303030303030303030302f2c272119100700000000000000000000000000000000000000000006111c28343f4a54616c76829099a4afbbc4cfc5baaea3999083786d60584e43392f24180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e141a1e24292c31373a3c4347494a505355585b565e61626466666767686969686867676666646361605c54595754524c4a4745413b3936302c271f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3137383f44464a4d535558545c6061636566676768696868676665656462605c54585653514a4745403938332d28231c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000060b151a21272c32383a4146474c515457545c6062636566676868696968686766656361605c545754524c4745403a37312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e21262a2d2e3036393a3c3e3f4141424342424241403f3d3c3a39352f2f2d2b28221f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151b1f21262b2e2f3035393a3c3e3f4141424243424241403e3d3b3a36302e2d2a25221f1b16100c070000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242323222221201f1c1819181514120e090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e202124242424242424242424242424242421201e19140d050000000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242323201c160f0800000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242423232221201f1c17171413110d07050100000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242423201c16100800000000000000050d141a1e202124242424242424242424242424242422211f1a150e0600000000000000020a11171b1f2024242424242424242424242424242422211f1b150e0700000000000000060e141a1e2122242424242424242424242424242423221f1b160f0700000000000000000000000000000000000000000000000c17232e38424f59626f7c87939fa8b2bdc9cbbfb4aba0958c80736a60554b40352921180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20262b2e32373b3c3f4446494c4e4c5254565759595a5b5b5c5c5c5b5b5a5a5957565453504a4d4a4746413e3a39352f2d2a251e1b16100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c20262b2e34383a3d4246484b4a5053555759595a5b5b5c5c5b5a595958575553504a4c494644403a38352f2b28221c17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c3036393a4145474a4a5053555658595a5b5b5c5c5b5b5a5a58565453504a4a4745413a39352f2b261f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141a1e2122252a2d2e30313334353536363535343332312f2d2c292423201f1c1712100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151b1f212224292d2e30313334353536363535343332302e2d2a2521211e1a15130f0a04000000000000000000000000000000000000000000000000000000000002080d111414171717171717171717171717171717171717171717171717171717171717171717171716161515141413100c070b080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171414110e090200000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171614100b0500000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171615151312100c0607060401000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b0500000000000000000002090e1114141717171717171717171717171717171514120f0a0300000000000000000000060b0f12131717171717171717171717171717171615130f0a0400000000000000000003090e12141517171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000006111c26303e4754606a74808d96a1adb9c1ccc6bdb1a79f92877c6f675d51453d332a20160c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11151b1f21262b2e2e34383a3c3f42414647494b4c4d4d4e4e4f4f4f4e4e4d4d4c4b494846443f403d3a3936302d2c2924201e19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282c2d31373a3b3f3f4446484a4c4d4d4e4f4f4f4e4d4d4c4b4a4846443f3f3c3a38342e2c29241f1c17110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e252a2d2f35393a3e3f4446484a4b4d4e4e4f4f4f4f4e4e4d4b494846443f3d3a39352f2c29241d1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415191d202123242627282829292928282725242321201d191613120f0b060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515191d2021232426272828292929282826252321201e1a1514120e090703000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09090807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0808060200000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a090907030000000000000000000000000000000000000000000000000000000a151e2b37434e58606d7984919ea5afbac4cfc3bbafa3999184796d60594f453c32281e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f12151b1f2123282b2d2f323035393a3c3e3f40414142424342424141403f3e3c3b3a38342e302e2d2a2521201d1914110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e11171c1f20262b2d2e2e34383a3b3d3f4041414243424141403f3e3e3b3a38342e302d2c28231f1d18120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2024292c2d2e34383a3b3d3e404141424242424141403e3d3b3a38342e2d2c2924201d18130e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d1113141618191b1b1c1c1c1c1b1b1a1917161413110d08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608080d1113141618191a1b1c1c1c1c1b1b1a18171514120e09070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1b27323c45515d67707d8a939ea8b2bdc7cbc0b5aba0968d80746b60574d443a30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f1315171c1f20222525292d2e2f313333343435363635353434333331302e2d2b28232421201d191413110d080502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131a1e212223282c2d2e30323334343536353534333232312f2d2b282323201f1c1813100c0703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113191d202123282b2d2f30323334353536363535343332302e2d2b282321201d1913110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f100f0f0f0e0d0c0a0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0e0e0f0f100f0f0e0d0b0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313131312070604000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000002070b0d0d131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000003070b0d0e13131313131313131313131313131312110f0b07010000000000000000000000000000000000000000000000000000000000000000000000000000000a15202935404b55616b75818e96a0abb5c0cbc7bdb2a89f93887d70695f564c42392e2318120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b1012131619191d2021232426262728282929292828272726242321201f1c17171413110d0806040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e121415171c1f2022242626272828292928272626252422201f1c17161312100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d111314171c1f2022232526272828292928282727252321201f1c171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090f14181b1b2020202020202020202020202020191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202020202020202020202020201e1413100c0701000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013100c07000000000000000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000080e1317191a202020202020202020202020202020201b1a18140f080100000000000000000000000000000001080e1317191a2020202020202020202020202020201e1e1b17120c050000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f3a434f59606d7a849199a3afbbc1ccc3bbafa49a92857b6e685d544b403428241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709080d1113141618191a1a1b1b1c1c1c1b1b1a1a191816151312100b0607070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507060c1012131517191a1a1b1c1c1c1b1a1a191817151312100b0607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406060b1012131517181a1b1b1c1c1c1c1b1b1a1816151312100b0606040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708090b0c0d0e0e0e0d0d0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b201f1d18120b03000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000020b12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d170f06000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313e45515d676f7c87929fa6b0bac3ccc0b6aca19791847a6d665c514540362c241b120a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0e0e0f0f100f0f0e0e0d0c0b09080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0c0d0e0e0f100f0e0e0d0c0b0b080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0d0e0e0f0f0f0f0e0e0d0b0a0807060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080e1114141618191a1a1b1b1a1918161414110e080806020000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e111414202020202020202020202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151d252c313435393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939393939393939393939393939382d2c29241d150d03000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c28231d150c03000000000000000000000000000000000000000000000000000000000a141c242a2f32333939393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000a141c242a2f3334393939393939393939393939393939393433302b251d140b010000000000000000000000010b141d242b3033343939393939393939393939393939393837342f2821180f0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c55606a727f8c949ea8b1bbc5c7beb3a9a0969082786d605b51483e362d241b13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191e2021232526272728272726252321201e191514120f0905010000000106090b0c13131313131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373d404246464646464646464646464646463f3e3a352d251b1107000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c4646464646464646464646464646464646453a38352f271f150b0100000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464638342e271e150b00000000000000000000000000000000000000000000000000000008121c262e353b3f4046464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000008121c262e363b3f404646464646464646464646464646464641403c362f261d1308000000000000000000000008121d262e363c3f414646464646464646464646464646464543403a332a2110060000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606c78828f95a0a9b3bdc7c5bbb2a89f948e81746d635a50483f362d2517110a020000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0b0b0c0c0b0a0a0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0a0b0b0c0b0b0a0a09090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0a0b0b0c0b0b0b0a080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0a0b0b0c0b0a0a0908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171b1f2023252a2d2e30313333343434333332302e2d2a2522211f1a15110d0802060d121518182020202020202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353535353535353535353535353514745403931271d12070000000b17222c353e44494a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403930271d120700000000000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000020e19242e3840474b4d535353535353535353535353535353534e4c4841382f251a0f03000000000000000000030e19242e3840474c4d53535353535353535353535353535351504b453c3322180e03000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505b666d7a839197a2abb5c0cbc3bab0a69e938c7f736c615a51483f3727221b140b0200000000000000000000000000000000000000000000000000000000000000000003050609070c10131315161718181818181716161414110e090807050200000000000000000000000000000000000000000000000000000000000000010406070d110707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d1113141616171718191818171616151513120f0b06090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131415171718181918181717151413100d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050608060b0f12131416171718181918171615151413100d070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151b1b22272b2d2f3036393b3c3e3f4041414140403f3d3b3936302f2e2b26201e19130e11181d2224252d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b6060606060606060606060606060595751493f35291e120600000000000000000000000000000000000000000000000000000000030f1a26313c464e535560606060606060606060606060606060605e53514b43392f24180c000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b43392e23180c0000000000000000000000000000000000000000000000000007131f2a35404a52585a6060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000000007131f2a36404a52585a606060606060606060606060606060605a58534a41362b1f140200000000000000000007131f2b36404a52585a6060606060606060606060606060605e5c564e45342a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859299a3afbbbfc8c2b8afa59c918a7e716c625b514940332d261d140a00000000000000000000000000000000000000000000000000000000000104060b0f12131518181c1f20222324242525252524232221201e19181514120e090603000000000000000000000000000000000000000000000000000001070d1113141a1d1413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406080d111314171a191d202122232424252525242423232221201f1c1718161413100c0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306090e11141417181d1f20222324242525252524232220201d18181514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000010407060b0f12131518171c1f2021232324242525252423222120201d18151312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f161c20262b2d3337393c3f414647494b4c4d4d4e4e4d4c4b494746413f3b3a37312d2a251e1a1b23292e31323939393939393939393939392e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246535353535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b605d554b4035291d1004000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5c554b4034281c10040000000000000000000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301f14090000000000000000000b1723303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b686056463c31261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f69707d87929fa3adb6c0c8c1b7ada49f92877e726d625b52443f382f261b1106000000000000000000000000000000000000000000000000000001080d1113171b1f20222523282c2d2e3031313132323131302f2e2d2a252521211e1a15130f0a040000000000000000000000000000000000000000000000060b13181d2020262a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070d101314191d20212427252a2d2e2f3030313232323131302f2f2e2d2b28222523201f1d1815120f0a070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f13151a1e20212424292c2d2f3031313232323131302f2d2c29242522211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000002080d111314171b1f20222522282b2d2e2f30313132323231302f2e2d2c292422201f1c17110f0a04000000000000000000000000000000000000000000000000000000000000000000000000000002080d161b21282c3237383f4446494c4d52545658595a5a5b5a5a59585654524c4c4847433c3936302b26252d343a3d3f4646464646464646464646463b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d525f606060606060606060606060606060585651483f34291d11050000000000000000000000000000000000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979726d62574a3e3125180b000000000000000000000000000000000000000000000000000000020b1a232e3a47535f6a6f7979797979797979797979797979797979786d675d5145382c1f1306000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000c1926323f4b58636e73797979797979797979797979797979766c5f5346392d2013000000000000000000000000000000000000000000000d1926333f4b58646e7379797979797979797979797979797979746e64584c3b3025190e0200000000000000000d1926333f4c58646e74797979797979797979797979797979787268584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57606b717e8b919ba4aeb6c0c8bfbbafa39992877f726d635c504941382d22170b000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f312e34383a3b3c3d3e3e3f3f3e3d3d3c3b3a3630322e2d2a25221f1b15100c0701000000000000000000000000000000000000020a11171d24292c2d33372e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013181d202024292d2e30333036393a3c3d3d3e3e3f3e3e3d3d3c3c3b3938332d31302d2c2924211f1b15130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11161b1f22252a2d2e312f35393a3c3d3d3e3e3f3e3e3e3d3b3a39352f312f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000040c13191d202122272b2d2f312d3338393b3c3d3d3e3e3f3e3d3d3c3b3a39352f2f2d2b28231c1b15100c070000000000000000000000000000000000000000000000000000000000000000000000050c131921272c33383c43474950535659565e616364666667676766666563615e565855534e4746413a373129373f464a4b5353535353535353535353534846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b68758186868686868686868686868686867f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a141d2c38434e58626f7c878686868686868686868686868686868684796d6053473a2d201407000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a667380868686868686868686868686868686796c605346392d201300000000000000000000000000000000000000000005121e2a36424d5767738086868686868686868686868686868686807467564d42362a1e11050000000000000004111d2935414c5667748086868686868686868686868686868684786a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626c727f8c929ca4aeb6c0cbc0b5aba399938b7f736e605b53493f33271b0f03000000000000000000000000000000000000000000050b10161b1e24292c2d3337393c3e4140454648494a4b4b4b4b4b4a4949474642413e3b3a36312e2b271f1c18120d0801000000000000000000000000000003090c141c23282f35393a40443a3935302820160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d3035393a3d404241464749494a4a4b4c4b4b4a4949484846443f403e3c3a38352f2e2b26221f1b16100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20272b2e30363a3b3e41404547484a4a4b4b4c4b4b4a4a48474540413e3b3a37312d2c28231d1a140f0a04000000000000000000000000000000000000000000000000000001090e161e24292c2d2d3337393b3e413f444647494a4a4b4b4c4b4a4948484745403f3c3a38342e2b271f1c18120b030000000000000000000000000000000000000000000000000000000000000000060e171e252a32383e44484e54535b60626669686e6f717273747474737372706e686965625f5854524c47423c353f4951565860606060606060606060606055534d453b31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976797979797979797979797979797979726d62564a3d3124170b0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9393939393939393939393938c7f7265594c3f3226190c000000000000000000000000000000000000000000000000000006111b262f384854606a75828f9993939393939393939393939393948a7e71675d5145382c1f1306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d9393939393939393939393939386796c605346392d20130000000000000000000000000000000000000000000714202d3a46525e697784909393939393939393939393939393918477695e52463a2d201407000000000000000713202c3945525d687783909393939393939393939393939396887b6f6255483c2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47505a626d73808d929da4aeb6bfc7bdb5aba49f918c80746c655b5044372b1f120500000000000000000000000000000000000000040b10171c21272c2f35393a3f4446484b4d4b5153555657575858585857565554524d4d4b4846423c3b37322c29231d19130b06000000000000000000000000060c141a1e262e343a4045474d504746413a32281f150c0200000000000000000000000000000000000000000000000000000000000000000000000000000003090f141a1d23282c2f35393a3e4146474a4d4f4c52545556575758585857575656555453504a4d4b494745403c3a37312f2c271f1c18120d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e252a2d32373b3c4246474a4e4b5153555657575858585857565553514b4d4b4847423d3a38342e2b261f1b150e090300000000000000000000000000000000000000000000000009131b20283035393a3d3f4446484b4e4a505354565657575858585756555453514b4b4846443f3837322c28231d150c070100000000000000000000000000000000000000000000000000000000020a1117202930363d44484f55585f62656c6f7275787a7c7e7f80808181807f7e7c7a7876726e6a66615e56534e454146515b62656c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000000b17222d38414f59626f7c89939e9f9f9f9f9f9f9f9f9f9f9fa4999083766c61554b4035291d1004000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d999f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000000000000000000000815212e3b4854616e7b8795a09f9f9f9f9f9f9f9f9f9f9f9fa096877b6e6154473b2e211409000000000000000714212d3a4754606d7a86939f9f9f9f9f9f9f9f9f9f9f9fa8988c7f7265554b4035291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f48515b636e74808d929ca4adbbc0c7bdb5afa39b928c80776c605346392d201306000000000000000000000000000000000001080d161b22282d32383a41454749505355585a545c606163646464656564646362615e565a5854534d4947433d38342f29241e17110a020000000000000000030a11171f252a30383f444b5153595d54524c443a31271e140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1f252a2e34383a4045474a4c5254575a5b565e6162636364656565646463626261605b545a585653514b4847433c3b38322c29231d19130b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181f252a3036393d4347494d5254575a555d606263646465656564646362605d555a5855534d4a4645403937312b27201a150b060000000000000000000000000000000000000000000006111b252d323a4145474a49505355585a545b60616263646465656564636261605d55585553504a47433c38342e271e18120b030000000000000000000000000000000000000000000000000000020b141b2227323a41464f545961636a6f73787c7f828587898b8c8d8d8e8d8d8c8b898785827f7b77726d68625f57514c4a56626d7279797979797979797979797976695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8acacacacacacacaca5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000000030f1b27333f4953616b7682909ca5afacacacacacacacacb4aa9f93877c6f625a5043392f24180c00000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6acacacacacacacacac9f9386796c605346392d2013000000000000000000000000000000000000000003101c28343f4a5465717e8b98a7b1acacacacacacacacacacb2a8978a7e7164574b3e30251a0e020000000000000a1724303d4a5763707d8a99a4afacacacacacacacacacaca99c8f8276675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232d363f49525c606c77808d929ca4afb5bdb9b1aaa39f948f857b6e6255483b2f22150800000000000000000000000000000000040c131921272c33393d43484c5154535b6062646769666d6e6f70717172727170706f6e69696765615e5756544e47454039352f27221b140b07000000000001070c151c232831363e424a50555d60666a615e564c433930261c11060000000000000000000000000000000000000000000000000000000000000000000000060c141a20262b3036394045464b515357565d616366686a686d6f7070717172717170706f6f6e6c6668666463605d5555534e4948433d38342f29241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000001070d161d242930363b4146474e5456575e61646769676d6f7070717172717171706e6d676a6764625f575653514b46423c37322b261f17110a0200000000000000000000000000000000000000010d18232d373f444c525456535b6062646769666c6e6f70707171727170706f6e6d67686562605c54544e464540393029231d150d06000000000000000000000000000000000000000000000000020b141d262d333d444c525960636b70767c8084898c8f9297969799999a9a9a9999989697928f8b88847f7a756e6a605d554f5865727f8686868686868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9b2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000000010b151f2b3744505b65707d8a949fabb8b9b9b9b9b9b9b9baaea2988e81746a5f54483e31271d120700000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000000000000000000000000006121f2b3844505c6675828e9ba8b5b9b9b9b9b9b9b9b9b9b9b4a79a8e817467574d42362a1e1205000000000004111d2935414c566773808d9aabb5c0b9b9b9b9b9b9b9b9b9ac9f92867a6d6053473a2d20140900000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b242d374044505b656c74808c929fa4abb4aea7a098928b827a6e695f53473a2e211408000000000000000000000000000000070d161e242932383e44494f54555d6064656c6f71747678797b7c7d7e7e7e7e7e7d7c7c7a787674716e696662605853514b45413a332d261d181008020000040c13181e262e343b42464f545c60676d73776d685e554b42382e231712090000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373b42464b5153555d606467686d70737577787a7c7c7d7d7e7f7e7e7d7c7c7b7b79777573716f6d6765625f5856544f47454039353027221b140b06000000000000000000000000000000000000000000000000000000000000000000000000040c12181f282f353b42464c525458606267696e717476787a7b7d7d7e7e7f7e7e7d7d7b7a787674716e696763605c54534d47433c373128231c140c0600000000000000000000000000000000000006121e29343f4951565d606366656c6e71747678797a7c7d7d7e7e7f7e7d7c7b7b7a7774726f6d6662605853514b423d342f271f18100600000000000000000000000000000000000000000000020c141d262f383f444f565e616b6f777d83888d9196999c9fa2a9a4a5a6a7a7a7a6a6a5a9a29f9c9896918c86817b736d6760595865727e8b93939393939393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1c6c6c6c6bfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000007121d2834404a54606c7883909da6b0bbcac6c6c6c6c9bdb2a89f92857a6e61584e43362c1f150b0100000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0c6c6c6c6c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5c6cec9c5c4c5c9cec4b7aa9e918477695e52463a2d20140700000000000613202c3945525d687783909daab6c3d2cec9c5c4c5c9c7bbaea3998a7d7064574a3d31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b2527333f49535b606e737f8c9399a2aaa49d9590867f756d685f574d42372b1e120600000000000000000000000000000910191f282f353d44485055596063676d7174787b7e8083858688898a8a8b8b8b8b8a8988878583807e7b77736f6a65605c55514c443f382f2a2219130c04070d161d242930383f444d535961666d717980837a6d675d544a3f3428241b1108000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474d52555c6064676d7174777a7d808283858788898a8a8b8b8b8a8a89898887868482807e7c7976726f6a6863605953514b46413a332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000050d161d2429313a41454d52565e61666a6f74787b7e8183858688898a8a8b8b8b8b8a8988868583807e7b7874706d66615f57544e47423c342e261e180f0800000000000000000000000000000000000915222e3a46515b62686d707376797b7e818384868789898a8a8b8b8b8a8988878684817e7c79746f6a64605c544f454039312a221810060000000000000000000000000000000000000000000a141e262f384149505960686d747d838a90949a9ea1a8a8abadb3b1b2b3b3b4b4b3b2b1b3adaba9a8a09e99928e86807a706b635b65727e8b989f9f9f9f9f9f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adb9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1ced2d2cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000c18242f3844515c66717e8a95a0acb8c2cdd2d2d9d0c7b9aca0968c7f72685e52463c32241a0d030000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd2d2d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000091623303c4956636f7c8997a2adbac6ccc4bdb9b7b9bdc4c5b9aca096877b6e6154483b2e21150900000000000714212d3a4754606d7a86929facb9c5ccc4bdb9b7b9bdc4bfb5ab9a8d817467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000091317222d384149505c636d737f879298a19e928d837c726d615e564d453c31261a0e02000000000000000000000000010a121a222b313a41454f545a61646b6f747a7d8185888b8d9091939a9697979798989797969597928f8d8b8783807c77716d67605d555049413c3429251e160e13181f282f353d424a50575e616b70787e858c9083796d665c504440362d231a1007000000000000000000000000000000000000000000000000000000020a11171e262e343b42464e53575e61676d70757a7e8184868a8d8e9092989596969798989897979695959892908f8d8b8986827f7c78746f6b64605c55524c443f382f28231c140c0400000000000000000000000000000000000000000000000000000000000000070f171f282f353e434b51575e61686e73777c8084878a8d90919795969797989898979796959792908d8b8884817d79736e69626058534d443f38302a211a1109000000000000000000000000000000000b1824313e4a56626d727a7d7f8285888b8d90919299959697979898989796959496918e8b8885817c76716d666059514b433c342a22180f050000000000000000000000000000000000000006111c263038424a535b606b707a818990959c9fa6abadb2b5b8babebebfc0c0c1c0c0bfbebebab8b5b2acaba39f99928d857d726d6065727e8b98a5acacacacacaca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000000004101d2935404b55606d7984919ea7b1bccad4deddd2c7bdb0a69e9184796d60564c41342a201208000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfe3dbd5d0cdccc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000005111d2a36414c566673808c99a9b3becac4bab2acaaacb2bac4bdb2a8978b7e7164584b3e31261a0e02000000000a1724303d4a5763707d8a99a3afbbc7c4bab2acaaacb2bac4b7ab9e9184786a5f53473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44525b636d727e869297928a80796f6a625b524c443c332a201509000000000000000000000000010a131c242c343d434c515960636c70777c81868a8e9197979a9c9e9fa4aca3a4a4a5a5a4a3a3a9a29e9c9a9895908c89837e79736d67605b534e463f35302820181d2429313a41454f545c60696e757d838b9197958f81786d605b51483f352c22190f0600000000000000000000000000000000000000000000000000040b141b222730383f444d52585f62696e74797d81868a8d91939a999b9d9fa2aaa3a3a4a4a5a4a4a3a3a2aaa39f9d9b999798928f8c8885817c77716d67615d565049413c342e261e160d0500000000000000000000000000000000000000000000000000000000000710192129313940454f555d60696e747a8084898d9196979a9c9ea1a9a3a3a4a4a5a4a4a4a3a9a19e9d9a9796918d8985807b766f6a625f57504a423c332b231b130a0100000000000000000000000000000c1925323f4c5865727f88898c8f9297979a9c9e9fa3aba3a3a4a4a5a4a3a3a2a8a09d9b9898928e88837e79706b605c554e463c342a21170e040000000000000000000000000000000000081117232e38424a545b656c727d858e939da0a7abb0b7b9bdc2c5c6cacfcccccdcdcbcac9cfcac6c5c2bdb9b4aeaba39f9792877f746c65727e8b98a5b1b9b9b9b9aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000000020d17202c3945515d67727e8b96a0acb9c3cddce3d7ccc0b5ab9f948a7d70675c51443b3022190e00000000000a1724313d4a5764707d8a97a3b0bdcad6e3ecececede3dad1cac4c0bfbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000713202d3946525e687683909da9b6c3c9bdb2a8a09ea0a8b2bdc1b4a79b8e817468574d42362a1e120500000004111d2935414b556773808d9aabb5c0c9bdb2a8a09ea0a8b2bdb9aca196887b6e6255483b2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d334049525b626c707c858e857d746d675f585146413a322a21180e0300000000000000000000000009131c252d363e464e555d606b70777d83898e92989b9ea1a9a7a9abacafb6b0b1b1b1b1b1b0afb3adaba9a7a7a09d9995908b85807a716c655f585146413a322a21282f353d434b515960666d727b828a91959ea19e938e80746d635a50473e342b21180e050000000000000000000000000000000000000000000000060d161d262d333d424a50575e616a6e747b80858a8e92989a9d9fa4aca8aaabaeb3afb0b0b1b2b1b1b0afafb4aeacaaa8a6aaa39f9c9897918e89837e79736d68605b534e443f3830281f170f07000000000000000000000000000000000000000000000000000000071119222b333b434b515961676d747b80868c91969a9ea1a8a7a9abadb2b0b0b1b1b2b1b1b0b0b3adaba9a7a8a19e9a97928d87827c756e69605c544d453d352d251c130a00000000000000000000000000000d1a2733404d5a6673808d9a999c9fa2a9a7a9abacafb5b0b0b1b1b2b1b0afaeb2acaaa7aaa29f9b95908a847d746d675f584e463c332920160c02000000000000000000000000000000050e1a2328343f4a545c666c777f8792979ea5acb1b7bbc2c5c9cfd2d2cec8c5c4c1c0bfbdbdbdbfc0c2c5c6c6bfbab5aea9a199938c81776c727e8b98a5b1bec6c6bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000009141f2935414c56606d7985919ea8b2bdcbd5dfded4c7bbafa4998f82766c61554b4032291e100700000000000a1724313d4a5764707d8a97a3b0bdcad6e8f3fdf1e6dbd1c8bfb8b4b2afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6c5b9aca0969196a0acb9c4b7ab9e918478695f53463a2d2114070000000613202c3945515d677683909da9b6c3c5b9aca0969196a0acb9bdb2a8988c7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227374049515a616a6f7b817b706b605c554e463f36302920180f0600000000000000000000000009121b252d373f48505860676d747d838a90959b9fa2aaabadb3b3b6b8b9bbc0bdbdbebebebebdbcbeb9b8b6b3b1acaaa7a09d97928c857e786f6a625b524c443c3328313a40454f555d606b6f787f868f939da0a7ada69d928c7f736c62594f463c332a20170c0200000000000000000000000000000000000000000007101820282f383f444f545c60696e757b81868d92979b9fa2aaaaacafb6b5b6b8babebcbdbdbebebebdbdbcbcbfbab9b7b5b3b4aeaca9a9a19e9b95908b85807a716c655f58504a423a31292119100700000000000000000000000000000000000000000000000000071019232b343d454d555d606b707980868d92989ea0a8abacb2b4b6b8b9bebcbdbdbebebebebdbcbeb9b8b6b3b2acaba9a19e9a938f87817b726d665f574f473f372e251c1309000000000000000000000000010e1b2734414e5a6774818d9aaca9abadb3b4b6b7b9bbc0bcbdbdbebebebdbcbbbdb8b7b4b4aeaba79f9d96918880796f6a5f584e453b32281e13080000000000000000000000000000020c16202c353e44505c666d78818c9299a1a9afb8bcc3c7cdd2d2ccc8c6c3bdb9b7b4b3b2b1b0b1b2b3b5b8babfc5c6bfbbb3aba49f938d8073727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000000020e1a25303946525d68727f8c97a1adbac4cedde0d6cabeb3a99f93877c6f625a5043392e20170d0000000000000a1724313d4a5764707d8a97a3b0bdccd6e1ebf5ece0d5cabfb6ada8a6a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a09386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000030f1b27333f495364717e8a99a4afbbc7c4b7aa9e9184919eaab7c4b9aca196887b6e6155483b2e2215090000000714212d3a4754606d7a86929facb9c5c4b7aa9e9184919eaab7c2b5a99c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117252e373f48505860696e746e686159514b433c342a251e170e0600000000000000000000000006101b242d373f49515a616a6f7a818790959da0a7acaeb4b8b9bec0c3c4c6c8ccd2cacacbcbcacacfcac6c5c2c0bcb8b7b1aca9a19e97918b837c726d615e564d453d343d434b515960676d747d838c92989ea6acb1b9afa59c918b7e716b61584e453b32291e13080000000000000000000000000000000000000000071019222a323a4149505960666d727b81878e92999fa2a9acaeb4b7b9bbc0c1c3c5c6cad0c9cacbcbcbcacac9d1cbc7c5c3c2c0bfbab8b5b2adaba7a09d97928d857e776f6a605c544b433b332b221910070000000000000000000000000000000000000000000000061019222b353d464f575e676d757d848d92999fa3aaacb2b7b9bdc0c3c4c6c9cfcacacbcbcbcacacfcac6c5c3c0bdb9b7b3adaca49f9a938e867f786e69605951493f372e251b12080000000000000000000000020f1c2835424f5b6875828e9ba8b5b8babec0c3c4c5c7cbd1cacacbcbcbcac9cec8c5c4c1bebab8b1aba8a19a938d837c6f6a5f574d443a3024190b020000000000000000000000000008131e28323e47515b606d78818e939fa3abb3bbc1c8cdd3d5d0c7c0bbb9b6b2acaaa8a6a5a4a3a4a5a6a8acaeb4b8babfc5bdb5afa59c928b7f727e8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000005111e2a36424d57616d7a85929fa9b3beccd5e0d9cec6baada2978d81746a5f53483e30271d0e050000000000000a1724313d4a5764707d8a97a5afbac4cfd9e3eee9dcd0c4b8ada39c999696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000005121f2b3744505b6574818e9babb5c0ccc0b3a69a8d808d9aa6b3c0bdb2a8988b7e7165584b3e31261a0e0200000a1723303d4a5663707d8999a3afbbc7c0b3a69a8d808d9aa6b3c0b9ac9f92867a6d6053473a2d201409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131c252d363e464e575f6167615e564f454039312a2219130d05000000000000000000000000040d18222d363f49515b636c717c848d939a9fa7acb1b8babfc4c6c9cfcfd1cbc7c5c4c3c3c2c1c1c1c2c4c6c8cccec8c5c3bcb8b3ada9a19e9590867f756d685f574e4640444f555d606b7079818890959fa2aab0b8bcc0b7ada39f92877d706a60574d443a3025190d01000000000000000000000000000000000000071019222b343c444c535b606b6f787f868e939a9fa3abadb3b8babfc4c6c8ccd2d0d2d3d3d2d0d0cfcecfcfd0d0d2d3d3d2d0ced0cbc7c5c2beb9b8b1aca9a19e97928b837c736d665d554d453d342b22190f05000000000000000000000000000000000000000000050e18222b343d474f5960696e79818a91969fa3abaeb4b9bdc4c5c9cecfd1d2cfcdcccbcac9cacbccced1d2d1d0cec9c5c4beb9b6afaca49f98928c837b706b625b51493f372d241a0f060000000000000000000003101c2936434f5c6976828f9ca9b5c2c6cacfcfd1d2d3d7dcd4d4d4d5d7d6d6d9d4d1d0d0cac6c2bcb8b2aca49f9591857c6f695e564c4135291d140a000000000000000000000000020c1925303a444f59626d74818e939da5afb5bdc5cdd4d5cec9c2beb6afaca9a8a09e9b9a98979697989a9c9fa2aaacaeb4babfc0bbaea49f92877c7f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000040f19222d3a46525e6973808d97a2adbbc4cfdee1d4c8bdb2a89f92857a6d61584e43362c1e150b00000000000000091623303c4956636f7c89939ea8b2bdc7d1dce8e6dacdc0b4a89c918c8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898986796d6053463a2d2013070000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000613202d394653606c7885919eabb8c4d2bfb2a5998c7f8c99a5b2bfc1b4a89b8e817568574d42372b1e12060004101d2935404b556673808d99abb5c0cbc0b5ab998c7f8c99a5b2bfbaaea3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131b242c343d454d53555b54524d443e342f271f18100802000000000000000000000000010c161f2a343e48515b636d727e8691969fa4acb1b8bcc3c6cad0d0cac6c5c2c0bbb9b8b7b6b5b4b4b5b5b7b9bbc0c4c5c8cec8c5beb9b3ada79f99928b827a6e6960584f4a515960676d747d848e939aa0a7aeb4bcc1c8c9bfbbafa39992867c6f695f564c41362a1d11050000000000000000000000000000000000071119222b343c464e565d656c727d838c92989fa4acaeb5babec5c6cad0d2d4d3d2cfd0cac6c5c4c3c2c2c2c2c3c4c5c6cacfcdd0d1d4d3d2cfc9c6c3bcb8b3ada9a19e94908780786d675e574e463d342b21170d0400000000000000000000000000000000000000020b17202a343d464f59606b6f7b838e939ea1a8aeb4babfc6c9ced2d2d1cbc7c5c2c1bfbebdbdbebfc0c1c4c6c9cfd0d3d2cfcac7c0bbb6afaaa39f9590857d726d635b51493f362c21180d0300000000000000000004111d2a3744505d6a7783909daab6c3d0d2d0cecccac9c8c7c7c7c8c8cacdd0d1d4d9dddbd6d3cdc8c4beb6afa7a09791847b6e685d52453d2f261b110600000000000000000000000a141e2a36414c56616b727f8c939da5afbbc0c7cfd6d3ccc4bdb9b0aca49f9c9996918e8d8c8a8a8a8c8d8f92989a9fa2aaaeb4bcc0bbafa3998f827f8b98a5b1becbc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000000a15202b37424d57616e7b86929fa9b3becdd6e1d9cfc7b8aca0968c7f72685e52463c31241a0c03000000000000000915222f3b4854606b75818e96a1abb5c0cbd7e0e9d9ccbfb2a6998c7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c786c605346392d2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000916222f3c4955626f7c8897a1adb9c6cabfb4aa978a7e8a97a4b1bdc4b8ab9e918478695f53473a2d211408000613202c3945515d677683909da9b6c3c7bbafa3998b7e8b98a4b1bebfb4aa9a8d807467574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222b333b4246484e4746413b3229231d150d06000000000000000000000000000008131e28313c46505a626d727f8a9298a1a8afb6bec3c8cdd3cdc7c6bfbab8b5b5afacabaaa9a8a7a7a8a9aaacafb6b7b8bcc3c7cbc9c4beb9b1aba39f948f847b6f6a6059545c606b7079818991969fa4acb1babfc6ced1cbc5beb5aba29892857b6e685e5246392d20130700000000000000000000000000000000061019232b343d464e585f686d777f8790959fa2aaafb6bbbfc6cad0d3d6d3d0cbc7c5c2bfbfbab8b7b6b5b5b5b6b6b7b8babebec0c3c5c8ced2d3d5d2cdc8c5beb9b3ada69f99928d82796e6960584e463c33291f160c030000000000000000000000000000000000000a141d29323c464e58606b707d8590959ea5adb2babfc6cbd0d5cfc9c6c4bfbab9b6b4b3b1b0b0b1b2b3b5b8b9bec2c3c7ccd3d6d2ccc7c0bbb4aea79f9792877f726d635b51483e332a1f150b01000000000000000005111e2b3844515e6b7784919eaab7c4c7c5c3c2c0bebcbbbbbababbbcbec1c4c5c8ced3d7dcdfd8d4d0c7c0bbb1a9a19691837a6d60594f41382d22170b0000000000000000000006111c26303846525e68707d87939fa5afb7c0cbd1d9d2cac1bab2aca69f9a93908c888481807f7e7d7e7f8082858a8e92989fa3aab0bbc0b5ab9e948f828f9ba8b5c2cec7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000000020b1b27323a47535f6974818e98a3aebcc5d0dfdcd1c7bdb0a69e9184796d60564c41342a20110800000000000000000713202c38444f59606d7a849199a3afbbc2ced7e2ded1c4b7ab9e91847a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6c655b5044372b1f12050000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000004111d2935414b5566727f8c99a9b3bec9c6baaea298897c8995a2afbcc5b9ada196887b6e6155483b2e221509000714202d3a4753606d7a86929facb9c5c5b9ac9f92867d8a96a3b0bdc4b7aa9e918477695f53473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019212931363a3b413b393630292018120b030000000000000000000000000000010d19242f3a434e58626c727f8b919fa3aab2bbc0c7d0d2ccc7c2bbb7b4aeaca9aba39f9e9d9c9b9a9a9b9c9e9fa4acaaacb1b9bbc0c7cfc9c2bdb4aea69e9691857c706b605f666d737d848d929ea1a8afb6bec3cad0cfc7c0bbb3ada8a19e9691847a6d6154473a2e211407000000000000000000000000000000050e18222b353d464f58606a6f7a828c9299a0a7aeb4bbc0c7cbd1d6d6d1cbc7c5bfbab8b6b2b4aeacaaa9a9a8a8a9aaaaabadb3b1b3b7b8bcc2c5c7cbd1d5d4cfc9c5beb9b0aba39f948f837b6f6a60584e453b31281e150b000000000000000000000000000000000006111b262f3a444e58606a707d869197a0a7afb9bdc4cbd1d6cfc9c4beb9b8b4aeaca9a7a6a5a4a3a4a5a6a8abadb3b5b7bbc2c7cbd1d8d2ccc6bfbab1a9a299928b7f726d625a50463c31271d1207000000000000000005121f2b3744505b657885929eabb8c0bbb9b7b5b3b1afafaeadadaeafb1b4b7b8bcc3c7cbd1d9e1e2d9d2ccc3bbb2a8a0958f82756b6053493f33271b0f030000000000000000000b17232e38424f59616d7a859299a4afb7c0c9d7dcd2c9c1b8b0a8a09e949087837f7b77757372717071727375797d81858d92989ea6afb6bdb0a69e938f939eaab6c3cfc7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000000000a141d2b37434e58626e7b87929faab4bfced7e1d7cbc0b5ab9f948a7d70665c51443a3022180e000000000000000000030f1b27323d45515d676f7d87929fa7b1bcc5d0dbdfd2c5b9ada1968e81756c6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b53493f33271b0f030000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000613202c3945515d6776838f9ca9b6c2cfc5b8ac9f92857b8794aab4bfc9bdb2a8988b7e7165584b3e31261a0e020a1723303d4a5663707d8999a3aebbc7c5b8ab9e92857d8996a2afbcc5b9aca096887b6e6255483b2f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171f262a2d2e342e2d2a251f170e070100000000000000000000000000000004111d2935414c555f6a717e8b919ba3aeb4bcc4ccd2d0c7c0bbb9b0abaaa29f9c9999929190908f8e8e8e8f91939a999da0a7acafb5bdc1cbcfc6bfbab0a8a09792867d706b696e78808891969da4acb2bbc0c7d0cec9c2bdb5afa9a19e96918b847f786d6053463a2d2013070000000000000000000000000000030c17202a343d474f59606a6f7c848f949fa3abb1babfc5ccd2d7d6d0cac6bfbbb9b4aeaca9a6aaa29f9d9d9c9b9c9c9d9d9fa2a9a4a7aaacb1b5b9bbc0c7c9cfd6d5cfc9c2bdb5afa69e9590857c6f6a60574d433a30271c1207000000000000000000000000000000020b17222d38414c565f6a6f7c869298a1a9b1b9c1c9cfd7d0cac4beb9b3adabaaa39f9c9a999897969798999b9ea1a9a9abb0b9bbbfc6cfd6d8d1cbc2bcb3aba39f918b7f726c61584e43392f24180b02000000000000000613202d394653606c7986929facb6b5afacaaa8a6a4a3a2a1a1a1a1a2a4a7aaacb1b9bbc0c7cfd5dee4ddd8cdc4bab1a79e94897d70655b5044372b1f150a000000000000000003101c28343f4a54616c75818e97a1abb5c0c9d2dbd2c8c0b7afa69e96918a837c76726e6a6867656463646567676d70747a80868f949fa4acb4b8afa59e9b9ea5afbbc6d2c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000000006111b262f384754606a75818e99a3afbcc6d0e0ded3c7bbafa3998f82766b61544a4032291e1006000000000000000000000b16212935414c55606b73808c959faab4becad6ded5c9bdb2a89e938b7e71695f54565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565653504941382d22170b000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1c4b7ab9e9184798798a3aebac7c1b4a89b8e817568574e42372b1e1206101d2935404b556673808d99abb5bfcbc4b7aa9e91847c8895acb6c0c9bdb2a8988b7f7265554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222821201e19140d0500000000000000000000000000000000040e19222c3945515d676f7c86929fa3adbabfc6ced8cdc4bdb5afaca69f9c98928f8c898685848382818182828486898c91959b9fa3abb0babfc6cecbc1bab2a9a19892867d6f717b838d939aa1a8aeb9bdc4ccd1cbc4bdb9b0aba39f97928b847f79716d665c5144382c1f120600000000000000000000000000000b151e29323c464f59606b6f7c8591969ea6afb5bdc3cad0d8d7d0cac5bebab5aeacaaa39f9c9996989291908f8f8f8f9091929796989a9da0a7a8acafb5b9bec4cad0d7d5cfc7c0bbb0a7a09791867c6f695e564c42392e23180c0300000000000000000000000000000a141d27333f49535e686f7c859298a2aab3bbc3cbd5d4cec5bebab3ada9a19e9a98928f8e8c8b8a8a8b8c8d8e9197989c9fa6acaeb5bdc1cad0d7d7cec5bdb5afa39f93887e716a5f554b4035291d140a000000000000000714212d3a4754606d7a8799a3aca9aba39f9d9b999796959494949595979a9da0a7acafb5bdc3ccd3dce8dfd6ccc3b9b0a69d9083786c6053463c31261b0f030000000000000006121f2b3844505c66707d8a939ea9b3bdc7d2dbd3cac0b6aea59e948f847d766f6a66625f575a5957575759555c6063686d747b828c939aa2aab4b7afaaa8aaafb7c1ccd7c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414f59626f7c88939eabb5c0ced8dfd6cabeb3a99f92877c6e62594f42392e20170c0000000000000000000000040d19242f3a434f59606d78839098a2aebac1ccd6dacfc4baafa59f92867b6e665c504949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494946443f382f261b1106000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d0c3b6aa9d90837986929facb9c5c4b8ab9e9185786a5f53473a2e211406131f2c3945515d677683909ca9b6c3d1c3b6a99d90837b879aa4afbbc8c2b5a99c8f8276675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1414110e080200000000000000000000000000000000000a15202b37434e58606d7a849198a3aeb5bfcbd0d2cac2bbb3aba49f9b94908a85827f7c797877767574747576777a7c8084888e92999ea6aeb4bcc3cbccc4bbb3aaa29892857c7e8590959fa4acb2bac0c9cecfc7c0bbb2aca69f99928d857f79726d66605c544a4034281c10040000000000000000000000000007121d27303b444e58606b707d869297a0a8b0bbc0c7cfd6dbd6cec5bfbab3adaba39f9b98928f8c89878584838282828383848587898b8d9095979b9fa3abadb2babec5ced6d9d1cbc1b9b1a9a19891857b6e685d544a4034281e150a0000000000000000000000000006111c262f3844505b656d7a849197a2aab4bcc4cdd5d8cbc3bcb3ada9a19e97918e8a868281807e7d7d7e7f808285888b8f949b9fa3abafbabec5ced4d7cfc7c0bbafa49a92867c6e675d51453c2f261b11060000000000000815212e3b4854616e7b8794a39f9c999992908f8d8b898888878788898b8e91959b9fa3abb2bac1cad3dde6ded5cbc1b8aba0958a7e7164584e43372b1f120600000000000004101c2834404a54606d7884919da5afbbc5d0d9d6cdc1b8aea49d938e8279706c62605855534e4d4c4b4a4b4c4b5153565e61696e777f889298a2abb5bbb6b5b6bbc1c9d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000030f1b27333f4953606b76828f9ca5afbdc7d1e0d9cec6baada2978d80746a5f53473e30271c0e0500000000000000000000000008131e28313d44505c666e7b86929fa5afbac4d0d9d6ccc1baaea2989083786d60584e433c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3937332d261d140a00000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000006121e2b37424d576774818d9aabb5bfcbcec2b5a89b8f827884919eabb7c4c6b9ada197887b6e6255483b2d22170b14202d3a4753606d7a86929facb9c5cec2b5a89b8f827986939facb9c6c5b8ac9f9286796d6053473a2d2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000030f1b27323a47535f6a74808d96a0aab4bfc7d6d2c8c0b8b0a9a199938f89837d7976736f6d666a696867676869676d6f73777c81878f949fa3aab1b9c1c9cdc5bcb4aaa29792868a92989fa7afb6bec4ccd1cbc3bdb5afa8a19e948f87807a726d67605c54514a42392e23180c00000000000000000000000000050e18232e39434c565f6a707d869298a2a9b2bac1cbd1d9d7d0cac2bcb4aea9a29f99928f8a86837f7d7b797776767575767777787a7c7e8084878b8f92999ea1a9aeb4bcc1cad0d8d7cbc3bbb3aaa19790837a6d665c51443c30261c11060000000000000000000000000b17222d38424e58606c77828f96a1a9b3bcc5ced6d2ccc1b9b1a9a29f97918b85817d7a76747372717071727375787b7e82888e92999ea5aeb4bcc2cbd4d9d1cbc0b6aca2989083796d60584e41382d22170b0000000000000916222f3c4955626f7c889598928f8c89868482807e7c7c7b7a7a7b7c7e8184898e9299a0a8b0b8c1cbd4dfe7ddd4c8bcb1a79e9184776a5f53473a2e21150800000000000006121f2c3844515c66717e8b96a0acb7c1cdd7dacfc4bbafa59d928d81786d67615a544e484742403f3e3d3e3f4045474c52575e656c737d869299a3afbbc0c2c3c6ccd3dcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000000010b151f2b3744505b65707d89949fabb7c1cfd9e1d4c8bcb1a79f92857a6d61584e43352c1e150b00000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2ddd6cabeb4aa9f958c7f736a60554b41353030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b27221b140b0200000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000814212e3a47535f697884919eabb7c4d1cdc0b4a79a8d817683909da9b6c3c9beb3a9988b7e726553493f33271b0f1623303d495663707d8999a3aebac7cdc0b4a79a8d817885929eabb8c5c7baaea3988a7d7063574a3d31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c87929fa8b2bcc6d0d3c9c0b6aea69f979187827c76706d666663605c545d5c5b5b5b555d6063666a6f747b828b9298a0a7afb7c1c9cec6bcb3a9a29892989fa2aab1bbc0c7d0cfc6bfbbb1aba39f96918a827c736d68605c55514b44403930271c1207000000000000000000000000020d17202834404b555e686f7c869298a2aab3bbc4ccd7dcd6cec6bfbab0aaa29f97928c86827d797673706e6c656a696869696a6a686d6f7174777b7e82868c91979fa2aaafbabfc6ced6d5cdc4bcb3a9a0958f82786d60584e42382e23170c0300000000000000000000030f1c28333f4a54606a727f8c949fa8b2bbc5ced7d0c7c0bbafa79f97928c857e7974706d676766656463646566686a6e72767c81868e939fa2aab1b9c2cbd4dcd2c7beb4aaa0958d80746a5f53493f33271b0f0300000000000a1623303d495663707c898f8a8683807d7a77757371706f6e6e6e6e6f7174777c818791969ea6b0b9c2cdd7e1e4d9cdc3b9aca096887c6f6255483c2f24190d0100000000000713202d3a4653606d7984919ea8b2bdc9d3dfd5c9beb3a99e938d80776d665d555047433c3a3731323130312f34383a41464d535b606b707d87929fa4aebbc5cfd2d7dde5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000007121d28343f4a54606c7883909da6b0bbc9d3e1d8cfc6b8aca0958b7f72685d52463c31231a0c030000000000000000000000000000040d17232e38424d57626c75818e96a1abb5c0ccd7dbd0c5bcb1a79f92877c6f675d51453e332923232323232323232323232323232323232323232323232323232323232323232323232323232323232323201f1b17110a020000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000815222f3b4855626e7b8896a1acb9c5d2ccbfb2a5998c7f75828f9ba8b5c2cfc1b5a89b8e8275655b5044372b1f121c2934404b556673808c99abb4bfcbccbfb2a5998c7f7784909daab7c3cbbfb4aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000020507080f08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a76828f99a3afbac4ced4cac1b7aea49d948f857d756f6a63605c545653514b504f4e4e4f4b515456585f62696e757f8690959ea5afb7c1cacec5bcb3aaa29fa2aaaeb3bcc3ccd2ccc3bdb5aea7a099928d847d766e6a605d56514b454039342e271e150b0000000000000000000000000008131e29323a45515c676e7a849198a2aab3bcc5cdd6dcd4ccc4bcb4aea69e98928c857f7a75706d67666361605b535c5c5c5c5d565e61636567696e71757b80848c92989ea5aeb4bcc4ccd6d6cec4bbb1a79f948d80736a60544a3f34281f1409000000000000000000010c161f2b3844505b666f7c87929fa6b0bac4cdd7d2c7beb6afa59e9590857f79726d6664605d555958575758595a585f62656a6f747b818a92989fa7b1b9c2ccd5d9d0c6bcb1a79f92877c6f655b5044372b1f160b00000000000a1724313d4a5764707d86827e7a7673706d676866646362616161626264676a6f757c848f949ea7b1bbc5cfdbe6dfd5c9bdb2a8998c7f7266554c4135291d11040000000005121e2b37424d5764717e8a96a1acbac3cedbd9cfc7b9ada1978f81756c655c544b433e37322e2b262624242423292c30363b41495059616b727f8b929da9b3bec9d5dfe8e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000000000c18242f3844505c66717e8a959fabb8c2ccdbdcd1c6bdb0a69d9183786d60564c41342a2011080000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc3ced7d7cec2bbafa3999184796d605a50453b2f261b161616161616161616161616161616161616161616161616161616161616161616161616161616161613120f0b0600000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000004101c2934404b5565727f8b98a8b2bdc9d5ccc0b5ab978a7e74818d9aa7b4c0d1c5b8ab9e9285796c605346392d20131f2c3845515c677683909ca9b6c3d1cabeb3a9978a7d75828e9ba8b5c1d0c4b7aa9e918477695f53463a2d2114070000000000000000000000000000000000000000000000000000000002090e1214151c1514120f0a030000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c88949fabb5c0ccd5cdc2b8afa59d928d827a706b62605853514a494645404342414142414547494e53575e616d727c838e939ea5afb8c2cbcec5bcb4aeacaeb4babec5ced0c7c0bbb1aba39f9590878079706c625f58524c454039342e28231c150c03000000000000000000000000030d1925303a44505a606d79839096a1aab4bcc5ced7dcd4cac2bab2aaa29f948f867f7a736d6864605c5556545350494f4f4f50504c52545658565e6164696e73797f868e939fa2aab2bac4cdd6d6cdc3b9b0a69f92877c6f665c50443b31261a0e02000000000000000008131e2935414c56606c78839099a3afb8c2ccd6d8ccc0b6aca49f938e837b726d67605c5453514b4d4b4a4a4b4c4d4e5355585f62696e757e8690959fa7b1bac3cdd6d7cec3bbafa3999083786c6053463d32271b1002000000000814212e3b4754616e7a7a75716d676663605d555a5856555554545556585860626a6f79828f959fa9b3becad6e0e5d9cec2b6a99c8f8376675d5145392c201306000000000714212d3a46535f6976828f9ca8b2bdccd5dcd1c7bdafa59e91857a6d615b534a4239312b27211e1a19181718181c1f252a2f383f444f59626d74818d97a1adb9c3ced9e5e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000000004101d2935404b55606d7884919da7b1bccad4ded7cbbfb5ab9e94897d70665c50443a3022180e0000000000000000000000000000000000000a151e29333e45525d68707d87939fa7b1bcc6d0dbd7cbc0b5aba0968e81746c61574d41382d22170d090909090909090909090909090909090909090909090909090909090909090909090909090909060503000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000006131f2c3845515c6775828f9ca8b5c2ced4c7bbafa499897c727f8c98abb5c0cbc6b9ada197887b6f6255483c2d2217202d3a4753606d7986929facb9c5d2c6baada297887b737f8c99abb5bfcbc5b8aca096887b6e6155483b2f23180c000000000000000000000000000000000000000000000000000000050d141a1e20212822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba6b0bdc7d1cfc5bbb0a69e938d80776d686059544e4644403c3a38342e3534342f35393a3c43474d535b626a6f79818e939ea6b0b9c2cdcec6bfbab8babfc6cad0cdc4beb6afa79f99928c837c736d67615a534e45413a342f28231d18120b03000000000000000000000000010b151f2a36414c56616c74818e959fa8b2bcc5ced7ddd4cac2b8b0a8a198928b827b736d68615e5653514b4a4846443f4342424344414647494b4d5254575e61666d727a818a9298a1a8b2bbc4ced7d5cbc2bbafa3999083786d60574d42362a1e120500000000000000010d19242f3945525d68717e8b959fabb5c0cad3d5ccc3bbafa49a938c81796e69605d55514a474540403f3e3d3e3f404347484e53575e616c717b8390959fa8b2bbc4cfdad7cbc0b5ab9f948a7d7164594f44382c1e1308000000000714202d3946525e686e6d6764605d555653514b4d4b494948474748494b4e545860676d79839097a2adb9c4cfdae6dfd2c5b9ac9f92867a6d6054473a2d211407000000000815222e3b4855616e7b87939facb9c4cedfd7cbc0b5ab9d928a7d70685e5249413830271f1b15120e090b0a070c1013191d262d333e47515b606d7a85929ea8b1bdc8d4e1e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000020d17202c3845515d67717e8b96a0acb9c3cddcddd3c7bbaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfcad6dcd1c7bdb2a89d938a7e71695e53493f33271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000714202d3a4753606d7986929facb8c5d2d2c6b9ac9f93867a707d8999a3afbbc7c9beb3a9988b7f7265544a3f33281c23303d495663707c8998a3aebac7d2c5b8ab9f928579707d8999a3aebbc7c8bdb2a8988b7f7265554b4034291c100400000000000000000000000000000000000000000000000000060f171f252a2d2e352f2e2b2620180f0700000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c2cfd5c9beb3a99f948e81776c655e564f47433d38342e2d2c282329282824292c2d32373b424651585f676d78818f949fa7b1bcc7d3d0cac6c5c6cad0d6cac2bbb3aca49f9590877f786f6a605c555047433c352f29231d18120c07000000000000000000000000000007121d27313946525e68717e8a939ea7b1bac4ced7ded4cbc2b8b0a69f9691867e766e69605d56524c4745403d3b3937332d3536363036393a3c3e4246474d52545c60686e747e869196a1a9b2bcc5d0d9d7cbc0b5aba0958c7f72695f53463a2d2114070000000000000004111d2935414c56606d7a85929ea7b1bdc7d1d7cec3b9b0a69f93887f756d675e56514b44403a39352f323130313231373a3c43474d525a61696e79839096a0a9b3bec9d5dcd1c7bdb0a69d9083776b6054483a3025190d0100000005111e2a36414c565e61605d5553514b4a474540403e3d3c3b3b3b3b3c3e43474e555d676d7a85929ea9b2bdc9d5e1e0d3c7bbafa3998a7d7063574a3d3024170a00000005121e2a36424d576673808c9aa4afbbc8d4e0d4c7bbafa3998e81746b61564c41382f261e150d0a0602000000000004080b141b2227353f45525d68727f8b95a0acb8c5d1dee1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000008141e2935414c56606d7984919ea8b2bdcbd4dfd5c9beb3a99f92867b6e62594f42382e20160c0000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac1ccd6d9cfc4baafa59f92857b6e655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000a1723303d4a5663707d8998a2aebac7d3d0c3b6aa9d9083776d7a86929facb9c5cfc2b5a89b8f8275665b5044382b1f2834404b5566737f8c99aab4bfcbcec2b5a89b8f82756d7a86929facb9c5cec2b5a89c8f8275675c5145382c1f13060000000000000000000000000000000000000000000000020a1117212930363a3b423b3a37312a2219110900000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b99a3afbbc7d4d2c6b9ada1978f82786d655b534c443d38322c2823201f1c181c1b1b181d2021262b31363f464e555c666d78828f959fabb7c4d1dbd6d3d2d3d6d3cac1b8b0a9a19a938d837c736d666058514b433e373129241e18120c07000000000000000000000000000000000c18232f3943505a616d7a85929ea5afb9c2ccd6e0d5ccc2b9b0a69f9490847c716c615e57524c46413a38342f2e2d2b2722292929252a2d2e3030363a3b42464a51565e616c717c849196a1aab3bec7d2dcd1c7bdb1a79f92867b6e6155483b2e221508000000000000000613202c3945525d6873808d97a1adb9c3cfd9d0c5bcb1a79e938c80736d605d554d454039342e2c29242524242526262b2e31373b424650575f676d7a849197a1adb9c1cfd8d9cfc2b8ab9f95897c7063564c4135291d1105000000010d1925303b444c525454514b4745403d3a39352f31302f2e2e2e2f2f32373c434b555e68727f8c96a1adb9c5d2dfe3d7cbc0b5ab988b7e7165584b3e3225180b0000000714202d3a46525e697784909dacb6c0ccd8dfd2c5b9ac9f92877b6e61594f443a30261d150c0300000000000000000000020a1117232935414c56606d7884919daab7c3ced9e4d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000000000020e1925303945525d68727f8c96a1adbac3cedddcd2c6b9ada1978d8073695f53473d30261c0e0400000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbac4d0d9d6ccc0baada2978f82776c60584e43392f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000005121e2a36424d576773808d9aaab4bfcad6cbbfb4aa998d8073677683909da9b6c3d2c5b8ab9e9285796c605346392d202c3845515c6776838f9ca9b6c2d1c9beb3a9988b7f72677683909ca9b6c3d0c5b8ac9f9285796d6053473a2d20140900000000000000000000000000000000000000000000050b141c2228333b4246484f4847433c342b231b1206000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6776838f9cabb5c0cbd4c8bdb2a89e92857a6d665c5349413a322b271f1c181313100c070e070d1113141b1f252a343c434b545c666d7983909da9b6c3d0dce2dfdfdfd7ccc1b8b0a69f97918880786f6a605c544e454039312b262019130c07010000000000000000000000000000000004101c2934404b55616c75818f97a1adb7c1cbd4ded7cec3bab0a69f9490827a6f6a625a534d45413a36302c292321201f1b171c1c1d191d202123252a2d30363940444c525a616a6f7b849198a2acb6c0ccd8d9cfc3baaea2988b7e7165584b3e3225180b00000000000004101c2834404b54606d7a85929fa9b3becbd4d6cabfb4aaa0958f82776c605b514b433b352f2823201d1818171718191a1f21262b30363e454d555e686e7b85919ea6b0bdc6d1dcd4c8bcb1a79c8f8275685e5246392d2013070000000008141e29323b4146474745413a39352f2d2c29242523222221212223272b3139434c56606d7984919eabb8c4d1dee8dcd1bfb2a6998c7f7366594c403326190d0000000815212e3b4854616e7b8795a0acbec7d2ddd4c8bcb1a79b8f8275695e53473e32291e140b0300000000000000000000000000061119242f3a44505c66727f8c99a7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000005111e2a36414c56606d7a85929ea8b2bdccd5e1d4c8bcb1a79e92857a6d60574d42352c1e150a00000000000000000000000000000000000000000000010c16202834404a545f69717e8b939ea8b2bec7d2ddd6cabeb3a99f948c7f726a5f554b40352920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000714202d3a46525e697784919daab7c4d0d3c7baaea398897d706773808d9aabb5c0ccc6b9ada297887c6f6255493c2e232d3a4653606d7986929facb8c5d2c6b9ada197887c6f6673808c99aab4bfcbc6baaea298897d7063564a3d31251a0e020000000000000000000000000000000000000000060e171d262d333d454d52545b55534e463d352d2417110a020000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d1d2c5b9aca0968b7f72685d544b41382f29201b16100c070604000001000104060a0b141d262d334049515a626c717e8a97a4b1bdcad7e4ecebdfd2c6bbb0a69e948f857d736d665f58514a423c342f271f1a150d08010000000000000000000000000000000000010c161f2c3845515c67717e8a939ea9b3bec9d2ddd9d0c5bcb1a89f949082796d685f585046423b352f2a251f1c181513120f0b060f080d11131416191e20252a2e343b4146505860696f7c86929aa4afbbc5cfdad6cabfb4aa988b7e7165584b3e3225180b00000000000006131f2c3845515c66727f8c98a2aebbc5cfddd3c6baaea2989183796d655b504540393129241d1813110d070b0a0b090f12151b1f252a333b434c565f69707d89939eabb5bfcbd7d8cdc3b9ac9f92867a6d6154473a2f24180d01000000020d1720293036393b3a39352f2c292420201d1818161615141415161b1f28313a45515c6774818d9aa7b4c0d0dbe6dacdc0b3a79a8d8074675a4d4134271a0e0000000b1825323e4b5865717e8b98a7b1bcd0d9ded1c5b8aca095897c7063574d42352c20170c0200000000000000000000000000000008131e28343f4a54616e7b8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000040e18222d3946525e6873808d97a2adbac4cfded8cfc6b8aca0958b7e72685d52453c31231a0c030000000000000000000000000000000000000000000000040d18232e39424d57626c75818f96a1acb6c0ccd8dbcfc5bbb0a69f92867c6f675d51453e32291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1d2c5b9ac9f9286796d63707d8a99a4afbbc7cabeb3a9988c7f7265544a3f3428303c4956636f7c8998a3aebac7d1c5b8ab9e9285796c63707c8998a3aebac7cabfb4aa9a8d807367574d42362a1e1205000000000000000000000000000000000000020a111720292f383f444f575e6168625f584f473f3627221b140b0200000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afbbc7d3cabfb4aa9e9184796d60564c42392f261d170e0a0400000000000000000000030c151d262f383f44525b626c717e87929facb9c5d2dfecede9dccfc3b6aa9e938f827a706b605c544e4440393029231d150d09030000000000000000000000000000000000000008131e2935414b55606d7984919ea5afbbc5cfdbddd2c7beb4aaa0959082796d675e564e463e363129241e1913100c070605030000030001050707090e11141a1c232830363e464e575f6a707d88939fa9b3bec9d5dbd0beb1a4988b7e7165584b3e3225180b0000000000000713202d3a4653606d7984919eaab4becdd7d5c9beb3a99f92867b6e675d53493f352f271f18120c070401000000000002060a0f141a2129313a444d57606b75828f99a3aebbc7d2ddd3c7bbafa3998b7e7165554b4035291d110400000000050e171e252a2d2e2d2c2924201d181413110d070a09080808080a0d161f2934404b5564707d8a97a9b3becad6e2dbcec1b4a89b8e8175685b4e4235281b0f000004111d2935414c566875828e9ba8b5c1cedbddd0c3b7aa9d9083776b6054453b31231a0e0500000000000000000000000000000000010b17232e3847535f697783909daab7c3d0ddd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000a15202a36424d57616e7a86929fa9b3beccd6dcd1c6bdafa59d9083786d60564c41332a2011080000000000000000000000000000000000000000000000000007121c27303c45505a616d7a84919aa4afbbc3ced8d7cdc2baaea3999183796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000003101c28343f4a5465717e8b98a7b1bcc8d4cfc2b6a99c8f827667606d7a86939facb9c6cfc2b5a89c8f8275665c5044382b34404b5466737f8c99aab4bfcbcec1b5a89b8e827565606d7986929facb8c5d0c4b7aa9d918477695e53463a2d2114070000000000000000000000000000000000040b141b2227323a424a505960696e756e6a6059504840332d261d140b03000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5c0cbd3c7baaea2988a7e71665c51443a30271d140b050000000000000000000000030c151e272f384149505b636d727f879299a3aebbc7d3e0dfe0e3dbcec2b5a89b8f82786d686059514a423c342e271e18120b030000000000000000000000000000000000000000010d19242f3945515d67727f8c96a1adb7c1cdd7e1d8ccc0b6aca2989183796d675d554c443c342a251f19130d080400000000000000000000000000000205090e12181e252a343c454e58606b74818e97a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000000000005111e2a36414c5664717e8b96a1adbcc5d0dfd2c6b9ada1978c7f73695f554b41382d241d150d0701000000000000000000000002090f181f29323b454f59626e7b86929fabb5c0ccd7d7cbc0b5ab9c8f8276675d5145392c2013060000000000050d14191e202121201d1813110d070604010000000000000000040d18232f3a4753606d7a8697a2adbac6d3dfdccfc2b6a99c8f8376695c504336291d1000000613202c3945525d687784919eaab7c4d1ddd6cabfb4aa988b7f7265594f4433291f110800000000000000000000000000000000000006111c2b37424d576773808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000030f1b26323a46535f6974818d98a2aebbc5cfdfd7cbbfb4ab9e93897d70665c50443a2f21180e0000000000000000000000000000000000000000000000000000000b151e2a333f46525d68707d88939fa7b1bcc6d0dbd7cbbfb4aba0958d80746b61564c41362a21180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000006121f2c3844505c6675828e9ba8b5c1ced6cabeb3a9998c7f72665d687783909daab6c3d2c5b8ab9f9285796d6053463a2d3845515c6676828f9ca9b6c2d0c9beb3a9988b7e72655c6776838f9ca9b6c2d0c5b8aca095877b6e6154483b2e23180c00000000000000000000000000000000040e161d262d333d444c545b606b707b827c706b625a52443f382f261d150c030000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1d2c5b8ac9f9286796d60544a4032281e150b020000000000000000000000030c151e273039424a535b606d737f8b9399a3abb5bfcbd7d4d2d4d7ddd1c5b8ab9e9285796d60564f4440393028231c150c070100000000000000000000000000000000000000000004111d2935414c56606d7a85929ea8b2bdc9d3dfdcd4c8bbafa49a92867c6e675d554b433a322a221a140d08010000000000000000000000000000000000000000070c1419222b333c464f59606d7a85929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b00000000000714202d3946525e6876828f9ca9b2bdced7d5c9bdb2a89e9285796d60574d433a2f261b120b03000000000000000000000000000000060d172029333d47535f6974808d99a4afbbc7d4dcd1c5b9ac9f92867a6d6053473a2d20140700000000000002080d1114141413110d070401000000000000000000000000000713202c3945515d677885929fabb8c5d2deddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a4754606d7a86939facb9c6d2dfd3c6baaea298887c6f6255493d3222170d00000000000000000000000000000000000000000e1a26313f4c5965727f8c98a5b2bfcbd8d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000006131f2b37434e58616e7b86929faab4bfcdd7ddd3c7baaea3998f82756b60544a3f32281e0f06000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d95a0aab4bfcad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000713202d3a4653606d7985929fabb8c5d2d3c6baada297897c6f62566774808d9aacb6c0ccc6baada297887c6f6255493c2e3a4653606d7985929facb8c5d2c6b9ada197887b6e625566737f8c99aab4bfcac8bdb1a8988b7e7265544b4034281c10040000000000000000000000000000020c1620282f383f444f565e666c737d858e857d716c635c504941382f261e150b020000000000000000000000000000000000000000000000000003101c28343f4a546a7683909da9b6c3d0cfc2b5a89c8f8275675d5142392e20160c030000000000000000000000030c151e273039424a545b656c73808c919fa4abb5bdc6d1ccc7c6c7ccd2d2c6b9ada1978b7e71655b5044372e271e18120b0300000000000000000000000000000000000000000000000613202c3945525d68737f8c97a1adbac4cfdbded5c9beb3a99f93887e706a5f554c433a31282018100903000000000000000000000000000000000000000000000002081019212a343d45525d68727f8c98a5b2bfcbd7cbbeb1a4988b7e7165584b3e3225180b00000000000814212e3b4754616e7a86929facb9c4cfdfd2c5b9aca0968b7f72675d51453c31281d140a010000000000000000000000000000000000050e17212b37424d57616e7a87939facb9c6d2dfd3c7bbafa399897c706356493d30231607000000000000000001050708070604010000000000000000000000000000000004111d2935404b556a7784919daab7c4d0ddddd0c3b6aa9d9083776a5d5044372a1d1100000a1623303d495663707c899aa4afbbc8d4dfd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000091724313e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000000020b1a232e3b47535f6a75818e99a3aebcc6d0dfd5c9beb3a99f92867b6e61594f42382e20160c0000000000000000000000000000000000000000000000000000000000060f1924303a444f59606d79839098a2aebac1cdd6d8cfc3b9aea49e91857a6d615b51453c30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000091623303c4956636f7c8997a2adbac6d3d2c5b8ab9f9285796d605764707d8a9aa4afbbc8cabeb3a9988c7f7265544a3f343c4956636f7c8998a2aebac6d1c4b8ab9e9185786a5f56636f7c8998a2aebac6cec2b5a89b8f8275665c5145382c1f1306000000000000000000000000000008131e28323a4149505960686d788087929792877e736e605b534a423830261d140a0000000000000000000000000000000000000000000000000006121f2c3844505c667885929eabb8c5d1cbbeb1a4988b7e7165554b4030271c0e040000000000000000000000030c151e273039424b545c666c77808c929ba3afb5bdc6cfc7c0bbb9bbc0c7d0c9beb3a99d9184786c6053463d32271b0c07000000000000000000000000000000000000000000000000000714212d3a4754606d7a85929fa9b3beccd6e0d8cdc6b9ada1978e81746c61574e433a31281f160e06000000000000000000000000000000000000000000000000000000070f18222935414c5664717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000005111e2a36424d5665727f8b99a3afbbc7d4d7cbc0b5ab9e9184796d60554b40332a1f160b0200000000000000000000000000000000000000060f1a26313c46525e687683909da9b6c3ced9d7cbc0b5ab998c7f7366594c402f24180c0000000000000000000000000000000000000000000000000000000000000000010d18242f43505d697683909ca9b6c3cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1925323f4c5865727f8b98acb6c0ccd8dccfc2b6a99c8f8376665c5044382c1f12060000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000a141d2c38444f59626f7c87939fabb5bfced8dbd2c6b9ada1978d8073695f53473d30261c0d0400000000000000000000000000000000000000000000000000000000000008131e28323d45515c666e7c86929fa6b0bbc4d0d9d5cbc0b9ada1978f82756d62574e42392e23180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000005111d2a36414c566673808c99a9b3becad6cec2b5a89b8f8275665c54616d7a86939facb9c6d0c2b5a89c8f8275665c5044383f4a5466727f8c99aab4bfcacec1b4a89b8e8175685753606d7985929facb8c5d2c5b8ac9f9285796d6053463a2d20130900000000000000000000000000010d1924303a444c535b606b6f7a828c9399a199928b80746c655b544a42382f261c11060000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2cabfb4aa95887b6e6255483b2f22150b0000000000000000000000030c151e273039424b545c666d78818d929ca4adbbc0c7ccc3bdb5afacafb5bdc7d0c5b8aca0968a7d7063584e43372b1c110600000000000000000000000000000000000000000000000007131f2c38434e5865727f8b98a2aebbc5cfdedfd3c7bbb0a69e91857a6d605a50453c31281f160d05000000000000000000000000000000000000000000000000000000000006101924303e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000714202d3a46525e697683909cabb5c0cbd7d3c7bbafa3998b7e72665c51433a2f21180d0400000000000000000000000000000000000000000009151f2a36414c5666727f8c99a8b2bdc9d5dcd1c2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000000071c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010d1a2734404d5a6773808d9aa6b3c0d2ddd9ccbfb3a6998c807366544a3f34281c100300000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c00000000000000000006111c262f384854606b75828f9aa4afbdc6d1e0d4c8bcb1a79e91857a6d60574d42352b1e140a00000000000000000000000000000000000000000000000000000000000000020c16202834404b545f6a727e8b939ea9b2bec7d2ddd5c9beb3a99e948b7e726a5f544b40342820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000713202d3946525e687783909daab6c3d0d5c9bdb2a8988b7e726554525d687784909daab7c3d0c5b8ab9f9285796d6053463a44505c6676828f9ca9b5c2d0c9bdb2a8988b7e716558515c6676828f9ca9b5c2d0c6baaea298897d706356493d31251a0e0200000000000000000000000004111d2935414c565d656c727d848f949fa4aba39f928c80776c665c544a42382d2217130a00000000000000000000000000000000000000000000000714212d3a4754606d7a8793a9b3bec9d3c7baaea298877a6d6054473a2d21140700000000000000000000030c151e273039424a545c666d78818e939da4adb6bfcccbc3bab2aba49fa4abb5bdc7c8bdb2a89c9083766a605447382e23170b0000000000000000000000000000000000000000000000000915222e3b4854606a7783909daab4becdd7e1ddd0c4b7ab9f948a7e71685d52483e332a1f160d0400000000000000000000000000000000000000000000000000000000000000081825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000814212e3b4754616e7b87939facb9c6d1dcd2c5b9ac9f92867a6d61544a4031281d0f0600000000000000000000000000000000000000000000030d1925303c4855626f7b8896a0acb9c5d2ded1c4b8ab9e918578675d5145392c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100020f1c2835424f5b6875828e9ba8b5c1cedbd6c9bdb0a3968a7d7063574a3d2e23170c0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226190c0808080808080808080b17222d3842505a63707d89949eacb6c0cfd8d8cec6b8aca0958b7e71675d51453b3123190c020000000000000000000000000000000000000000000000000000000000000000040e18232e39424e57626d75828f97a1acb6c0ccd8dacfc4bbb0a69f92867c6e665c51453d32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000000714212e3a4754616d7a87939facb9c6d2d2c5b9ada196887b6e62554c566774818d9aa7b4c0cec6baaea298897c6f6256493c4653606d7985929facb8c5d2c5b9ada196887b6e61554a5466727f8c99aab3becacabfb4aa9a8d807367574d42362a1e12050000000000000000000000000713202c3945525d686d777f8791969fa6afb5aea49c928d81786d665c544a3f3328251b1208000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbacfd2c5b8ac9f928579675d5145392c201306000000000000000000030c151e273039424a545c666d78818e939da5aeb6bfc8cbc2b9b1a8a0999399a4abb5c0ccc3b7ab9f94897c6f62544a3f34281c10030000000000000000000000000000000000000000000004111d2935404b55626f7c8995a0acbcc5d0dfdfd3c7bbb0a69c8f82766c61564c41362c21180d0400000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000000000b1824313e4b5764717e8a9aa4afbbc8d4d7cbbfb5ab9c8f8276685e5242392e1f160c0000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eaab7c4d1ddd2c6b9ada197867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101d2a3643505d697683909ca9b6c3cfdcd5c8bbaea295887b6f6255483c2f2215060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f32261915151515151515151515151c28333f4a54616c7683909da6b0bec7d2dcd0c6bcafa59d9083786c60554c41332a1f11070000000000000000000000000000000000000000000000000000000000000000000007121d27303c45515b616d7a85919aa4afbbc3ced8d6cdc1baaea2989083796d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000000030f1b27333f495364717e8a9aa4afbbc8d4d1c4b7ab9e918478695f534a5764717d8a97a8b1bdc8cabeb4aa998c7f7266544a404956626f7c8998a2aebac6d1c4b7ab9e918478695f534956626f7c8998a2aebac6d0c3b7aa9d908477695e53463a2d2114070000000000000000000000000714212d3a4754606d7a828c9299a1a9b0bbbfbbaea49d938e81786d665b504440372d241a10060000000000000000000000000000000000000000000815212e3b4854616e7b8794abb4bfcbd1c4b7aa9e9184776b554c4135291d11040000000000000000030c151e273039424a545c666d78818f939ea5afb7c0c8cac2b9b1a7a09691869399a4afbbc7c7bbb0a69a8e8174665c5044382b1f1206000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcced7e2ddd0c4b7ab9f94897d70635a50443a2f231a0f060000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000005111e2a36424d576774818e9aacb6c0ccd8d3c7bbaea3998b7e7165564c4130271c0d0400000000000000000000000000000000000000000000000006121f2b37434e586874818e9ba7b4c1cedad5c9beb3a995887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121e2b3845515e6b7884919eabb7c4d1ded7cbbfb4ab94877b6e6154483b2e2115080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3226212121212121212121212121212b3844505b66707d8a959fabb8c1d0d9d6cbbfb4aa9e93897d6f665b50433a2f21180e0000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d88939fa7b1bcc6d0dcd6cabfb4aaa0958d80736b60564c41352921170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000005121f2b3744505b6574818e9bacb6c0ccd8cec1b4a79b8e817468574d4754616d7a8795a0acb8c5d0c2b5a99c8f8276665c51444a5466727f8c99aab4bfcacec1b4a79b8e817468574d4653606d7985929fabb8c5d2c5b8aca095877b6e6154483b2e23180c0000000000000000000000000814212e3b4754616e7a8390949ea6afb7c0cbbfb6aea59d938e81786c605c52493f362c22180e0500000000000000000000000000000000000000000714212d3a4754606d7a8799a3aebac7d0c4b7aa9d9184776a544a3f33281c0f0300000000000000020b151e273039424a545c666d78818f939ea6afb7c0c9c9c1b8b0a79f9590847c87939facb9c4cdc2b8ab9e9285796d6053463a2d20130a000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb8c3cedfe1d4c8bdb2a89c8f82766b6054483e32281e1108000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000714202d3a46525e697784919eaab7c4d2ddd2c5b9ac9f92867a6d6054473a3021150b00000000000000000000000000000000000000000000000000030f1a26313f4c5966727f8c99a5b2bfccd8dacfbdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3945525f6c7885929fabb8c5d2ded3c7baaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f322518090000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f322e2e2e2e2e2e2e2e2e2e2e2e2e2e34404b55606c7883919da7b1bccad3ddd3c7baaea3988e81756b60544a3f31281e0f06000000000000000000000000000000000000000000000000000000000000000000000000030c18212a36414c56606b73808d95a0aab4bfcbd6dbd0c6bcb1a79f93877d70685d52453e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000613202d394653606c7885929eabb8c5d2d4c8bcb1a7978a7e7164574b46525e687784919daab7c4d0c5b8ac9f9285796d605346505c6675828f9ca8b5c2d0c9bdb2a8978b7e7164584b44505c6675828f9ca8b5c2cfc8bcb1a7988b7e7165544a4034281c100400000000000000000000000714202d3946525e686e7a828f949ea5aeb6c0c8c0b7afa59e938d80746e635b51483e342a20170c03000000000000000000000000000000000000000613202c3945525d687986929facb9c5d1c5b8ab9e928578665b5044382b1f1206000000000000000a141d263039424a545c666d78818f939ea6b0b8c1c9c9c0b7afa69f9590837a75828f9ca8b2bdc9c6b9ada197897c706356493d32261b0f030000000000000000000000000000000000000000030f1b27333f495364707d8a98a2aebac7d3e0ded1c5b8aca096897d7063594f44362c20160c00000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000814212e3b4754616e7b8796a0acb9c5d2dccfc2b5a99c8f8276685d5245392c20130300000000000000000000000000000000000000000000000000000a1724313e4a5764717d8a97a4b0bdcad7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110005121f2b3744505b657985929facb8c5d2dfd2c5b9ac9f928679675d5145392c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265584b3f30251a0e0300000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c3f3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b45515c67717e8b95a0acb9c2cddcd5c9bdb2a99f92867b6e61594f42382d1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d79839098a3aebac1cdd6d8cec3bbafa49991847a6d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000000000916222f3c4955626f7c8897a1adb9c6d2d1c5b8aca095877a6e615447414c566774818d9aa7b4c0cec6baaea298897c6f63564953606d7985929fabb8c5d2c5b9aca096877b6e6154483f4a5465727f8c98a9b3becacec2b5a89b8f8275665c5144382c1f1206000000000000000000000005111e2a36414c565e686d79828e939da4aeb6c0c9c0b7afa59d928d80736d625a50463c32291e150b0000000000000000000000000000000000000004111d2935414c566b7885919eabb8c4d1c6b9ac9f9386796c605346392d20130700000000000006111c262f38424a545c666d78818f939ea5afb8c1cac8c0b7afa59e948f827a6e707d8a96a0acb9c6c9beb3a99a8d807467584e43372b1f1306000000000000000000000000000000000000000005121f2b3744505b6574818e9aaab4bfcad6e2d7cbc0b5ab9d9184776b6054473d32241a0d0400000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000000b1824313e4b5764717e8a97a8b2bdc8d4d9ccc0b3a6998d807366564c4135291d11040000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b554b4035291d10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b4754616e7a8794a1adbac7d4e0d8cbbeb1a5988b7e7265574d42362a1f140900000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f7265594c48484848484848484848484848484848484b55606d7984919ea7b1bccbd4dbd2c5b9ada1968c8073695e53473d2f261c0d0400000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515c676f7c86929fa6b0bbc5cfdad7ccc0b5aba1968e81756c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000004111d2935414c5566727f8c99a9b3bec9d5d0c3b7aa9d908477685e52463e4b5764717e8a97a8b2bdc9cabfb4aa998c7f7366554b56626f7c8998a2aebac6d1c4b7aa9e918477695e53463c4955626f7c8897a2adbac6d2c5b8ab9f9285796d6053463a2d2013090000000000000000000000020e1925303b444c565d676d78818d929da4aeb7c1c9c1b7aea49c928c7f726c61584e443a30271c1207000000000000000000000000000000000000010d19242f44515d6a7783909daab7c3d0c7bbafa499887b6e6155483b2e23180c00000000000a1317222d38424a545c666d78818f939ea5afb8c1cac8c0b6aea59d938f82796d686c7884919eabb4bfcbc4b7ab9e9184786a5f53473b2e21150600000000000000000000000000000000000000000613202d394653606c7885919eabb8c4d0dbe0d4c7bbafa3998c7f7266594f44352b2112080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0000010d1a2734404d5a6773808d9aa6b3c0ced9d7cbbfb4ab978a7e7164574b3e3024190d0100000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714202d3a4753606d7a869aa4afbbc8d4ddd0c4b7aa9d9184776a5e51442f24180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d8996a3b0bcc9d6e3dacdc0b3a79a8d8074695e52463b31261a0e03000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726559545454545454545454545454545454545454545d67727f8b96a1acb9c3ceddd4c8bcb1a79e9184796d60574d42352b1d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404b555f6a727f8b949ea9b3bec9d5ddd2c7bdb2a89e938b7e71695f544a3f34281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000613202c3945515d677683909ca9b6c3cfd7cbc0b5ab9a8d807467564d413b4754616e7b8796a0acb9c5d0c2b6a99c8f8376675c515465727f8c98aab4becacdc1b4a79a8e817467574d42394653606c7985929fabb8c5d2c6baaea298897c706356493d30251a0e02000000000000000000000008141e29323b434c555d666d77808d929da5afb8c2c9c0b6aea49f93887e706a5f564c42392e23180e05000000000000000000000000000000000000081b2835414e5b6874818e9ba7b4c1cfccc0b5ab978b7e7164554b4034281c100400000009121c2528333f4a545c666d78818f939ea5afb8c1cac8bfb6aea49d938e81786d675d66727f8c99a3aebac7c5b9aca196887c6f6255493c2e23170c00000000000000000000000000000000000000000916232f3c4956626f7c8997a1adb9c6d2e2dfd2c5b9ac9f92867b6e6154473d3321190f000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b000004111d2935404b556975828f9ca8b5c2cfdbd3c7baaea399887b6f6255483c2f2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4d9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000714212d3a4754606d7a8793a0b5c0cbd7ddd0c3b7aa9d9084776a5d51442e23180c000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000060f1b27333f4953616c7683909da9b6c3d0dce9dfd2c5b8ac9f92867b6e61574d42362a201509000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f72656161616161616161616161616161616161616161616d7a85929ea8b2bdcbd5d8cec6b8ab9f958b7e71675d51453b3123190b020000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f97a1adb9c0cbd5d9d0c4baafa59f92867b6e665c50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000714212d3a4754606d7a86929facb9c5d2d3c7bbafa3998a7d7063574a3d3a46525e697784919eaab7c4d1c5b8ac9f9286796d60535b6675828f9ca8b5c2d0c8bdb1a8978a7e7164574b3e3844505b6675828f9ba8b5c2cfcabeb4aa998d807366574d42362a1e11050000000000000000000000020d172029313a434b545c656c74808d939ea6b0b9c3c8bfbbafa49a92867c6f685e544a40342820170d0200000000000000000000000000000000000b1825313e4b5864717e8b97a8b2bdc9d2c1b4a79b8e8174675c5145382c1f150b010008121b242e373f44505b666d78818f939ea5afb7c1cac8bfb6aea49c928d81786d665d55616d7a86929facb9c5c9bdb2a8998c807366544a3f34281c1003000000000000000000000000000000000000030f1b27333f49536673808c99a9b3bec9d5e1dccfc2b5a99c8f8276685e5246392d201407000000000000000000000000000000000000000505050505050505050505050505050505050b1825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000613202c3945515d677884919eabb7c4d1ded2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4dacdc0b4a79a8d8174675a4e4134271b0e0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000713202d3a4653606d798699a3afbbc7d3ded1c4b7ab9e9184786b554b4034281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000c171f2b3744505b65707d8a959fabb8c4d1ddeae0d3c7baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd8cbbfb2a5988c7f726e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808c97a1adbac4cedbd0c6bcafa59d9083786c60554b4033291f140d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a85929ea4aeb9c3cfd8d6ccc1baaea2989083786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000a1724313d4a5764707d8a99a3afbbc7d3d2c5b9ac9f92867a6d6054473a36424d576774818e9aa7b4c1cec7baaea398897c706356606c7985929fabb8c5d2c5b8aca095877a6e6154473b333f4a5465727f8b98a9b3bec9d0c3b7aa9d908377695e52463a2d201406000000000000000000000000050e171f283139424a535b606c77818e949fa7b1bbc4ccc0b6aca29891847a6d665c51443d32291e130800000000000000000000000000000000000815222e3b4855616e7b8896a1adb9c5d1c5b8ab9e9285796d6053463e31271d120708111a242d363f49525c606c78818e939ea5afb7c1c9c8bfb6ada49c928d80776d665c54525e6875828f9ba8b5c2cec3b6a99d908376665c5044382c1f120600000000000000000000000000000000000005121f2b3744505b6576828f9ca9b6c2cfdae1d4c8bdb2a8988b7f7265564d41362a1e110500000000000000000000000000000105090b0b111111111111111111111111111111111111111825313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000714202d3a4753606d7a86939facb9c6d2ddd0c3b7aa9d908377665c5044382c1f12060000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5d9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110006121f2c3844505c667986929facb9c5d2dfd2c5b8ac9f928579675c5145382c1f13060000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bcc8d4e0ece3d6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd9ccc0b3a6998d807b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c86929fa9b3beccd6d6cabfb4aa9e93897c6f655b504339322a261f170f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a343f46525e68707d8a929da7b1bcc6d1dcd6cabeb4aa9f948c7f736a60554b40352920170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000006121e2b37424e576774818d9aabb5c0cbd7cfc3b6a99c908376675d514539303e4b5864717e8b97a8b2bdc9cbbfb4aa998c80736655626f7c8897a2adbac6d0c4b7aa9d918477685e5246392d3c4855626f7b8897a1adb9c6d1c5b8aca095877b6e6154473b2e23170c00000000000000000000000000050d161f2730384149505b656d79829095a0a9b2bcc5c7beb4aaa1969082786d60594f443a3025190e04000000000000000000000000000000000714212d3a46535f697884919eabb7c2cdc6b9ada1978a7e71645a5043392f241810101a232c363f48515b636e74808d939ea5afb7c1c9c7bfb6ada49c928c80736c655c544b4c5665727f8b98a8b2bdc9c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2deded2c5b8aca096887b6e6155483b3025190e0200000000000000000000000000060c111517181e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e25313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000916232f3c4956626f7c899aa4afbbc8d4dbcec2b5a89b8f827568574d42362a1e1205000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110003101c28343f4a5f6c7885929fabb8c5d2ded3c6baaea29886796d6053463a2d2013070000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8a95a0acb9c2cdd8e4f0e7dcd0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc1b4a89c928d8787878787878787878787878787878787878787878787889298a2aebbc5cfded3c6baaea2988e81756a60534f47433d3631292117110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000030c18222a36414c56616b74808d95a0aab4bfcbd7dbd0c5bcb0a69f92877c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000814212e3a47535f6a7884919eabb7c4d1d6cabfb4aa998c807366554b41352e3b4854616e7b8796a1acb9c5d0c3b6a99c908376675d65727f8c98a9b3becaccc0b6ac9a8d817467564d41362d394653606c7985929eabb8c5d1c8bcb1a7988b7e7165544a3f34281c100300000000000000000000000000040d151e262f383f49535c676d7a839197a1aab4bfcac6bcb2a89f948d80736b60564c41362a20160c0200000000000000000000000000000005121e2a36424d576774808d9aa6b0bbc7cabeb3a99d9083766c61554b403529221819222c353e48515b636d73808d929da5afb7c1c9c7bfb5ada39c928c80736e605b534a424855626e7b8896a1adb9c5c7baaea398887b6f6255483c2f2215060000000000000000000000000000000000000815222e3b4855616e7b8897a2adbac6d3dfddd1c4b7aa9e918477695f53463a2d1f1408000000000000000000000000000911171d2124252b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b313e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000b1825313e4b5864717e8b97acb6c0ccd8ddd1c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c17232e45525e6b7885919eabb8c4d1ded6cabfb4aa94877a6e6154473b2e2114080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d7884919ea7b1bccbd4dfe9f5ede2d7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd0c4b9aea49c999494949494949494949494949494949494949494949494959fa2aab4bfcdd7dfd2c5b8ac9f92857b6e67636059544e46423b3328231c140c030000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d79839098a3aebac2cdd6d7cec2bbafa3999184796d605a50453b2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000000000815222f3b4855626e7b8896a1acb9c5d2d3c6baaea298897c6f6356493c2f2d3a46535e697884919eabb7c4d1c5b9ac9f9286796d606675828f9ba8b5c2d0c8bbafa49a8a7d7164574a3e302b3744505b6575828e9ba8b5c1cfcec1b5a89b8e8275665c5044382c1f12060000000000000000000000000000030c151d262d38414b555d686e7b859198a2aebac1ccc4bab0a69f93887d70685e52463e32281e1308000000000000000000000000000000020e1a26313b4855626e7b88949fabb7c3cec5b8ab9f958a7e71675d51453e342a21212b343e47505a626d727f8c929ca4aeb7c1c9c7bfb5ada39c918c80736e635c5049413847535f6a7884919eabb8c4cbbfb4aa978b7e7164584b3e2d22170b0000000000000000000000000000000000000b1724313e4a5764717e8a97a9b3becad6e2dacdc0b3a79a8d807467574d42362a1e0d0200000000000000000000000009121b22292e3132383838383838383838383838383838383838383838383e4b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00000c1926333f4c5966727f8c99a5b2bfd2ddded2c5b9aca096877b6e6154483b2f24180d000000000000000000000000000000000000000000000000000004101c2834404b546673808c99a6b3bfccd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000061e2a3744515d6a7784909daab7c3d0dddbd0bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000010c16202c3845515c67717e8b96a0acb9c3cedde6f0f7f3e7dcd1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5cabfb6aea8a6a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2acaeb4bcc5d0dfded1c4b7ab9e91847e7974706b626058534d453e342e261e150c030000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515c676f7c86929fa6b0bbc5cfdad7cbc0b5aba0968e81746c61574d41382d22170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000004101c2934404b5565727f8b98a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d2a36424d576874818e9ba7b4c1cfc7baaea399897d70636c7985929fabb8c5d2c6b9ac9f93867a6d6154473a2e27333f495365727e8b98a9b2bdc9d2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000030b141b262f39434c565e696f7c86929fa5afbac4ccc2bbafa49a91857a6d615a50443a3025190b020000000000000000000000000000000914212e3a47535f6976828f9ca7b1bcc8c8bcb1a79e9184796d605a50463c332a2a333d474f59616c727f8b919ca4aeb6c0c9c7bfb5ada39c918c7f736d635c52443f3837424e576874818e9ba7b4c1cfc0b3a79a8d807467544a3f33281c0f0300000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d0dbe3d6cbbfb4aa978b7e7164584b3e31261a0e02000000000000000000000006111b242d343a3d3e44444444444444444444444444444444444444444444444b5864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00010e1a2734414d5a6774808d9aa7b3c0cddae1d4c8bdb2a8978b7e7164554b4035291c11060000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9ba8b5c2cedbd8ccc0b6ac978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100030f1c2936424f5c6975828f9ca8b5c2cfdbd6c9bcafa396897c706356493d302316090000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdcbd5dfedebeaecede3d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7dcd1c8bfb9b4b3aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb8babfc5ced7e2ded2c5b9aca196918b85817d766f6a615f5750443f3830271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202934404b555f6a727f8b949fa9b3bec9d5dcd1c7bdb2a89d938a7e71695e53493f33271f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000006131f2c3845515c6776828f9ca9b5c2cedacfc2b5a89c8f8275665c5144382c25313e4b5865717e8b98a8b2bdc9cbbfb4ab998c8073666f7c8897a2adbac6d0c3b7aa9d908377685e5246392d222d3b4855626e7b8896a1adb9c5d2c6baada297897c6f6356493c3025190e02000000000000000000000000000000020a141d27303a444d575f6a717e8b939ea8b2bec7ccc0b6aca1978f82756c61564c4135291d140a00000000000000000000000000000006121e2b37424d5764717e8a95a0acb8c1cec2b9aca1968d80746c61584e453c33323c454f59616b717e87939fa3adb6c0c8c8bfb5ada39b918c7f736d635b524a40332d313e4b5764717e8a97a8b2bdc9c3b6a99c908376665b5044382b1f120600000000000000000000000000000000030f1b27333f49536976828f9ca9b6c2cfdce0d3c7baaea398887b6f6255483c2f2215090000000000000000000000010c17222d363f454a4b5151515151515151515151515151515151515151515151515864717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b00020f1c2835424f5b6875828e9ba8b5c1cedbe5d9cec1b4a79b8e8174675d5145382e23170c010000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded4c8bbafa49a887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100010e1b2734414e5a6774818d9aa7b4c0cddad8cbbfb2a5988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000010d19242f3945515d67727f8b96a1adbac3cedde5e1dedddfe0e3dcd1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e3dad1cac4c1c0babababababababababababababababababababababababbc5c6cad0d7e0e9e1d5c9bdb2a8a19e98928e89827c756e69615a504a423930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232f39434e58606c77828f97a1adb9c0ccd5d9cfc4baafa59e92857b6e655b50443c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000714202d3a4753606d7986929facb8c5d2d5c9beb3a9988c7f7265544a403428222e3b4855616e7b8896a1adb9c5d1c3b6a99c90837667727f8b98a9b3becaccc0b5ab9a8d807467564c41362a212e3a47535f697884919eabb8c4d1cabeb3a9998d807366564c41362a1e110500000000000000000000000000000000020b151e28323b454e58626c75818e96a1acb6c0ccc7beb3a99e948a7e71685e52463d2f261b11060000000000000000000000000000020e1a26313c4653606d7883909da5afbcc6c9bdb2a89d928a7e716a5f574d453d3b444e57606b707d879299a4afb5bfc8c8bfb6ada39b918c7f726d635b5249403727222e3b4754616e7a8796a1adb9c5c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121f2b3744505b657784919eaab7c4d1dddfd2c5b8ac9f9286796d6053463a2d201307000000000000000000000005111d29343f485056585e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e64717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0003101d2a3643505d697683909ca9b6c3cfdce9ded1c5b8ab9e9285796d60544a3f34281e13080000000000000000000000000000000000000000000000050f1b27333f495363707d8998a2aebac6d3dfd2c6b9ac9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000c1926333f4c5966727f8c99a5b2bfcfdbdbcec2b5a89b8f827568574d42372b1e120500000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000004111d2935414c56606d7985929ea8b2bdccd5e0d9d5d2d1d2d4d7dcd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ece3dcd5d0cdccc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c8d2d3d6dbdddfe0e4dacec4bab2acaaa29f9b948f87817b706c605c544b43392f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929ea4aeb9c3cfd8d5ccc0b9ada2978f82776c60584e43392f23180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000000000a1723303d4a5663707d8998a2aebac7d3d2c6b9ada197887c6f6255483c2e23212d3a46535f697884919eabb8c4d1c5b9ac9f92867a6d75828f9ba8b5c2cfc7bbafa4998a7d7064574a3d30251e2b37424d576875818e9ba8b4c1ced0c3b6aa9d908377685e5246392d2014060000000000000000000000000000000000030c162029333c46505a616d7a84919aa4afbbc3d0c4bbb0a69e92857a6d61594f41382d22170b01000000000000000000000000000009151f2b3844505c66707d89939eaab4bfcbc4baaea49f92867c6f695f574e46434d565f6a6f7d869299a3abb5c0c7c8bfb6ada49c918c7f726d635b514940372e25202d3946525e687884919eabb7c4c6baaea298887b6e6255483b2f221508000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfdcd0c3b6a99d908376665c5044382c1f120600000000000000000000000915212e3a45505a62656b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b717e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0004111e2b3744515e6a7784919daab7c4d0ddeadfd2c6b9ada2978b7f72665c50443a2f24190f06000000000000000000000000000000000000000000030c17202b3744505b6574818d9aaab3becad6ded1c4b7ab9e918478675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000b1724313e4a5764717d8a97a9b3becad6ded1c5b8ab9e928578695f53463a2d21140900000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000030d17212c3945525d68727f8c97a1adbac4cfded5cec9c5c4c5c7cbd1d9d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ede5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9c9cacbcdd0d2d4d8ddd6ccc4bdb9b4aeaca69f9a938e857d736d665c554b42382d22170f06000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d8a929da7b1bdc6d1dcd6cabeb3a99f948c7f726a5f554b40342920170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000005121e2a36424d576774808d9aaab4bfcad6d1c5b8ab9e9285786c605346392d201e2b37424d576875818e9ba8b4c1cfc7bbaea399897c6f7885919eabb8c4d1c6b9ac9f93867a6d6054473a2d211a26313e4b5865717e8b98a8b2bdc9d2c6b9ac9f93877a6e6154473b2e23170b000000000000000000000000000000000000040e17212a343e46525d68707d88939fa7b1bdc7cdc1b9ada1978e81746b6053493f33271d1207000000000000000000000000000003101c28343f4a54606b75828f98a3aebac1cbc0baaea29891857b6e696058504b555e686e7c859298a2abb5bdc7c9c0b6aea49c918c7f726d635b514940372e251c1e2a36414d566976828f9ca9b5c2cabfb4aa968a7d7063574a3d3024170a000000000000000000000000000000000814212e3b4754616e7a8799a3aebac7d3e0dacec1b4a79b8e817468544a3f34281c100300000000000000000000000b1724313d4a56626c717777777777777777777777777777777777777777777777777777777e8b97a4b1becad7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3945525f6c7885929fabb8c5d2deebe2d6cabeb3a99e9184796d60564c4135292118100700000000000000000000000000000000000000020b151e2834404a54606c7884919eabb8c4d0dbdbcfc2b5a89c8f827569554b4035291d10040000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adb9c6d2dfd2c6b9ada197887b6e6155483b31251a0e01000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000009141f2a36414c56606d7a85929fa9b3beccd6d5ccc4bdb9b7b9bbc0c7cfd9d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e5dbd3ccc6c2c1bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbdbec1c4c6c8ccd2d4d7cec9c6bfbab8b0aca49f97928880786d675c544a3f332821180e03000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0abb4bfcbd7dbcfc5bbb0a69f92867c6f675c51453e32291e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000714212d3a46535e697784919daab7c4d0dbcec1b4a89b8e8175655b5044372b1f1a26313f4b5865727e8b98a9b3bec9cbbfb5ab988b7e727a8797a1adb9c6d0c3b6aa9d908377685d5245392c2015222e3b4855616e7b8896a1acb9c5d2c8bbafa49a8b7e7164544a3f34281c1003000000000000000000000000000000000000050f18222935414c56606b73808d95a0abb5c0ccc9beb3a99e93897d70655b5044392f23180c0100000000000000000000000000000b17232e38424f59616e7b86929fa5afb9c3cabfb4aaa19791847b6f6a625a545d676e7a849197a2aab4bdc6c9c0b7aea49c928c7f736d635b51493f372e251c13192530414d5a6774808d9aa7b3c0d0beb1a4988b7e7165584b3e3225180b000000000000000000000000000000000916232f3c4956626f7c8995abb4bfcbd7e3d9ccbfb3a6998c807366594d402e23170c0000000000000000000000000b1825323e4b5865717e84848484848484848484848484848484848484848484848484848485929eabb8c5d1d7cbbeb1a4988b7e7165584b3e3225180b0006121f2c3844515c667986939facb9c6d2dfece6dbcfc5b9aca1968a7e71685d52453e332a221810070100000000000000000000000000000000030b141d26303844515c66707d8a96a1adb9c5d2e1d5c9beb3a9988b7f7265584c3f2f24180c000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535f697885929eabb8c5d1ded5c9beb3a9978b7e7164574d42362a1d1207000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000020e1a25303946525e6873808d97a2adbbc5cfd9cec4bab2acaaacafb5bdc7d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe7ddd3c9c1bab6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafb0b1b2b4b7b9bbc0c5c7cbd1d5d0cac6c2beb6afa9a29a938d82796d665b50443f332a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839199a3aebac2cdd7d7cdc2baaea3999183796d60594f443a3025190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000000815212e3b4854616e7b8795a0acb8c5d1d5c9bdb2a8988b7e716553493f33271b15222f3b4855626e7b8897a1adb9c6d1c0b4a79a8d81747c8996a9b3bec9cbc0b5ab9a8d807367564c4135291d14212d3a46535f697884919eabb7c4d1ccc0b6ac9b8e8175665c5044382b1f12060000000000000000000000000000000000000007101924303a444f59606d79839099a4afbbc6cfc5bbafa59d9083786c60554b4034291d1207000000000000000000000000000006111c26303d46535e69727e8b939ea7b1bbc5c5bcb3a9a19691857c716c605d666d79839096a1a9b3bcc6cac1b7afa59d928c80736d635b51493f372e251c13081825323f4b5865727e8b98a5b1becfbfb2a6998c7f7366594c403326190d000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdd1dce7d8cbbeb1a5988b7e7265584b3f322518060000000000000000000000000c1926323f4c5965727f8c91919191919191919191919191919191919191919191919191919297a1adb9c6d2d7cbbeb1a4988b7e7165584b3e3225180b000713202d3a4653606d79869aa4afbbc8d4e0edece1d5c9bdb2a89e91847a6d605a50463c342a2218130c040000000000000000000000000000060c151d262f38424c56606d7984919da8b2bdc9d5dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576976828f9ca9b5c2cfdadacfc2b5a89b8f8275695e5346392f24180b020000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000005121e2a36424d57616d7a86929fa9b3becdd6d5c9bdb2a8a09e9fa3abb5c0cbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe2d7ccc1b7afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a7aaacafb6b9bbc0c7cad0d6d3d0c7c0bbb3aca49f948e81786c605b51453c31261a0d03000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c86929fa6b0bbc5cfdad7cbbfb4aba0958d80746b61564c41362a21180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000003101c28343f4a5465717e8b98a7b1bcc8d4d2c5b9aca096877b6e6154483b2d221714212e3a47535f6a7885929eabb8c5cfc2b5a99c8f82767e8a97a4b1bdcfc7bbafa3998a7d7063574a3d2f2419121e2a36424d576874818e9ba7b4c1ced2c5b8ab9f9285796d6053463a2d201308000000000000000000000000000000000000000008131e28323d45515c676f7c87939faab4bfcbcdc1b8aca0958b7e71675c5145392f23180c0000000000000000000000000000000a141e2a36424d57626d75818e95a0a9b3bcc5c4bbb2a9a19791867e746d676d78828f95a0a8b2bbc5cbc2b8afa59d938d80746e635b51493f372d251c130a0a1623303d495663707c8996a9b3becac0b4a79a8d8174675a4e4134271b06000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9ea1a9b3bec9d5d7cbbeb1a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0b6c0ccd8e4f0f1e5dacec4b9aca1968e81756c61584e463c3429241d16100b0603000000000000000003070c11171e272e38414a545e68727f8c96a0acbac4cfdaded1c4b8ab9e9185786a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000020e1a2631404d596673808c99a9b3bec9d5dfd2c6b9ac9f93877b6e61554b4035291d140a0000000000000000000000000000000000060f18222f3c4855626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000040e18222d3a46525e6974808d98a2aebbc5d0dcd2c5b9aca096919299a3afbbc6d1d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c6baafa59e9b9595959595959595959595959595959595959595959595969697989a9d9fa4acacafb5babec5cdd7d9d2ccc5beb6afa69e938d80746d62574d42372b1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b555f6a727f8c949fa9b3becad6dcd1c6bdb1a79d928a7d70685e52463f332a1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000006121f2c3844505c6675828f9ba8b5c2ced9d1c4b7aa9e918477695e53463a2d1b11121e2b37424e576875828e9ba8b5c1cfc4b7aa9d9184777f8c98a5b2bfcbc5b9ac9f92867a6d6054473a2d21140e1a26313e4b5864717e8b97a8b2bdc8d3c6baada297897c6f6256493c3025190d0100000000000000000000000000000000000000020c16202834404b555f6a74818e98a3aebac5cfc8bcb1a79e9184796d60554b4034291c11060000000000000000000000000000020c1a25313b45515b606d79839097a2aab3bcc6c4bbb2a9a198928b81796f74808d949ea7b1bac4ccc2b9b0a69e938e81776c605c524940372e251c130a010714212e3a4754616d7a8797a2adb9c6c2b5a89b8f8275685c4f422d22170b000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c1926323f4c5965727f8c98a5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5cfdad7cbbeb1a4988b7e7165584b3e3225180b000714212e3a4754616d7a8794a0adbad2dde8f4f6ebe0d5c9bdb2a89e938a7e716a5f584e463d352f281f1c17120f0b0608070708060c1012181c222830394049535c666d7a85929fa8b2bdccd6e0d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000916232f3c4956626f7c8997a1adb9c6d2dfd4c7bbafa4998d8073675d51453b2f261b1106000000000000000000000000000000050e18212a36424d57626f7b8895a2aebbc8d5d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000a15202b37424d57616e7b86929faab4bfcdd7d4c8bcb1a79e918487929fabb4bfcbd7cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6aa9e938e8888888888888888888888888888888888888888888888898a8a8b8e91939a9b9fa3abadb3bbc2cbd1d8d8d0c7c0bbafa59d928c7f72695f53473e31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c77828f97a1adb9c0ccd5d8cfc3b9aea49e91857a6d615b51453c30271c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000000000713202d3a4653606d7985929fabb8c5d2d8ccc0b6ac9a8d817467574d42362a1e0a0e1a26313f4c5865727f8b98a9b3becac5b8ab9f928578808d9aa6b3c0cdc3b6a99d908376675d5145392c20130915212e3b4854616e7b8796a0acb8c5d2cabeb3a9998c807366564c41362a1d11050000000000000000000000000000000000000000040e18232e39434e58616e7b86929fa9b3becacdc3b9ada1968c7f72675c5145382e23170c00000000000000000000000000000009141f29333f45515d676e7b859298a2aab4bcc5c4bbb3aaa39f938e847c7f8b929da6b0b9c3ccc3bab1a79f948e81786d655b504a40372e251c130a01000713202d3946525e687885929eabb8bab8b4a99d9083766a53493f33271b0f030000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d4c7baaea194877b6e6154483b2e2115080000000000000000000000000c1926323f4c5965727f8c98a5b2b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec5cdd6e1d7cbbeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1edfbf1e5dacec4baafa59f92867c6f6a5f584f45403a312b28231f1b17161514141516171c1f24292d333c424b515b656d78828f97a2adbac3cedfddd1c4b8aca095887c6f6255493c31261b0f03000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000613202d394653606c7885919eabb8c4ced9d7ccc0b5ab9f9285796d60564d41382d2217110600000000000000000000000000060e17202a333c46535f6973808d9aa6b3c0cdd9d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000030f1b26313a46535f6974818e98a3aebcc6d0dcd1c4b8ab9f958a7d818e99a3aebac6d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdbcec1b5a89b8e817b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7e7f8184868a8e92999fa2a9b0babfc6cfd8d9d2ccc1b7aea49f92867b6e625a5043392f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7b85929ea5afbac3cfd8d5cbc0b9ada1978f82756d62574d42392e23180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000000091623303c4956636f7c8998a2aebac6d3d4c8bbafa49a8a7d7164574a3e31251a0e0915222f3c4855626f7b8897a1adb9c6c6baada297867a818e9ba7b4c1cbbfb4ab998d807366554b4135291d110714202d3a46525e697784919eaab7c4d1cfc3b6aa9d908377685e5246392d20130600000000000000000000000000000000000000000007121d27303c46525e6973808d97a1adb9c4cec9bdb2a89e9185796d60544a3f34281c10030000000000000000000000000000030d17212935404b555f696f7c869298a2aab3bbc3c4bcb4aea59d96918787929fa4aeb8c1cbc4bbb1a89f958f82786d665c53493f382e251c130a01000005111e2a36414c566a7784919daab4aeacaaa29e918478655b5044372b1f12050000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e2114070000000000000000000000000c1926323f4c5965727f8c98a5b2bfc4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c6c9cfd6dfe8d7cbbeb1a4988b7e7165584b3e3225180b000815222e3b4855616e7b8894a1aebbc7d4e1eef0e9e4e0d6ccc1baaea29892857c6f6a6059514b433d38342e2b272223222121222323282c2f35383f444d545c606c77818e949ea9b3beccd5e0d4c8bdb2a89d9083776a5f53473b2a20150a00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000005121f2b3744505b6574818e9aa8b2bdc9d5ddd2c7baada2978b7e72695e53493f33272317110a03000000000000000000030a10182029323c46505a616e7b86929facb9c5d2dfd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000006121f2b37434e58616e7b87929faab4bfced7d3c7bcb0a69d9083767b86929faab4bfcad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f70717274777a7d82878d92979fa6aeb4bdc6d0d9ddd8c9c0baaea3998f82766c61554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e69707e8a939da8b2bdc6d1dcd5c9beb3a99e948b7e72695f544a40342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000005111e2a36414c566673808d99aab3becad6d2c6b9ac9f93877a6d6154473a2e2114090613202d394653606c7985929eabb8c5cabeb3a994887b828f9ca8b5c2c7baaea399897d7063564a3d2f24180d05121e2a36424d576774818e9aa7b4c1ced2c6b9ac9f93877a6d6154473a2d22170b000000000000000000000000000000000000000000000b151e2a36424d57606d7a85929ea8b2bdc9cfc4b9ada1978b7e72665c5044382c1f150a000000000000000000000000000000050f18242f39434d57606a6f7d869298a1a9b1b9c1c6bfbaafa8a099939299a3afb6c0cac5bcb2a9a0959083796d665c544a41382d261c130a01000000010d19253043505d697683909ca9aaa29f9b98928f86786c605346392d2013060000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae0d3c6b9ada093867a6d6053473a2d2014070000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d5dad7d7d7d7cbbeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1efe6dfd8d4d1d0cabeb3aaa19792857c706b605d554f46443f3937332d302f2d2e2f302e34383a40454a50575f666d73808d939ea6b0bcc5d0ded8cec6b9aca0968b7e7165584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000030f1b27333f495363707d8996a0acb9c6d0dcd6cabeb3a99e92857b6e655b50443d3528231c15100c060604000205060b0f151b222a323b444e58626c75818e98a3aebac7d3e0d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000040f19232e3a47535f6a75818e99a3afbcc6d1dcd0c4b7ab9f94897d7074808d98a2aebac5d0d4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174676262626262626262626262626262626262626262626363646567686d70757b80858f949fa3abb4bdc7d2dddbd7cbbfb4ab9f948a7e71675d5145382c1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414d56616c74818e96a0abb5bfcbd7dacfc4bbb0a69f92867b6e665c51443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000713202d3946525e687783909daab6c3d0dbd0c3b6aa9d908377685e5246392d20130705121f2b3744505b6575828f9ba8b5c2d0bbafa295887c83909da9b6c3c5b9ac9f9286796d6053473a2d201407020e1a25303e4b5764717e8a97a7b1bcc8d4c8bbafa49a8a7e7164544a3f33281c0f03000000000000000000000000000000000000000000030c1a25303b45525d68727f8b96a0acb9c5cfc9beb3a99e9184796d6053463c31261b0f0100000000000000000000000000000007121d27313c454e58606b707d869297a0a7b0bbc0c7c0bab2aba49f9fa3abb5c0c8cabfb4aaa19791837a6d675d544b42382f261b130a010000000000081c2935424f5c6875828f9b9f9b98928e8a86827e776c605346392d2013060000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39986796c605346392d2013060000000000000000000000000c1926323f4c5965727f8c98a5b2bfcacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabeb1a4988b7e7165584b3e3225180b000815222f3b4855626e7b8895a1aebbc8d4e1e6ddd4cdc8c4c3c4c5bcb3a9a19792857d746d67605953504a46443f3d3c3b3a3a3b3c3e3f44464b51545b60696e79808d929da5afb8c1ced7dcd0c6bcb1a79e9184786d6053463c32261b070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000b17222d394653606c7884919eaab4bfcbd6dbcfc5b9ada2978f82776c60584f473e342e261f1c171312100c0e1214171b1f262b343c444d565f6a717e8b939eaab4bfcbd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000b16212b37434e58626f7c87939fabb5c0cfd8d3c7bbb0a69c9083766b6e7a86929faab4becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a555555555555555555555555555555555555555556575758565d6163696e737b828c9299a3abb5c0ccd7dfdcd1c6bdb0a69e9184796d6053473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d79849199a3aebbc2cdd7d6cdc1baaea2989083786d60594f443a2f24190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000000714212e3a4754616d7a87939facb9c6d2d7cbbfb4aa998d807366564c4135291d1105030f1b27333f495365727f8b98a9b3becabcb0a396897d84919eaab7c4c3b6a99c908376675d5145382c1f1306000914212e3b4754616e7a8795a0acb8c5d1ccc0b6ac9b8e8175665b5044382b1f12060000000000000000000000000000000000000000000009141f2935414c56606d7984919ea9b3bec9cfc4b9aca1968a7e7164584e43372b1d1207000000000000000000000000000000010b151f2a333d464f59606b707d8590959ea6afb5bdc3c4bdb5afacacafb5bdc7d1c6baaea29891857b6e685e554b423930261d140a010000000000010e1b2834414e5b6774818e98928e8a85827d7a75716c655b5044372b1f12050000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f12060000000000000000000000000c1926323f4c5965727f8c98a5b2bebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebebeb1a4988b7e7165584b3e3225180b000815212e3b4854616e7b8794a1aebac7d4e1dfd4cbc2bcb8b6b8bcc2bbb3a9a19792898179706b64605c545350494a4948474748494a4a5053555d60666c727b838d929da4aeb7c1cad3ddd6cbbfb4aa9f958a7e71665c5044382a20150a0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000006121f2b3744505b65727f8c98a3aebac5d0dbd6cabeb3a99f948b7f726a605950443f38302c2823201f1c181a1e2122272b32373e464e565e696e7c86929fa5afbcc6d1dce7d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000020b1b27323b4754606a75828f99a4afbdc7d1dcd0c4b7ab9f94897d70636873808d98a2aebac5cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e48484848484848484848484848484848484848494a4b4c4c5254575e61696e777f879299a4afbbc0cdd6e1d8cfc2b9ada1978a7e7164574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515d676f7c87929fa6b0bbc5cfdbd6cabfb4aaa0958d80736b60564c41352921170c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000030f1b27333f495364717e8a9aa4afbbc8d4d3c7baaea398897d7063564a3d3025190d01000b17222d3c4955626f7c8897a2adbac6bdb1a4978a7e85929fabb8c5bfb4aa998c807366554b4035291d1004000714202d3946525e687784919daab7c4d2d2c5b8ab9e9285796c605346392d20130800000000000000000000000000000000000000000000030d19242f3a45515c66717e8a97a1adb9c7d2c9bdb2a89c9083766a5f5347392f24180c00000000000000000000000000000000030d18212b343d474f59606b6f7b838f949fa3abb1bbc0c7c0bbb9b9bbc0c7cfd2c5b8ac9f92867c6f695e564c433c332d261d170e080000000000000d1a2733404d5a6673808d8a85817d7975716d6764605b53493f33271b0f030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4b4034281c10040000000000000000000000000c1926323f4c5965727f8c98a5b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1a4988b7e7165584b3e3225180b000814212e3b4754616e7a8794a1adbac7d4e4d8cdc2b9b1aba9abb1b9c2bbb3a9a29f928d847d76716d6662605b535756555454555657545c6062676d72787e8690959da4aeb6c0c9d2dcd5cbc3baaea3989083786c60544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953616d7a86929faab3becad6dbcfc5bbb0a69f92867c706b615a504a423d38342e2d2c2823262a2d2d33373c434750585f686e7b849198a2aeb7c1cfd8e2e1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a141d2c38444f59626f7c89939eabb5c0cfd9d3c7bbb0a69c8f82766b60616d7a85929fa9b3becad6cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f4146474d53575e656c727e87939fa4aebbc4cfdae1d5c9beb2a99c8f8276695f53463a2d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935404b55606a727f8c949fa9b3becad6dbd0c6bcb1a79f93877d70685d52453e33291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000005121f2b3744505b6575818e9bacb6c0ccd8d2c5b9ac9f9286796d6053473a2d20140800000613202d394653606c7985929fabb8c5beb1a4988b7e86929facb9c5baaea298897c706356493d2f24180c000005111e2a36414c566774818d9aacb6c0ccd2c6b9ada197897c6f6256493c3025190d010000000000000000000000000000000000000000000008131e2834404b54606d7985929eacb6c0cccec4b7ab9f94887c6f62554b4035291d100400000000000000000000000000000000060f19222b343d474f5960696e79828c9299a0a7afb5bdc7c7c6c5c7cbd1d9cbbeb1a5988b7e736d67605b534e443f382f29201a110900000000000b1825323e4b5865717f817d7975706d6764605d5553504941382d22170b000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679675c5145382c1f13060000000000000000000000000c1926323f4c5965727f8c98a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0adbad1dce0d4c8bcb1a79f9d9fa7b1b9c3bbb3ada49d969189837d78726f6c6565646362606162636466666d6f73797e848b9298a0a7aeb6c0c8d2dbd5ccc3b9b0a69f92867c6e655b5042382e23170c000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3846525e6873808d98a2aebac3cfd9d7cdc2baaea39892867d706c605c544f46443f3b3a38342e31363a3b3f44464e535a616a6f7a849196a0aab4bfc9d3e1eae1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2d9d0c7b7aa9e94897c6f63595e6873808c97a2adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e41342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3030313035393b42464d535b606c727f8b929da9b3bec9d5e0dacfc4b9ac9f93877b6e6155483b3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f39434e58606c78828f97a2adbac1ccd5d8cec3bbafa49991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000613202d394653606c7885929eabb8c5d2ddcfc2b6a99c8f8376675d5145382c1f1306000006121f2b3844505b6675828f9ca8b5c2bfb2a5998c7f8c99a3aebbc5b8ac9f9286796d6053463a2d2013070000010d1925303d4a5764707d8a9aa4afbbc8d4cabeb3a9998c7f7366564c4135291d110500000000000000000000000000000000000000000000010c18232e3945515c6673808d9aa4afbbc8d4c7bcb0a69a8d8074675d5145382c1f13070000000000000000000000000000000000071019222b353d474f575e676d787f8790959fa4abb5c0ccd2d2d4d7dcdfd2c5b9ac9f92868079716c655f585049413b322c231b1306000000000b1724313d4a56626d7174706d6764605d5553514b46443f382f261b1106000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c8bbafa49a86796d6053463a2d2013070000000000000000000000000c1926323f4c5965727f8c9797979797979797979797979797979797979797979797979797979797979797979797979797978b7e7165584b3e3225180b000714202d3a4753606d7a8693a0b5bfcbd7ddd1c4b8ab9f9590959fa7b1bcc5bebaaea8a19e95908a847f7c797572706f6e6d6d6e6f717275797c80858b91969fa2aab1b9c0c8d2dad5ccc4bab1a79e948c7f726a5f53493f30261c1106000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000006111b2a36414c56616d7a85929fa7b1bdc7d1dcd6cbbfb4aaa29892867e726d66615953504a484644404344424648495053585f626c717c849196a0a8b2bcc6d0dbe5f3e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb8c1d0d9d2c7beafa59c8f82756b605456606d7a85929ea9b3bec9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134272222222222222222222222222222222223242424292d31363b4149505a626d74808d97a1adb9c3ced9e0d4c8bbafa49a8d807366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c44505b666e7b85929fa5afbac4cfd9d7ccc0b5aba1968e81756c61574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000000916222f3c4955626f7c8897a1adb9c6d2d6cabeb3a9998c7f7266554b4035291d10040000030f1c28333f4a5465727f8c98aab4bfc1b4a79b8e818e9babb5bfc2b6a99c8f8276675c5145382c1f13060000000814212e3a4754616d7a86939facb9c6d2cfc3b6a99d908376685e5246392d201306000000000000000000000000000000000000000000000007121d2834404b54616e7b87939facb9c4cfcdc2b8ab9f9285796d6053473a2f24180c000000000000000000000000000000000000071019232b343d454d555d666c737c838d9399a4afbbc7d4dfe0e3e0dfd3c7baaea398928d847e786f6a605b534d443e352d2517110a0300000915212e3a45505a62656863605c5553514b4745403937332d261d140a00000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae4d8ccc0b6a093877a6d6054473a2d2114070000000000000000000000000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7e7165584b3e3225180b000613202d394653606c798699a3aebbc7d3dcd0c3b6a99d90839095a0aab4bdc7c0bab2aca79f9d96918c8885827f7d7c7b7a7a7b7c7d7f8285898c92979ea0a8aeb4bcc3cbd2dbd6cbc3bab2a8a0958f82786c60584e41382d1e150a00000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000d1925303a46525e68737f8c95a0abb5c0cbd7dcd0c6bcb3aaa29892877f78706b63605c545453514a50504d5355535b60636a6f767e869196a0a8b2bac3ced8e2edeee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000030f1b27333f4953616b7683909da6b0bbcad3d8ccc0b6ac9e93887c6f62594f515d67727f8c97a1adb9c4cfd5c9beb2a99e92857a6d60564c4135291e1308000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b151515151515151515151515151515161718191d20252a2f383f44515b606d7985919ea8b2bdc8d4e1d8ccc0b6ac9d918477685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69717e8a939da8b2bdc7d1dcd2c7bdb2a89e938a7e71695e544a3f34281f160c010000000000000000000000000000000000000000000000000000000000000000010100000000000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000004111d2935414c5666737f8c99a9b3bec9d5d3c6baada297897c6f6256493c2f24180c000000000b17222d3c4956626f7c8998a2aebac2b6a99d938e939da9bdc6bfb4aa998c7f7266554b4034281c10040000000713202d3946525d687783909daab6c3d1d2c6b9ac9f93867a6d6154473a2d22170b0000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9b2bec9d3c6baada2978a7d7164554b4035291d1004000000000000000000000000000000000000071119222b333b434b545b606a6f798087939facb9c6d2dfdcd7d3d2d3cbbfb4aaa39f97918b837c726c655e564f473f3728231c150c030005111d29343f485056585b5753514b4745403a39352f2b27221b140b0200000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e8ddd2baada194877a6e6154473b2e2114080000000000000000000000000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7b6e6155483b2e2215080006121f2b3844505b667986929facb9c5d2d7cabdb0a4978a7e839098a3abb5bdc5c4bdb9b1aba8a09e9997928e8b8a8988878788898a8c8f9298999ea1a9acb2babfc6ced5d8d0cac1b9b1a8a0969083796d665b50463c2f261b0c0300000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000008131e2935414c56606d79839199a3afbbc2ccd5d8cec5bcb3aaa399928c837d75706d666461605c545d5d575f6164656c70757c828b9298a0a8b2bac3ccd2d7dde5ede1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000005121f2b3744505b65707d8a959fabb8c2ccdcd4c8bbafa49a8f82756a6054464c55606d7985919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0808080808080808080808080808090a080d11141a1d262d333f45515d67727f8b96a0acb9c5d2deddd2c6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e96a0abb5c0cbd7d9d0c4baafa59f92857b6e665c50443d31281d1307000000000000000000000000000000000000000000000000000000000003080b0d0e0b070603000000000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000613202c3945525d687683909ca9b6c3cfdad2c5b8ab9f9285796d6053463a2d201307000000000613202d3a4653606d7985929facb8c5baafa59d9b9da5afbac6baaea298897c6f6256493c2e23180c0000000005111d2935414c566773808d9aabb5c0cbd4c7bbafa4998a7e716453493f33271b0f03000000000000000000000000000000000000000000000007121d2a36424d5764707d8a97a1adb9c6d2cabeb3a99b8e8175675d5145382c1f1306000000000000000000000000000000000000000710192129313a424a50585f676d7983909daab6c3d0d8d1cbc7c5c7cbc6bcb4aea9a19e9590877f776e696159514940342e261e150b02010c18222d363f454a4b4e4a4645403a38352f2c29241f1b17110a020000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000815212e3a47535f6a6f71717171717171717171717171717171717171717171717171717171717171717171717171717171716e695f53473a2d21140800030f1c28333f4a5f6b7885929eabb8c5d1d7cabdb1a4978a7e7c869299a3abb3bbc3c9c2bcb7b2acaaa9a19e9b989796959394959697999c9fa2aaabadb3b9bdc4cad0d8d5cec6bfbaafa7a09691847b6e675d544a3f342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000020d1925303a45515c676f7c87929fa6b0b9c3ccd6d7cec5bcb4aba39f959189827d7975716e6d666a696a6b696e7173787d81878f949fa2aab2bac3c1c3c6ccd3dbe5e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000003101c28343f4a54606c7883909da7b1bccad4d7ccc0b5ab9f93877c6f62584e4345515d67727f8b96a1adb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000105090b141b222935404b55606d7984919eaab7c4cfdae0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79849199a3afbbc2ced7d6ccc1baaea2989082786d60584e433a2f24180e05000000000000000000000000000000000000000000000000000001080f14181a1b181312100b0600000d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000714212d3a4754606d7a86929facb9c5d2dbcec2b5a89b8f8275665c5044382b1f12060000000006121f2c3844505c6676828f9ca9b5c2c0b7afa9a7a9afb7c0c5b8ac9f9285796d6053463a2d20130700000000010d1924303d4a5763707d8a99a3afbbc7d4ccc0b5ab9b8e8174655b5044372b1f12050000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb8c3ced0c5b8ac9f9285796d6053473a2d2014090000000000000000000000000000000000000000070f171f282f38404a545f6a727f8c95a0abb8c4d1cfc6bfbab9babfc6c6bfbab2ada79f99928c827b706c625b52443f3830261d140a0006111b242d343a3d3e413d3a38342e2c2924201d18120f0b0600000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8e3d6c9bcb0a396897d7063564a3d3023170a00000000000000000000000006121f2b37434e585f626464646464646464646464646464646464646464646464646464646464646464646464646464646464615f574d42372b1e120600000b17222d44515d6a7784909daab7c3d0d7cabeb1a4978b7e717d879299a2a9b1bbc0c7c7c4bdb9b7b3adaba8a5a3a2a1a0a0a1a2a4a5a8abaeb4b8b9bec5c9ced6d4cec9c2bcb4aea59e9590847b6e695e554b42382d22180b020000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000008131e2934404b55606a73808d949fa7b1bac4ccd5d7cfc6bdb5afa7a09d948f8985817d7b797877767778797b7e8084898e93999fa6aeb4bcb9b7b5b6bac1c9d3dde1d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000010b151f2b3844505c66717e8a95a0acb9c2cddcd4c7bbafa4998e81756a5f53463c404b55606d7984919ea8b2bdc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000020a1118242f3a44515c66737f8c99a9b3bec9d5e2d8ccc0b6ac998c7f7366594c4033261907000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0bcc5d0dbd6cabeb3aa9f948c7f736a60554b40352920170b02000000000000000000000000000000000000000000000000020b131a2024272824201f1c17110c070d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000000a1724313d4a5764707d8a99a3afbbc7d3d5c9bdb2a8988b7e7265544a3f34281c10030000000003101c28343f4a5466727f8c99aab4bfcac0bab6b4b6bac0c9c2b5a89c8f8275665c5044382c1f120600000000000814212d3a4754606d7a86929facb9c5d2d2c5b8ab9e9285786c605346392d20130800000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a8b1bdc8d3c6baaea2988a7d7064574a3d30251a0e02000000000000000000000000000000000000000007121d27303944515c666f7c86929fa7b1bcc8ccc3bdb4aeacaeb4babfc6c4beb9b1aba39f948f857d726d635c504a42382f261b11060009121b22292e313235302d2c28231f1d1813100d0703000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdd2dde8d7cbbeb1a4988b7e7165584b3e32251807000000000000000000000000030f1a26313c464e5355585858585858585858585858585858585858585858585858585858585858585858585858585858585855534d453c31261a0e020000061c2936434f5c6976828f9ca9b5c2cfd8cbbeb1a5988b7e72717e879297a0a7afb5bdc2c7c9c5c4beb9b8b5b2b0afaeadadaeafb0b2b5b8babec5c6c9cfd5d3cec8c4bdb9b0aaa29f938e837a6e695f574d433a2f261c0f06000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000020c18232f39434e58606d78828f95a0a8b2bac3cbd6d8cfc7c0bbb1aca69e9c97928e8a8786858483838485888a8d91969b9fa4abb0babab2acaba8aaafb7c1ccd7e3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000007121d2834404b54606d7884919da7b1bccbd4d7cbc0b5ab9f93877b6e62584e43343945515c67717e8b96a0acb9c3ced6cabeb3a99f92867a6d61574d42362a1f140900000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000007131d2834404a54626f7c8997a1adb9c6d2dfddd2c2b5a89b8f8275685c4f422f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b55606a737f8c949fa9b3becad6dbd0c5bcb0a69f92877c6f675d51453e32291d140a0000000000000000000000000000000000000000000000000b141d252b303334312d2b28231c18120d1a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000006121f2b37434e586774818e9aabb5c0cbcecec5b9ada196887b6e6255483b2e23170b0000000000000c17232e3c4956636f7c8998a2aebac7cbc6c2c1c2c6cbcabeb3a9988c7f7265544a3f34281c100300000000000613202c3945525d687683909da9b6c3d1cec6b9ada197887c6f6255493c3024190d01000000000000000000000000000000000000000000000003101c28343f4a54616e7b8795a0acb8c5d1cabfb4aa9b8e817468574d42362a1e110500000000000000000000000000000000000000000c18232e39434e58606d78839098a3aeb9c3cfc3bab2aba39fa3abaeb4bcc1c9c2bdb5aea69f9792887f736e605c544a41382d22171007000911181d2124252824201f1c1813100c070401000000000000000000000000000000000000000000000000091623303c4956636f7c8996abb5c0ccd7e3d9ccbfb3a6998c807366594d402e23180c000000000000000000000000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4847423c332a1f15090000020f1b2835424e5b6875818e9ba8b4c1ced8ccbfb2a5998c7f726c717d8590959fa3abb0b8bcc2c7cbcac6c5c1bebdbcbbbababbbcbdbfc2c5c6cad0d2d2d0cac6c3bcb8b2aca69f98928b81796e685f574d453b31281d140a00000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d27313d44505c666d7a839196a0a8b1b9c1cad0d8d1cbc3bcb8b0aaa9a29f9b979a9392909090919298979a9ea1a8acafb5bdbcb2a8a19e9b9ea5afbac6d2ded4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000c18242f3845515c66717e8b96a0acb9c3cdddd3c7bbafa3998e81746a5f53463c3134404b55606d7884919ea7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000010c18232e394653606c7985929eabb8c5d1deded1c4b7ab9e9184786b554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a2adbac1ccd6d7cec2bbafa3999184796d605a50443b2f261b110600000000000000000000000000000000000000000000060f1d262f363c40413e3a38342e28231d181a2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000814212e3a47535f6a7884919eabb7c1c1c1c1c1b8ab9e9184786a5f53473a2e1c11060000000000000613202d3a4653606d7986929facb8c1c1c1c1c1c1c1c1c1baada297887c6f6255493c2e23170c00000000000004111d2935414c566673808d99abb5bfc1c1c1beb3a9998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000c17232e3846535e697784919daab7c4d1d0c4b7aa9e918477695e52463a2d2014070000000000000000000000000000000000000004101c2834404b55606a73808c95a0aab4bfcbc6bdb2a8a09992999fa3aaafb9bec4c6bfbbb0a9a19a938c80746d665c53493f332722190d0300060c111517181b171313100c0704000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a4afbbc7d4e0dacec1b4a79b8e817468544a4034281c1004000000000000000000000000030e18222a31373a3c3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3b3a37312a21180e030000010d1a2734404d5a6773808d9aa6b3c0cdd9cdc0b3a69a8d8073676b707b838d92999fa6abb1b9bbc0c5c7cbd1cbcac9c8c6c7c8c9cacccfd2d1cfcfc9c6c4bfbab8b1aca8a09e948f867e756d675e564d453b33291f160b0200000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000010b151f28343f4a545d686e7b849196a0a7afbabfc6ced4d7cec8c1bbb7b3adaba8aca49f9e9d9c9d9e9fa2aaa6abacb2b9bbc0bbb3aaa196918e939eaab6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000004101d2935404b55606d7984919ea8b2bdcbd5d7cbbfb4ab9f92877b6e61584e43342a2e3944505c66717e8a95a0acb8c3cdd6cabfb4aa9f92867b6e61574d42362a201509000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000007121f2b3844505b6675818e9ba8b4c1cedbdfd2c5b9ac9f928679675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b85929fa5afbac4cfd9d7cbc0b5aba0968e81746c61564d41382d22170d030000000000000000000000000000000000000000030d17212f3841484c4e4b46443f38342e29241d2733404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000815222f3b4855626e7b8896a1adb4b4b4b4b4b4b4a79b8e817468574e42372b1e0a0000000000000006131f2c3845515c6676838f9ca9b4b4b4b4b4b4b4b4b4b4b4ab9f9285796d6053463a2d201306000000000000010d19242f3d4a5663707d8999a3aeb4b4b4b4b4b4a99c908376685d5245392c20130700000000000000000000000000000000000000000000000006111c2a36424d576774808d9aaab4bfcbd2c5b9aca096877b6e6154473b2e211408000000000000000000000000000000000000040f19232c3845515c676f7c87929fa7b1bcc6cbbfb5aba09691868c92989ea5adb2bbc1cac2bbb3aca49f928d81786d655b50443e342b1f150b01000105090b0b0e0a070604000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfddd0c3b6aa9d908377665c5144382c1f12060000000000000000000000000006101820262b2e2f31313131313131313131313131313131313131313131313131313131313131313131313131313131312e2d2b261f180f06000000000c1926333f4c5966727f8c99a5b2bfccd8cec1b4a89b8e81756860696e79808790949d9fa7acafb5b9bbc0c2c4c6c9cfc9cacacac9cfcac6c5c3c0beb9b8b4aeaca7a09d96918a827b716c605d554c443b332920170d040000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000030d17232e38424c565f696e7b8490959ea5aeb4bcc1c8cdd4d4ccc7c5bebab8b4b6afacabaaa9aaabacaeb4b3b7b9bdc4c1bab2a9a1989184818e9ba8b5c1cedbd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000020c16202c3945515d67727f8b96a1acbac3ceddd3c7baaea3998e8174695f53463c312228343f4a54606c7883909da7b1bcc8d4d0c6baaea3988d8174695f53463c31261a0e040000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000030f1c28333f4a546673808c99a6b3bfccd9e0d3c7bbaea399867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a939ea8b2bdc7d1dcd1c7bdb2a89d938a7e70695e53493f33271f150b010000000000000000000000000000000000000009141f2933414a53585b5753504a454039352f292433404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130004101d2935404b5565727f8c98a8a8a8a8a8a8a8a8a8a7978a7e7164574b3e31261a0e0000000000000004101c2834404b5466737f8c99aaa8a8a8a8a8a8a8a8a8a8a8a89b8f8275665c5044382b1f1206000000000000000814202d3a4753606d7a86929fa8a8a8a8a8a8a8a89f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000e1a25313d4a5763707d8a98a3aebac7d3c9bdb2a8978a7e7164574b3e3024190d0100000000000000000000000000000000000b16212a36424d57606d79849199a3afb9c3cdc5bbaea39991847a80868f939ea1a9afbabfc6c5beb6afa49c938e81776c605a50473d31271d120700000000000002000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667884919eabb8c4d1dedfd2c5b9ac9f9286796d6053463a2d2013060000000000000000000000000000060e151a1f2122252525252525252525252525252525252525252525252525252525252525252525252525252525252522211e1a150e0600000000000b1825313e4b5864717e8b97a4b1becfdacfc2b6a99c8f837669575f676d737c838a90959c9fa3abacafb5b5b8b9bebcbdbdbebdbdbcbeb9b8b6b4b3adabaaa29f9b95908a847d766e69625a514c433b322921170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000006111c26303a434d575f696e7b838e939fa2aaafb8bcc2c7ccd2d4cfcac6c5c1c0bbb9b8b7b6b6b7b8babfc0c4c5c3bcb8afa8a09792867b808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000008131e2935414c55606d7985919ea8b2bdccd5d6cbbfb4aa9f92867b6e61574d42332a20232e3844505b66707d8a959fabb8c2cdd6cbbfb4aa9f92867b6e61574e42372b20150a0000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a5b2becbd8e3d7cbbfb5ab94877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a0abb5c0cbd7d9cfc3baafa59e92857b6e655b50443c31271d1207000000000000000000000000000000000000020e1a26313b45535c646764605c54514b454039352f33404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006131f2c3845515d6776828f9b9b9b9b9b9b9b9b9b9b9b95877b6e6154473b2e21140900000000000000000c18232e3d495663707c89989b9b9b9b9b9b9b9b9b9b9b9b9b988b7f7265544a3f34281c1003000000000000000613202c3945515d677683909b9b9b9b9b9b9b9b9b9b998a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000914202d3a4753606d7a86929facb9c5d2cec0b4a79a8d817467564c4135291d11050000000000000000000000000000000004101b27323a46535f69737f8c95a0abb5c0cbc5bbb0a69f92877c6f737b828a91979ea5aeb4bcc4c7c0bbaea59d938c80736c61594f43392f24180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54697683909ca9b6c3cfdce0d3c7baaea399887c6f6255483c2d22170b000000000000000000000000000000030a0f12151518181818181818181818181818181818181818181818181818181818181818181818181818181818181514120e09030000000000000916232f3c4956626f7c8995a9b3bec9d5d0c4b7aa9d918477665c555d606a6f787d83898f92999c9fa3aba8abadb3afb0b1b1b0b0afb3adaba9a7a9a19e9b98928e89837e78706c625f575045413a312920170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000a141e28313b454d575e696e79818b92989ea5abb1b9bbc0c6c8ccd2d1d2d2ccc8c6c5c3c3c3c4c5c6c9c6c3bcb8b1aca59d9691857c74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000010d1925303945515d67727f8c97a1adbac4ceded3c7baaea3988d8074695e53453b3121181c28333f4a54616c7783909da6b0bcc7d3d0c6bbaea3998e81746a5f53473c32261b0f0400000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000061824313e4b5764717e8a97a4b1bdcad7e7dcd1bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a3afbbc2ced7d5ccc0b9ada1978f82776c60584e43392f23180e05000000000000000000000000000000000005121e2a36424d57646f74716d66605c54514b45413a36404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000714202d3a4753606d79858e8e8e8e8e8e8e8e8e8e8e8e8e8377695e52463a2d20140700000000000000000714202d3a4753606d79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e887c6f6255483c2e23170b000000000000000004101d2935404b556673808c8e8e8e8e8e8e8e8e8e8e8e8e8174685b4e4135281b0e0000000000000000000000000000000000000000000000000006131f2c3945515d6776828f9ca9b6c2cfd0c3b7aa9d908477685d5246392d201307000000000000000000000000000000000713202c38444f59616e7b86929fa8b1bdc7c9beb3a99f948c7f726a696e757d848e939fa2aab2bac3ccc0b7afa59c928b7e716b60554b4035292015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e414d5a6774808d9aa7b3c0d0dbe3d7cbbfb4ab978b7e716453493f33271b0f0300000000000000000000000000000000030608090b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0808060200000000000000000714212d3a4754606d7a8797a1adb9c6d2d2c5b9ac9f9286796d605351585f656c70767c82868b8f9299999c9ea1a9a2a3a4a4a4a3a3a9a29e9c9a9897918e8a86817d77716d66615a534d453f352f281f170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020c161f29333b454d575e676d757f868f939d9fa7acafb5b9bbc0c2c4c5c7cbd1c9c9d0cac6c5c3c1beb9b8b1aca7a09d938e847c6f74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000005111d2a36414c56606d7a85929ea9b3beccd6d6cabfb4aa9f92867b6e61574d42332a1f0f17222d3842505a63707d89949fabb7c2ccd7cbbfb5ab9f92877b6e62584e43372b20160a00000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c87929fa7b1bcc5d0dbd6cabeb3a99f948c7f726a5f554b40342920160c02000000000000000000000000000000000714212d3a46535f6974817e78716d66605d55524c4641404d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000815222f3b4855626e7b81818181818181818181818181817f7265564d42362a1e1105000000000000000006131f2c3845515c67738081818181818181818181818181818181776c605346392d2013060000000000000000010d18242f3c4955626f7c818181818181818181818181818074675a4d4134271a0e0000000000000000000000000000000000000000000000000004101d2935404b5565727f8c98a9b2bec9d2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000040f19222f3b4854606b75828f98a3aebac3cfc6b9ada1978f82776c605f616b707a818a9298a1a8b1b9c3c9c1b7aea49f92877d6f675d51453c31261a0f040000000000000000000000000000000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97aab4bfcad6e2dcd1c1b4a79b8e8174655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1d3c7baaea398887b6e6155484e535b60646b6f757a7e82868a8c8f91979595969797979696949792908d8b8885817e7a75706b64605c545047423c3329241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000040d182129333b454d555d606d727b828a90959c9fa4abacafb6b5b7b9bbc0bcbcbcbbbfbab8b6b4b3adaba7a09d95918a817a6e6a74808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000030d18212d3946525e6873808c97a2adbbc4cfded3c6baaea2988d8073695e52453b3121180e111c262f3e4855616b7683909ca6b0bbc7d3d1c6bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935414c55606b73808c959faab3becad6dacfc5bbb0a69f92867c6f675c51453d32281e1308000000000000000000000000000000000815222e3b4855616e7b888a847e79726d67605d56524c464d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000814212e3a47535f696e7575757575757575757575757575726d6256443b3025190e02000000000000000004101c2934404b55636e73757575757575757575757575757575746c655b5044372b1f12050000000000000000000715222e3b47545f6a6f75757575757575757575757575746e64584c3f33261a0d00000000000000000000000000000000000000000000000000000c18242f3c4855626f7c8897a1adb9c6d2c8bbafa49a8a7d7063574a3d302417070000000000000000000000000000000a16212d39444f5963707d89949eaab4bfccc6bcb0a69e92857a6e655b535961686d757e869196a0a7b1b9c3c9bfbaaea3999184796d60584e43372b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8898a2aebac6d3e0ded1c4b8ab9e9185786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080603000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfd7cbbfb4aa978a7d7064574a41495053596063686d71767a7d8082858788898a8a8b8a8a8988868583817e7b7875716d6763605953504a423e37312a2119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000060f182129333b434b515b62696e757d83898f93999d9fa4aca9aaacafb5afafafafb4aeacaaa8a9a19e9a95918b837d746d676774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000009141f2a36424d57616d7a85929fa9b3becdd6d6cabeb3aa9f92867a6d61564d4233291f0f060a141d2c38444f5963707d89949fabb7c1d0d7cbc0b5ab9f93877c6f62584e43372b21160b000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19242f3a434f59606d78839098a2aebac1ccd6d7cdc2baaea3989083796d60594f443a3025190f06000000000000000000000000000006131f2b37434e5866737f8c96918b847f79736d68615e56534d5a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130006121e2b37424d575f62686868686868686868686868686865625b514532291f1409000000000000000000000c18232f3943525c636668686868686868686868686868686868605b53493f33271b0f0300000000000000000006131f2b37434e585f626868686868686868686868686867645c52473c3023170b00000000000000000000000000000000000000000000000000000715212e3a47535f6a7885919eabb8c4d1ccc0b6ac9a8d8073675a4d402e23180c0000000000000000000000000000030f1b27323c4955616c7683909da6b0bcc6cbbfb4aa9f948a7e71685e53494f565d616c717c849095a0a7b1bac4cbbfb4aba0968c80736a5f53473c32271b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfdfd2c6b9ada197887c6f6255493c32261b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151615130f0a04000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0d0dbd1bfb2a5998c7f726653493f3f44464f54565e6165686d707375787a7b7c7d7e7e7d7d7c7b7a787674716f6c6564605d55544f46443f38302b261f180f08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000060f1720293139404551575e616b70767d82878c90939a9a9c9e9fa3aba2a3a2a2aaa29f9d9b9897928e89847e78706b605d6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000020e1a26313a46525e6973808d98a2aebbc5cfdfd3c6baaea2988d8073685e52443b3021170d00020b1c27333d4854606b76828f9ca6b0bec7d2d1c7bbafa49a8f82756a6054473d32271b10050000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5afbac4d0d9d7cbbfb4aaa0958d80746b61564c41362a21180c03000000000000000000000000000815222e3b4754606a7784919d9e96918c857f7a736e68615e575a6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300020e1a26313c454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b585651483f3420170d020000000000000000000007121d2731404a52575a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504941382d22170b00000000000000000000030f1b26323c464e54555b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362b1f1307000000000000000000000000000000000000000000000000000006121f2b37434e586875828f9ba8b5c2ced2c3b6a99c90837669554b4034281c10040000000000000000000000000007131f2c38434f5964707d8a959fabb8c1cec7baaea3988f82766c61564d41444c525a616a6f7b839095a0a8b2bdc6c6bdb2a89f92867c6e62584e43372b1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3cfdae1d5c9beb3a9998c7f7266584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223221f1b160f07000000000000000000000000000000000000081925323f4c5865727f8b98aab4bfcad6cec2b5a89b8f8275655b504437373d44484c5254565e61646669686d6e6f7071717170706e6d6769676562605b5353514b48443d38342e261e1a150e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050e171f282f353f454d535961636b70767b7f83868a8d8f9192999595969695959892908e8c8885817c77716d6661595a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000005121e2a36424d57616e7b86929faab4becdd7d6cabeb3a99f92857a6d61564c4132291f0f0500000b16212c38444f59626f7c89939eacb6c0ccd8ccc0b6ac9e93897c6f62594f44382c21160b0000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000005111d2a36414c566773808d9aa6b3c0cdd9e2d6cabfb4aa95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28343f4a545f69717e8b939ea8b2bdc7d2dcd1c6bcb1a79f93887d70685e52463f332a1e150b00000000000000000000000003101c28343f4a54626f7c8895a0a8a19e97928c85807a746e69625f6673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000915202a333c4247484e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d230e050000000000000000000000010b151f2e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261b110600000000000000000000000a15202a343c4347494e4e4e4e4e4e4e4e4e4e4e4e4e4d4c4740382f24190e030000000000000000000000000000000000000000000000000000030f1b2631404d596673808c99a6b3bfd2d1c4b7ab9e918478675c5145382c1f1306000000000000000000000000000915222f3b4854606b7683909da7b1bccac9bdb2a89f92867b6e625a50443b3a414650585f696e7a839096a0abb4bfcbc4baaea3998f82766a6054473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99a9b3becad6e2dacfc3b7aa9d9084776a5f5447392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f2e2b272019100a00000000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3d1c5b8ab9e9285796c605346392d32383a4146474c52545759565e61626263646464636361605d555a58555350494745403a38332b28231c140c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000050d161d2429333b42464f55596063696e72767a7d8082848687888989898888878583817f7c78746f6a64605c544f5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000040e19222d3a46535f6974818d98a3aebcc5d0dfd3c6baada2978c8073685e52443a3020170d00000005101b27323d4754606a75828f9aa4afbbc7d1d2c7beb0a69c8f82766b6054483d33271c0b0200000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000020c13202d3946525e6876828f9ca9b5c2cfdcdfd3c6baaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c75818e96a1abb5c0ccd7d8cfc3bbafa49a91857a6d615a50453c30271c1207000000000000000000000006121f2b3844505c6673808d9aa8b1ada9a19e98928d86807b746e696673808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d20130000030e18212a31373a3b42424242424242424242424242423f3d3a342d241b1100000000000000000000000000030d1c262e353b3f40424242424242424242424242424242413937332d261d140a000000000000000000000000040e19222a32373b3c42424242424242424242424242413f3c362f261d1208000000000000000000000000000000000000000000000000000000000a1824313e4b5764717e8a97acb6c0ccd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000005111d2a36414c56636f7c89959fabb9c2cdc5b9aca0968c8073695f53483e3230353e464e565e686e7b849199a3aebac3cbbfb4ab9f94887c6f62564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3c4956626f7c8997a1adb9c6d2dfded1c5b8aca095887c6f62554b4035291d1207000000000000000000000000000000000000000000000000000000000000000000000000000000071019222b32383b3c3b38322b221c1306000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2d2c6b9ada197887b6e6255483b30272c3036393a4146474a4d4c525455565757585757565553514b4e4b4846443f3a39352f2c271f1c17171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000040c1218212931363e44484f54575e6165686d70737677797b7b7c7c7c7c7b7a797775726f6c6562605853504a4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000a15202b37434e58616e7b86929faab4bfced7d5c9beb3a99f92857a6d60564c4132291e0e05000000000b16212b37434e58626f7c87939fabb5c0cbd7d0c1b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000020b141e28323a4754616d7a86929facb9c5d2dfdfd2c5b8ac9f928579695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d7a849199a4afbbc2ced7d8ccc0b6aca1978f82756d62574d42392e23180d04000000000000000000000713202d3a4653606d7985919eabb8b9b3adaaa29f98928d86817b756f73808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d2013000000060f1820262b2e2f353535353535353535353535353532312e29231b120900000000000000000000000000000a141c242a2f3233353535353535353535353535353535352d2b27221b140b020000000000000000000000000007101920262b2e2f353535353535353535353535353433302b241d140b01000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4c8bbafa49a887b6e6255483b2f2215080000000000000000000000000713202d3946525e6875828e9ba7b1bccbc8bdb2a89e9184796d60574d42362c2429343c444d565e696f7c86929fa7b1bcc8c6bdb0a69a8e8174685d5245392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabb8c5d0dbe0d4c8bcb1a79a8d8074675d5145392f23180c0200000000000000000000000000000000000000000000000000000000000000000000000000020c19232b343d43474947433d342e2517110a02000000000000000000000000000006121f2c3844515c6676838f9ca9b6c2d1d6cabeb3a9988b7e7265564c4135291e252a2d3035393a3d4041464748494a4b4b4a4a4948474540413e3c3937332d2c29241d1c1f22232323201c160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000001070f171f252a33383d44484d5254565d60636769666d6e6f6f706f6f6e6e686a686562605b53544e46443f4d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000000030f1b27323a47535f6a74818e99a3aebcc6d0ded2c6b9ada1978c7f72685d52443a3020170d0000000000040f1b27323d47535f6a75818e99a3afbbc6d1d3c7bbb0a69c9083766b6055483e2f261c1106000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000001070b141d26303a44505a65727e8b99a3afbbc7d4e0ddd0c3b7aa9d9083776a564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45525d686f7d87939fa7b1bcc5d0dbd2c7beb3a99e938b7e71695f544a4034281f160c01000000000000000004101d2935404b5563707d8997a1adb9c5beb9b4aeaaa39f99928e87827c75808d99a6b3c0ccd9dfd2c6b9ac9f9386796c605346392d201300000000060e151a1e212228282828282828282828282828282524221d181109000000000000000000000000000000020a12191f23262728282828282828282828282828282828201f1b17110a02000000000000000000000000000000070e151b1f2222282828282828282828282828282726231f19120b0200000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2ccc0b6ac96897d7063564a3d3023170a0000000000000000000000000714212e3a4754616d7a86929facb9c2cdc5b9aca0968a7e71675c51453c312419222a323b444d565f6a727f8c95a0acb8c4cfc2b8ac9f92867a6d6054473a2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6675818e9baab4bfcad6e2d9cec3b8ab9e9285796d60554b4034291e1308000000000000000000000000000000000000000000000000000000000000000000000000000a141e2b353d464e5456544e463f3728221c140b030000000000000000000000000004101c2834404a546673808c99abb4bfcbd7cfc2b5a99c8f8276685d5245392c20191e2025292d2e313035393a3b3c3d3e3e3e3d3d3b3a38352f322f2d2b2722201d1821272c2e2f302f2c27211a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000050d141a21282c33383b4246474c5254575a545c6061626263636262615e565b595553504948433d38414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000006131f2b37434e58626e7c87939fabb5bfced8d5c9beb3a99e9285796d60564c4132281e0e050000000000000a15202b37434e58626e7b87929fabb4bfcbd7ccc2b7ab9f94897d70635a5042382d22170b000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0e0202020202020202020202020200000305060a0f12181d262f38414c56616c7683909cabb5c0cbd7e3dbcec1b4a89b8e8175685b4e423025190e0200000000000000000000000000000000000000000000040404040404040404040404040404040404040404040404040404040404040404020c17212935414c56606b73808c959faab4bfcad6d9d0c4bbafa59f92867b6e665c51443d31281e1308000000000000000006131f2c3945515d6774818e9ba9b3bec9cac5bebab4aeaba39f99938e8882828f9ca8b5c2cfdbdfd2c6b9ac9f9386796c605346392d2013000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c06000000000000000000000000000000000000070e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1a1a17130e08010000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1d2beb1a5988b7e7265584b3f3225180c000000000000000000000004111d2935414c5565727e8b99a3afbbc7cbbfb4aa9e9184786d60554b40332a1f12192029323b444e58606d7883909da8b2bdc9c7baaea2988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717e8a98a2aebac6d3e0dfd2c6b9ada2978c7f72675c51453a3025190d04000000000000000000000000000000000000000000000000000000000000000000000006111c26303d474f5860626058514940332d261d150c03000000000000000000000000000c18232e3d495663707d8999a3aebac7d3d2c5b9ac9f92867a6d6054473c31261a1113191d20212425292d2e2f2f3031313130302e2d2c29242522201f1b171319222b32383b3c3d3c38332b261f19130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000003090e161c21272c30363a3b4145474a4d4a50535455565656555554524c4e4c4846443f38383234414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000000020b1a232e3b4754606a75828f99a4afbdc6d1ded2c6b9ada1978c7f72675d51433a2f20160c00000000000000040f1b26313c47535f6974818e99a3aebac6d0d3c7bcb0a69d9083776c61544a3f33281c11060000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b0f0f0f0f0f0f0f0f0f0f0f0f0f0f060b0f1213151b1d24292f384149525d68717e8a949fabbdc7d1dce1d5c9bdb2a8988b7e7265584b3f322518090000000000000000000000000000000000000004080a0a11111111111111111111111111111111111111111111111111111111111111111111110f19242f3a444f59606d78839098a2aebac1ccd6d6cdc1baaea2989083786d60594f433a2f24190f05000000000000000714202d3a4753606d7985929facb8c4cacfd0cac6bfbab5aeaba49f9b948f8f949eaab7c3d0dcdfd2c6b9ac9f9386796c605346392d201300000000000000020608080f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b090501000000000000000000000000000000000000000002070a0c0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e06050300000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0e0d0b0703000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfcdc0b3a69a8d8073675a4d4034271a0600000000000000000000000613202c3945515d6776828f9cabb5c0cbc7baaea3988b7e72665c5043392f21180e0e172029323c44505c66717e8a96a1acb9c5cabfb4aa9c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb8c3ced9e2d6cabeb3a99e9185796d60564c41352920160b02000000000000000000000000000000000000000000000000000000000000000000030d17232e38424f59606a6f6a635b52443f382f271e150d040000000000000000000000000714202d3a4753606d7a86929facb9c5d1d3c7bbaea3998b7e7164584e43372b1e13080d11131417191d2021222324242524242322201f1d18181513120f0b16212b343d4348494a48443d373129241e17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b10161c1f252a2d3035393a3d403f444648484949494948474641423f3c3937332d2c2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000000000a141d2c38444f59626f7c88939eabb5c0cfd8d5c9bdb2a89e9185796d60554b4031281e0e0400000000000000000a15202b37424d57616e7b86929faab4bfcad6cdc2b8ab9f958a7d70665b5044382e23170b0000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134271b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1c171b1f2022272b2f353c424a535b606d7a85919ea6b0bccfd9e3dfd2c5b9ada196887b6e6255483b2f2215080000000000000000000000000000000000050b101416171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1e28323d44505c666e7b86929fa5afbac4d0d9d6cabfb4aa9f958d80736b60564c41352921170b020000000000030f1c28333f4a5464717e8a98a2aeb5b9bec5c8ced0cbc6bfbbb5afaca69e9c9c9ea6b0bbc7d3dfdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f414d5a6774808d9aa7b3c0cdcec1b5a89b8e8275685b4f422e23170b00000000000000000000000714212d3a4754606d7a86929facb9c5d1c5b8ac9f92867a6d60544a3f31271d0f06050e172028343f4a54606d7984919eabb7c4d0c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba7b1bcc8d4e1dbcfc5b9ada1978b7f72685e52463d32281d140a0000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a54606b6f7c726d635c504a423930271f160d0500000000000000000000000613202c3945515d6775828f9cabb5bfcbd7cbbfb5ab9c8f82766a5f53473a3025190d03050707080d1113141516171818171716151413100c07090605030f1b27323d464e545656554f47423c352f28231c140c090300000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000050b10141a1e2024292c2d302e34383a3b3c3c3d3c3c3b3b393630322f2d2b27221b2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000000006111b262f384854606b76828f9ca5afbdc7d2ded2c5b9ada1968b7f72675d51433a2f1f160c000000000000000000040e1a26313c46535e6974808d98a2aebac5d0d4c8bcb1a79d9083786c60544a3f34281d120700000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4134282828282828282828282828282828282822272b2d2f32373940454e545b656c75818e97a1adb8c2cde1eaded1c4b7ab9e9184786a5f53473a2e211408000000000000000000000000000000000810171c2023242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28343f4a545f69717e8b939ea8b2bdc7d2dbd0c6bcb1a79f93877d6f685d52453e33291d140a000000000006121f2b3844505b6675828f9b9fa3abadb3b8bcc3c9cfd1cbc7c0bbb9b0aaa8a8aab0b8c1ccd7e3dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0d0e0e0d0d0c0b0b0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1becbd0c3b6aa9d9083776a544a3f34281c1003000000000000000000000a1623303d495663707c8999a3afbbc7cec1b5a89b8e8275685d5242382e1f150b0000050e17232e3844505c6673808d99abb5c0cbc6baaea298887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55636f7c8995a0acb8c5cfdbe1d5c9beb3a99e92857a6d61594f443a2f261b11060000000000000000000000000000000000000000000000000000000000000007121d27313944505c666f7d867f736e605b544a423931281f170e050000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d1c6b7ab9f94887c6f62564c41362a1f1509000000000105070708090a0b0b0b0a0a08070604000000000007131f2c38434e586062636059534d45413a342e261e1a140d07010000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002090e1114191d20212423282c2d2e2f2f30302f2f2e2d2a252622201f1b171a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000000b17222d38414f59636f7c89949faab7c1d0d9d5c9bdb2a89e9184796d60554b4031281d0d040000000000000000000009151f2a36424d57616e7b86929faab4becad6cdc3b8aca0958a7e71665c5044392e23180c01000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e413535353535353535353535353535353535352d3337393b3e43474b51585f666c77808d939ea9b3becad4dee1d3c7bcb0a6998d807366574e42372b1e120600000000000000000000000000000008111a22282d3031373737373737373737373737373737373737373737373737373737373737373737373737373737372e38424d57626c75818e96a1abb5c0ccd7d8cec3bbafa49991847a6d605a50453b2f261c1106000000000613202d394653606c7882898e92999ea1a9acb1b9bec4cbd0d2ccc7c1bbb7b5b5b7bbc1cad3dee9dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050708090e121415171819191a1b1b1a19191817171513120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcd2d2c5b8ab9f928578665c5044382b1f1206000000000000000000000c1926333f4c5966727f8c99abb5c0cbcabfb4aa988b7e7165564c4130261c0d0300000006111c28343f4a5463707d8999a3afbbc7cabeb3aa988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4854606b7784909da9b3becad6e1dacfc4b9ada1978e81746b60564c41382d221712060000000000000000000000000000000000000000000000000000000000071318242f39434d57606d7883908c80746c665c544b433a312920170f05000000000000000000010d18242f3a4754606d7a86929facb9c5d0d3c7bbb0a69a8d8174685e52463c31261a0f060000000000000000000000000000000000000000000000040e1a232e3b4854606a6f706b625f57524c443f38302a261f18130c0400000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201e19191513120f0b1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000000030f1b27333f4953616b7683909ca6b0bbc9d3ddd2c5b9aca0968b7e72675c5143392f1f160c0000000000000000000000030e1a25313b46525e6873808d98a2aebac5cfd4c8bcb1a79e9184786d60544b4034281d1207000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e42424242424242424242424242424242424242433f4446484b4e54555d606a6f78818d929da5afbbc4cfdce3d9cfc7b7ab9f94887b6e6255483c31261a0e02000000000000000000000000000005101a232c33393c3d4444444444444444444444444444444444444444444444444444444444444444444444444444444444444445505a606d7a849199a4afbbc3ced8d7ccc0b5aba1968e81756c61574d42382d22170b0200000006121f2b3844505b666c767c81868d92979da0a7adb2babfc6ced7d4ccc7c3c2c2c3c7ccd3dce5efdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d111414181a1e21212425262627282727262525242322201f1c17171413110d0804010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895acb6c0ccd3c6baada29786796d6053463a2d201307000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c6baaea298887b6e6255483b2f22140a00000000000c17232e3a4754606d7a86929facb9c5d0c0b3a79a8d8074675a4d4134271a0e010000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b97a2adb9c5cfdae1d6cabeb3a99f93887c6f685d53493f33272417110a0200000000000000000000000000000000000000000000000000030b1218252935404b555f69727f8b95928d80786d665d554c433a322921170f050000000000000000000713202c3945525d6876828f9ca9b3becad6ccc2b8ac9f92867a6d61574d42372b21180d04000000000000000000000000000000000000000000020c16202c38434e58626f7c7d756e69605d56504a423d363129241d160d04000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000001040707060c101213151516161616151414110d08090605030e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000000005121f2b3744505b65707d89949fabb8c2ccdbd4c8bdb2a89e9184796d60554b4031271d0d0400000000000000000000000009141f2a36414d56616d7a85929fa9b3becad6cec3b8aca0968b7e71665c5145392f24180c010000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4f504950535557586062676d737c828e939da4aeb7c1cdd6e1dcd1c7bdb0a69c9083766a5f53473a2a2015090000000000000000000000000000000b17222c353e44494a505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050525d68707d87939fa7b1bcc6d0dbd2c7bdb2a89e938a7e71695e544a3f33281d140a000000030f1c28333f4a545b606a6f757b80858b91959ea1a9aeb4bcc2cbd1d8d3d0cfcfd0d3d7dee5eeecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1315191e202125252a2d2e303232333434343333323131302f2d2b28222321201d1913100d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a879aa4afbbc8d4cabeb3a993867a6d6053473a2d20140700000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579695f53473a2e21140200000000000613202c3945515d677884919eabb7c4cec1b4a89b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b27323d4754606d7a85929ea9b3bec9d5e0dacfc5bbafa49a91847a6d655b50443f3627221b140b050000000000000000000000000000000000000000000000050c151c2328373f45515d676e7b86929f9c928d81786d675d554c443b332921170d03000000000000000004111d2935414c5665717e8b97a2adbac7d2d3c6baaea2988d8074695f53473f33291f160c03000000000000000000000000000000000000000008131e28323a4854606a768289827b736d68605c544f46423b352f281f160c010000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a0909080807050100000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000000030f1c28333f4a54606c7883909da6b0bbcad3ddd1c5b8aca0968b7e71665c5143392e1f150b00000000000000000000000000030e1925303b46525e6873808c97a2adb9c4cfd4c8bdb2a89e9184796d60554b4035291d13070000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d8174675b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5c535b606264676a6f7479808790949da5aeb7c0c9d3dfddd7cbc0b5ab9f94897d7063584e43372b180e03000000000000000000000000000004101c28333e475055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606b73808d959faab4bfcad6d9d0c4baafa59f92857b6e665b50443d2f261c11060000000b17222d38424a50586062696e73797e838b91979fa3aab1bbbfc6cfd6dcdbdbdcdfe3e9eff7ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151b1f22252a2d2e3131363a3b3d3e3f4040414140403f3e3e3d3b3938332d302d2c2924201d1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2d0baada094877a6d6154473a2e21140700000000000000000004111e2a3744515d6a7784909daab7c3d0c4b7ab9e9184786b574d42372b1e1206000000000004111d2935414b556a7784909daab7c3cfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d67727f8c97a1adb9c4cedae1d8ccc0b6aca0968f82776c605a50483e332d261d160e090300000000000000000000000000000000000000040a0f171e272e343f49515b606d79839098a2a49d938e82796d675e564d453b33291f14090000000000000000010d1924303a4753606d7a85929fabb5c0ccd6cabfb4aa9f92867b6e615a50453b31281e150c0400000000000000000000000000000000000108131924303a444f59626f7c89948f86807a726d666059534d45413a31281d13070000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000000010b151f2b3844505b66717d8a959fabb8c2cddcd4c8bcb1a79d9184786d60544a4030271d0d03000000000000000000000000000008141f2935414c56606d7a85929ea9b3bec9d5cec3b9aca1968b7f72675d51453a2f24180d0200000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817468686868686868686868686868686868686868686868696a656c6e7174777c81858d92999fa6afb7c0c9d2dbded5cbc3bbafa3998f82766b6054463c31261a060000000000000000000000000000000814202d3944505a61646a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d78839098a2aebac6d3e0d6ccc1baada2979082786c60584e42382d22170b00000006111c262f383f444e54575e61676d71787e848c92989fa7aeb5bdc4ccd4dde5e9ebeff4faf9ecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20272b2e3036393b3e414246484a4b4c4c4d4e4e4d4c4c4b4a4a4846443f3f3d3a39352f2c29241d1c160f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667885929eabb8c5d1c7bbaea194887b6e6155483b2e22150800000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d504431261a0e020000000000010d18242f43505c6976838f9ca9b6c2cfc3b6a99d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55606d7985929ea8b2bdc9d5dfddd2c7beb2a89e938c7f726c625a50443f382f28201a150e0904000000000000000000000000000001050a0f151b212930394044515b636d75818e95a0aaaea59e948f82796d685e574d453b30251a0e0200000000000000000813202c3945515d6773808d99a4afbbc7d4d0c6bbaea3998f82756c62574d433a30271e160d07000000000000000000000000000000040c1319252935414c56616b75828f9c99928d857e78706b615f57514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000000007121d2834404a54606c7883919da7b1bccad4ddd1c5b8aca0958a7e71665c5042392e1e150b000000000000000000000000000000020d1925303a45525d68727f8c97a1adb9c4cfd5c9bdb2a89e9184796d60554b4135291e130800000000000000000f1b2835424e5b6875818e9ba8b4c1cedbdacdc0b4a79a8d817575757575757575757575757575757575757575757575767777797b7e8083888d92979fa3abb0b8c0c9d2dbded5ccc3b9b1a79f92877c6f62594f44332a2015090000000000000000000000000000000a1623303c4955616c707777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777b85929facb8c5d2dfded6cabeb3a99f948c7f726a60544a3f33281c0f030000000a141d262d333d43474d52555d60656c7179808690959fa3abb2bac2cbd3dbe5edf6fffff9ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a1d24292c32373b3c4146474b4e4d5354575859595a5b5a5a59585857565553504a4c4a4745413a39352f2c27211a150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1c8bbaea295887b6f6255483c2f22150900000000000000000004111e2b3744515e6a7784919daab7c4d0c4b7aa9e9184776b564c41362a1e1105000000000000071d293643505c6976838f9ca9b6c2cfc4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a45515d67727f8c96a1acb9c1cdd6e1d9d0c4bab0a69f93887e716c615a5049413a322b26201a15100c070604010001000100020507080d11151a20272b333b424a515b636d727f8c939ea7b1b7afa69e9490837a6e695e574d42362a1e1205000000000000000004111d2935404b55616e7b87939facb9c1cfd7cbbfb5ab9e948b7e71695f564c423930281f18120b060000000000000000000003060b0d161e2429373f45525d68707d8a949ea39f97928b837d756e69605d554b4135291d110400000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000000000c18232f3844515c66717e8b95a0acb9c3cddcd4c8bcb1a79d9083786c60544a3f30271c0c030000000000000000000000000000000008131e2935414c56606d7985919ea8b2bdc9d5cec4b9ada1978c7f72675d51453a3024190d02000000000000000f1b2835424e5b6875818e9ba8b4c1cedbddd1c4b7aa9e9184818181818181818181818181818181818181818181818283838485888a8d90959a9fa2a9aeb5bdc2cad2dbded6ccc3bab1a79f958c80736a5f53473d3321180e030000000000000000000000000000000a1724313d4a5764707e8383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838385929fabb8c5d2dee6dbd0c5bcb0a69f92877c6f665b5044382b1f1206000000020b141c222832373b42464b51535b60676d737b838c9299a1a8b1b9c1c9d3dbe5edf7fff9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13191f252a2f35393d4347494c5254585b575e616365656667676766666564646362605b54595654514c4745403938332b262019130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e44515d6a7784909daab7c3d0c8bcafa295897c6f6256493c2f23160900000000000000000003101d293643505c6976838f9ca9b6c2cfc5b8ac9f928579685e5246392d20150a000000000006121e2b37424e576a7784909daab7c3cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2935404b55606d7984919ea5afbbc4cfdae2d6ccc1bbafa49a92877e716c605b534c443e37312b261f1d181413100d070d0d0e080e111414191d20262b32373e454d545c606d727f8c919ca5afb9c1b8b0a69f9590837b6e695e52463a2d2014070000000000000000010d18242f3a46535f6975828f9ba5afbdc6d1d1c6bdb0a69f92867b6e685d544b433a3128231c17110d08070706060708090a0f12161c1f282f353f49515b606d7a84919ea6aea9a19e959089827b736d675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000000004101c2934404b55606d7984919ea7b1bccbd4dcd1c4b8aca0958a7d71665b5042382e1e150b0000000000000000000000000000000000020d19242f3a45515d67727f8b96a1adb9c4ced5c9beb2a99e92857a6d60564c4135291e1308000000000000000f1b2835424e5b6875818e9ba8b4c1cedbded2c5b9aca096918e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f90919298979a9da0a7abadb3bbbfc6cfd4dcdad5ccc4bab2a8a0959083786d60584e43352b210f06000000000000000000000000000000000b1825323e4b5865717e8b9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909297a2adbac6d3dfece1d7cec2bbafa3999184786c605346392d20130600000000020a111720272b30363940454950555d60696e787f8791969fa7afb7c1c9d3dbe5eef7ffecdfd2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e242931363a4045474e5456565e6164676a696e707172737374747373727171706e6c66686563605d5553514b48443d373129241e160e07000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3743505d6a7683909da9b6c3d0c9bcafa396897c706356493d3023160a000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6baaea298877a6e6154473c31261b1108020000020a14212e3a47535f6a7885929eabb8c5cec1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3945515c67707d89939da9b3bec9d5dcded8ccc0b6aca39992877e736c655e565047433c37312c292420201d181b1a1a1b1b191e2021252a2d31373d434750575e666d737f8c919ca3adb7c1cac1b8b0a7a09591847b6e6154483b2e21150800000000000000000007131d2a36424d57636f7c89939eabb5bfcbd7cfc1baaea29891837a6d665c554b433c342e27221b191514131213141415171a1f21272c313a4145515b636d75818e97a1adbbb3ada7a09d938f8680796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000000020c16202c3845515c67727e8b96a0acb9c3ceddd4c8bcb1a79d9083786c60544a3f30261c0c0300000000000000000000000000000000000008131e2935404b55606d7984919ea8b2bdc9d5cfc4b9ada1978c7f73685d52453a3025190d020000000000000f1b2835424e5b6875818e9ba8b4c1cedbe1d5c9bdb2a8a09e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c9d9e9fa2aaa7aaacb1b8babec5cbd1d8dfd6cfc9c0bab2a8a09690837a6d665c51463c3223190f00000000000000000000000000000000000b1825323e4b5865717e8b989d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa2a9b3becad6e2eee9e0d7cbc0b5aba09686796d6053463a2d201307000000000000060b161b1f252a2f35383f444b51575f666d737c8490959ea5afb7c1c9d3dce5f0f9ecdfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c23282f353b42464b515358606266686e717476787b7d7e7f7f808181807f7f7e7d7d7b79777472706d6764605d55554f47433c353028201910070000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc9bdb0a3968a7d7063574a3d3024170a000000000000000000010e1a2734414d5a6774808d9aa7b3c0cfcabfb4aa988b7e7165584e43372b2319130e09090b141d27303b4855626e7b8897a2adb9c6cdc0b4a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2934404b55606b74818e97a1adb9c0cad3deddd2c7beb5aba399928b80776d68615a534e47423c38352f2d2c29242727272728252a2d2e3036393c43474e545a61696e78808c919ca3adb5bfc9d3cac2b9b0a69e91847a6d6053473a2d201407000000000000000000010e1a26313b4854606b75828f99a3aebbc5cfd6cabfb4aaa0958f82786d675d554e444039332d2a252221201f2021212224262b2e33383d434c515b626d727f8c939ea9b2bebeb9b1aca59e98928a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000000008131e2935414b55606d7984919ea8b2bdcbd5dcd1c4b8ab9f958a7d70655b5042382d1e140a00000000000000000000000000000000000000010c18242f3945515c67717e8b96a0acb9c3ced5c9beb3a99f92857a6d60564c41362a1f14090000000000000f1b2835424e5b6875818e9ba8b4c1cedbe5d9cec4bab2acaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9aaaaacaeb4b3b7b8bcc3c6cad0d7dbd6d3cdc4bdb9afa8a19691847a6e685d544b40342a20110700000000000000000000000000000000000b1825323e4b5865717e8b98a4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc5d0dbe6f2f2e8dcd1c7bdb2a89386796d6053463a2d20130700000000000000040a0f141a1d24292d333a40454d545c606a6f7a838e939ea5afb7c1cad3dee8f2ecdfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e262e343a41454d53555d60656a6f73777a7e818385878a8b8c8c8d8e8d8d8c8b8b8a89888583817f7d7a75716d67636059534e46413a322b2219110800000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926323f4c5965727f8c98a8b2bdc9d0c2b5a89c8f82756a5f53473f352a251e1a1818191d262e39434f5965727f8b98a9b3becaccc0b6ac998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232f39434f59616d7a85919ea4aeb8c1ccd5dfd9d0c7bdb5aba39f928c817a706c625f58534d4745403c3a39352f34343334353036393b3d4146474e535860626c707b838d929ca3adb5bfc7d1d7cbbfb4ab9f948a7e71675d5145392c2013060000000000000000000009141f2c38434f59626e7b86929fa9b3becad6d0c5bcb1a79f948f81796d675f58514a443f3836302f2d2d2c2d2d2e2f3131373a3d44484f555d606d727f8b919ca5afbbc4c9c3bcb8afa79d9083786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000000010d1924303945515d67727f8c96a1adbac4ceddd3c7bbb0a69d9083766b6153493f2f261c0c02000000000000000000000000000000000000000007121d2834404b55606d7884919ea7b1bcc8d4cfc5baada2978d8073685e52463b30251a0e0300000000000f1b2835424e5b6875818e9ba8b4c1cedbe7e0d5ccc4bdb9b7b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b5b6b6b7b8babfc0c3c5c8ced3d6d9d4d0cac6c1bbb2ada59d9691847b6e685e564c42392e22180e0000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b8babec5cdd7e1ecf7f9eee3d9cfb9aca09386796d6053463a2d20130700000000000000000002090e12181b22272f353c424a505860686e79818e939ea5afb8c1ccd6e0eaf4dfd2c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117212930383f444c52575e61676d72777c8083878b8e909298969898999a9a9a9999989797969892908e8c8986827e7a75706b625f58524c443c342b231a1108000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000915222f3c4855626f7c8896a1adb9c5d2c5b9ac9f92877c6f625a50473e36302b262525252a2f38404b55606b7683909da9b6c3cfc8bbafa49a8a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d46525d68707e8a929ca6b0bac3cdd6dfd9cfc6bdb5aea49c938f857d756e6a625f5753514b49474540424140404142434146474a4c5254585f626a6f767e8590959da4adb5bfc7d1d4cbc2baaea3998f82766c61554b4035291d110400000000000000000000030f1b27323d47535f6974808d97a2adb9c0ccd5cec3b9b0a69e938f82796f6a605c54504946413e3c3a3a38393a3b3c3d404347484f545960676d757f88939fa3adb7c1cdd5ccc3b8ab9f958a7d70655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000000005111d2935414c56606d7a85929ea9b2bdccd6dcd0c4b7ab9f94897d7063594f41382d1d140a000000000000000000000000000000000000000000010c18232e3944505c66717e8a95a0acb8c3cdd6cabeb3a99f92867a6d61574d42362a1f140900000000000f1b2835424e5b6875818e9ba8b4c1cedbe3e7ded5cec9c5c4c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c2c3c4c5c6cad0d0d1d4d6d3d2cec8c6bfbab8afa9a19e938e847b6e695e564c443a30271d10060000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c6cad0d7dfe9e3e3e3e3ead3c6b9aca09386796d6053463a2d201307000000000000000000000001070c11171d242930383f444e565e676d78818e939ea6b0bac4ced8e2e3dfd2c6b9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227333b424a50565d60696e747a7e83898c90939a9a9d9fa2aaa4a5a6a6a7a7a6a6a5a4a4aaa29f9d9b9898928f8a86817d766e6a615d564e463d352c231a110700000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfcabeb1a4978b7e7164584b3e3125180b000000000000000000000815212e3b47535f6a7884919eabb8c4cfc7bbafa3998f82756c62595046413a3731323130363a4149515c67707d89959fabb8c4d2c6b9ac9f93877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2935414c56616c73808d949ea8b2bbc4cdd6dfd8cfc6bfbbaea59e97928a827b746e6964605d555653514b4e4e4d4d4e4e4f4d525457565e61656a6f757c828a92979fa7aeb6bfc7d1d6ccc2b9afa59f92867b6e625a50433a2f24180d0100000000000000000000000a16212b37424d57616d7a85929ea5afbac3ced5cbc2b8afa59e948f847c726d66605b53524c4b48474644464747484a4c4e53555960636b707a818b939aa4afb5bfc9d3cfc3baafa59d9083766b6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000000030d17212d3946525d68737f8c97a1adbbc4cfded3c7bbb0a69c9083766b6054473e2f261b0b020000000000000000000000000000000000000000000007121d28343f4a54606c7883919da7b1bcc8d4d0c5baaea2988d8073695e52463b31261a0e03000000000f1b2835424e5b6875818e9ba8b4c1ced6d6d6d6d6d9d5d2d1cecececececececececececececececececececececececfd0d1d2d3d3d2d1d0d0cbc7c5c3bdb8b4aeaca59e96918a817a6e695f574d443b32281e150b000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d6dbd6d6d6d6d6d6d6d6d3c6b9aca09386796d6053463a2d2013070000000000000000000000000000060b13181e262e343d444d555c666d78818e949ea8b2bcc6d0dcd6d6d2c6b9ac9f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141d262d333e454d545c60686d737b80858b9095999d9fa4aca9abaeb4b1b2b2b3b4b4b3b2b2b1b0b4aeacaaa7aaa39f9b98928e89827c746d6860584f473e352c23190c0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfcabdb0a3978a7d7064574a3d3124170a0000000000000000000006121f2b37434e586774818e9aa8b2bdc9cbc0b5ab9e948b7e716b615a524c4742403f3e3f42464c535b606d7983909da7b1bcc8d0c3b6aa9d908377685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1924303a44505a606c78828f96a0a9b2bbc4cdd6ded8d1cbbfb7afa9a19e938f87817b76716d676662605d555b5a5a5a5a5b5c565e616466686d72777c81878f949ea2a9b1b9c0c8d1d5ccc4bab1a79d938b7f72695f53483e31281d1307000000000000000000000000040e1a26313c46525e68717e8a939da8b2bcc6cfd4cac1b8afa69f9691867f79706c65615e565755545350535454555759585f62666b70767d848e939fa4acb6c0c7d1d1c6bcb2a89d93897d7063594f41382d22170b0000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e2215080000000009141f2a36414c56616d7a85929fa9b3becdd6dbd0c3b7ab9f94897d7063594f44352c1d140a0000000000000000000000000000000000000000000000000c17232e3844505b66717d8a95a0abb8c2cdd6cabfb4aa9f92867b6e61574d42362a201509000000000f1b2835424e5b6875818e9ba8b4c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9d1cbc7c5c4c3c1bfbab8b6b2acaaa29f9a938e847d746d675f574d453b322920160c03000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9aca09386796d6053463a2d20130700000000000000000000000000000001070c141c2328323b434b545c666d78828f96a0aab4bfcbc9c9c9c9c6b9ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f4450575e666d727a80868d92989da0a7aaacafb6b6b8babebebfbfc0c1c0c0bfbebebdbfbab8b6b4b4aeacaaa29f9b948f87807a6f6a60594f473e352b1e150b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023170a00000000000000000000030f1b26323d4a5764707d8a96a1adb9c3cec7bdb0a69f92877d716c615e56534d4c4b4b4c4d52565e656c74808d95a0abb9c2cdc7bcb1a7998c807366564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e44505b666d7a849197a1a9b2bbc4ccd4dcdcd7c9c1bbb3ada59e99928e88837e7976726f6d6769686767666768696a686e7073767a7f83888e939a9fa6adb3bbc2cbd2d4cbc3bab2a89f958e81746d62574d42362c1f160c010000000000000000000000000009151f2935414c56616c74818e96a0aab4bdc7d1d3cac1b8b0a8a098928c847d78726e6866646260605c606061626466686a6f73777d838991969ea5afb6bec7d2d7cbbfb4aaa0968e81746b6054473e2f261b11060000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e221508000000020e1a25313946525e6873808d98a2aebbc5cfd6d3c7bbb0a69c8f82766b6054473d33231a0b0200000000000000000000000000000000000000000000000006111c28333f4a54606c7883909da6b0bcc7d3d0c6baaea3988d8174695f53463c31261a0e040000000f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbfbab9b8b7b5b4aeaca9a8a09e98928e88817a706b605d554d453c332920170e0400000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9aca09386796d6053463a2d2013070000000000000000000000000000000000020a111720293139424a545c666d7a849198a3aebabdbdbdbdbdbdb9ac9f9386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730384149505a61696e787f858d92989fa2aaacb1b6b9bbc0c3c5c6cad0cbcccdcdcdcccccbcad0cac7c5c3c1bfbab9b4aeaca69f99928d857c706b61594f473d30271d1207000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa296897c6f6356493c3023160900000000000000000000000a13202d3a4653606d7984919ea8b2bdc8cfc1bbaea39992867e746d68615f5759585859565e61686d77808c929da7b1bccbd0c7b7ab9f95897c6f6356493c3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028333f4a545d686e7b859197a1a9b2bac2cad5dadbd3cdc5beb9afaba39f9b948f8a86827f7c7a78767574737374757676787a7d8082868b90959b9fa4acb0b9bec5cdd4d6cbc2b9b1a8a1969083786d605b51453c31241a0d040000000000000000000000000000030d1925303a44505a606d79849198a2abb5c0cbd1d3cac2bab2aaa39f96918a847f7a7773716f6d6d666c6d6e6f707375777b7f838990949ea0a8afbbc0c7d0d8c8c0baaea3989184796d60594f44352c1d140a000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddad4c7bbaea194887b6e6155483b2e22150800000005121e2a36424d57616e7a86929faab3becdc9c9d0c7b7aa9e94897c6f62594f44352b21110800000000000000000000000000000000000000000000000000000b17222d3844505b65707d8a949fabb7c2ccc9cbbfb4aa9f92867b6e61574e42372b20150a0000000f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb4aeacabaaa8aaa39f9c9996918b86817c756d686159514c433c332a21170e050000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0aca09386796d6053463a2d20130700000000000000000000000000000000000000060e171f272f38424a545d686f7c86929fa7b1b0b0b0b0b0b0b0ac9f9386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039424a535b606c707b828b92979fa3aaaeb4b8bcc3c6c8ccd2d0cfcac6c5c4c3c2c2c2c3c4c5c6cad0d0d0d1cbc7c5bfbab8b0aba39f9792867d706c61594f43392e23180c040000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f221609000000000000000000000006131f2c3845515c67717e8b96a0acb9c1cccbbfb5aba298928a807a736e69676665646667696e727a818c929ca4aeb9c3cdc7bdb0a69d9083766b6054483b2f1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17222d38424c565f696e7b859196a1a8b0b8c0c9cfd6dfd6cfc9c1bdb5afaca69f9c98928f8c89868482818180808181828384878a8c8f92999d9fa7acafb6bec2cacfd7d0cac1b9b1a7a09691847a6e665c51493f332a2012080000000000000000000000000000000008131e28323e45515d676f7c869299a3afbbc0c7cfd4ccc3bcb4aea8a09e96918c8783807e7b7a7979797a7a7b7d7f8284888c90959c9fa6acb2bac1ccd2d2ccc0b6aea49f92867c6f675d51473d33231a0b02000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdd6d4c7bbaea194887b6e6155483b2e2215080000000714212d3a46535e6974808d98a2aebcbdbdbdbdbdbeafa59c8f82756a6054473d32231a0f00000000000000000000000000000000000000000000000000000006111c27333f4953616b7683909ca6b0bbbdbdbdbdbbaea3998e81746a5f53473c32261b0f0000000f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2aaa39f9e9d9b989892908d89847f7a746f6a605d564f45413a312a21180f05000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a09386796d6053463a2d2013070000000000000000000000000000000000000000050d151d263038424c565f6a727f8b95a0a3a3a3a3a3a3a3a3a39f9386796c605346392d20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424a545c656c747e8590949ea1a9aeb4babec5c8ced2cdc8c4c3c0bebab8b7b6b5b5b6b6b7b8babfbfc3c6c8ccd2d0cac6c2bdb5afa9a19892867e706b60554b40342820150a0000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667985929facb8c5d2c8bbaea195887b6e6255483b2f221508000000000000000000000004101c2834404b55606d7884919ea6b0b9c3cdc6bdb4aaa29f928d85807b77747372717274777b7f858e939ca4aeb6c0cbccc0b5ab9f94897d7063594f43382c1f0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d575f696e7b8491969fa6aeb9bec5cdd4d9dad5cfc7c0bbb9b0abaaa39f9c999a93918f8e8d8d8d8d8e8f90919697999c9fa3ababb1b9bbc0c7d0d6d5cdc5bebaafa79f9591847b6e685e544b40372d21180e0000000000000000000000000000000000020c16202935404b55606a707d87929fa3afb5bdc5ced8cfc6bfbab2aca8a09e9a93908d8a88878685868787888a8c8e9196999da0a7abb0b9bdc4ccd8d0c7c0bbaea49d928b7f726a5f554b40352b21110800000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0c9c9c9c7bbaea194887b6e6155483b2e221508000006121e2b37424d57616e7b86929faab4b0b0b0b0b0b0b6ac9e93887c6f62584e43352b211108000000000000000000000000000000000000000000000000000000000b17222d38414f5963707d89949fabb0b0b0b0b0b0b5ab9f92877b6e62584e43372b1c110600000f1b2835424e5b6875818e969696969696969696969696969696969696969696969696969696969696969696969696969696969594989291908e8b898683807d78726d68625f58524c443e352f281f180f0600000000000000000000000000000000000000000000000b1825323e4b5865717e8b96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969386796d6053463a2d201307000000000000000000000000000000000000000000030b141e26303a444e58606d78839096969696969696969696969386796c605346392d201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232834404a545c666d77808a92979fa6adb3babfc6cad0cdc8c4c2bcb8b6b3b3adabaaa9a8a8a9a9aaacaeb4b3b6b9bbc0c7cbd1d3cfc7c0bbb3aaa29892877d6f675c51453c31261b0f000000000000000000000000000000000000000000000000000000000000000613202d394653606c798698a2aebac6d3c7baaea194877b6e6154483b2e2115080000000000000000000000000c18232e3944505c66717e8a949ea7b1bbc5cec6bcb4aea49d98928c8884817f7e7e7f8083878c92989ea5aeb6bfc8cac2bbafa4998f82766b6054463d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454d575f696e7b848f949ca4adb3bbc1c8ced5d9d9d1cbc7c2bbb7b4aeaca9aca49f9e9c9b9a9a999a9b9c9d9ea1a8a6a9acaeb5b8bcc3c8ccd2d5cfc9c2bbb3ada59e9590837b6e695f564c42392e251b0f06000000000000000000000000000000000000040e18242f3a434e58616b717e8b919fa3abb4bcc3ccd2d1cbc3bdb9b2acaca49f9d999795939892939a949597999b9ea0a8aaacb1b7bcc2c9ced5cdc4beb6afa49d928d80746d62584e43392f23190f0000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbbaea194887b6e6155483b2e22150800000814212e3a47535f6974818e99a3a3a3a3a3a3a3a3a3a3a49a8f82756a6054463d3223190f000000000000000000000000000000000000000000000000000000000006111b262f3e4854606b76828f9ca6a3a3a3a3a3a3a3a3a3998e81756a5f5347382e23170b00000f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786868584827f7c797673706c65605d56534e45413a3229241e160d060000000000000000000000000000000000000000000000000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796d6053463a2d20130700000000000000000000000000000000000000000000020c151e28323c44505c66707d898a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44515c666d78818d929fa2a9b0b9bec5cbd0ccc7c3bcb8b6b1aba9a6a9a29f9d9d9c9b9c9d9d9fa2aaa6aaacafb6babfc6cfd5d1cbc5bcb4aaa3999184796d60584e43372b1d12070000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfcad6c7baada094877a6d6154473a2e21140700000000000000000000000007121d28343f4a54606c77828f95a0a9b3bcc4ccc6bfbaaeaaa29f9996918e8c8b8b8c8d90939a9fa2aaafb7bfc8ccc2b8afa59f93877c6f62594f44342b21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333c454d575f696e7a828d929ea1a9afb8bdc3c9ced4d9d7d4cdc7c6bfbab8b6b6afacaba9a8a7a6a6a7a8a9a9abadb2b3b6b9bbbfc6c8cdd4d5cfc9c5beb9b0a9a29f938e827a6e695f574d443b30271d1309000000000000000000000000000000000000000007131d28313c464f59626c727f8b9299a2aab1bbc0c7d0d5cec8c4bdb9b6afacaaa6a4a2aaa39f9fa4a1a2a3a6a8aaacb2b7b8bcc3c7cdd5cfc9c1bbb2aca49f928d80746e645b51463c31281d11070000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcddd0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0aea194887b6e6155483b2e22150800030f1b27333f4953626e7b879296969696969696969696969693877c6f62584e43342b2011070000000000000000000000000000000000000000000000000000000000000a141d2c38444f59626f7c8994969696969696969696969693877c6f62544a3f34281c1003000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7a79787775726f6d666663605b53524c47433c3530282019130c04000000000000000000000000000000000000000000000000000815212e3b4854616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d2013060000000000000000000000000000000000000000000000030c162028343f4a54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d47515b606d78818e939da4adb3bbc2cacfccc7c2bbb7b1acaaa79f9d9997979291908f8f8f9091929896999d9fa4acaeb4bdc3cbd4d7cec5bcb4aba0968c80736a5f5347392e23180c0000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0d5c9beb3a993867a6d6053473a2d201407000000000000000000000000000c17232e3844505b656d79839197a2aab2bac2cbcac0bcb4aeaba8a09e9a999897999a9d9fa4acaeb3bcc1c9c7c0bbb0a69d938c7f726a6054473d3222190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212a333c454d575f686d78808a92979da5acb2b9bdc4c8ced3d6d8d3d0cbc7c5c2c0bbb9b7b5b4b4b3b3b4b4b5b6b8b9bdbfc2c5c7cbd1d4d3cec9c4beb9b3ada69f97928b81796d685e574d453c32291e150b010000000000000000000000000000000000000000010c161f2b343e47505a636d727e879298a0a7afb6bec3c9ced4cec9c7c0bbb9b6b3b1aeb4aeacacafb6aeb0b2b5b7b9bdc3c5c8ced3cec9c4bdb9afa9a19a938c80746e645c52493f342a1f160c000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd6d6d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a194887b6e6155483b2e2215080005121f2b3744505b6575828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a81756a5f53463c3222190f00000000000000000000000000000000000000000000000000000000000000020b1b27323d4754606a75828a8a8a8a8a8a8a8a8a8a8a8a8a8a8275665c5044382b1f1206000815212e3b47535f6a6f70707070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d676b6a686562605c545653504945413a373129241e160e080100000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706c665b5044382b1f1206000000000000000000000000000000000000000000000000040e17232e38424f59606b70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f59626d75818e939da5aebabec5cdcfc9c2bbb7b0aaa7a09d9995908d8a8785848382828383848587898c90939a9fa3abb1b9c2cad4d7cec6bdb2a89f92867c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d2c6b9ada19786796c605346392d2013060000000000000000000000000006111c27333f49535d676e7b859298a1a8b0babfc6cbc5bebab8b2acaaa7a6a5a4a5a7aaacafb6babec5c9c5bdb5afa69e948e81746d62584e43352b21100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c454d565d666d737e858e939ea0a8acb2b8bdc3c6cad0d2d5d6d3d2d2ccc8c6c4c2c1c0c0c0c0c1c2c3c4c5c9cfcfd2d3d2d0cac6c4bdb9b2ada9a19e948f857e756d675d564d453c332a20170c0300000000000000000000000000000000000000000000040d19222c353f48515b636c717d8691959fa4acb2b9bdc4c8ced3d2ccc8c6c3c0bdbbbfbab8b9bbc0bbbdbfc1c4c5c9ced1d2cec8c4bdb9b2ada59e96918880736e645c524a41372d22180d04000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c9c9c9c9c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d969696969696969696969694887b6e6155483b2e221508000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e61584e43342b20100700000000000000000000000000000000000000000000000000000000000000000b16212b37434e58616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363636363636363636261605d555d5b585653514a4a46443f38352f2b262019130c040000000000000000000000000000000000000000000000000000000005121e2a36424d575e616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605b544a3f33281c0f030000000000000000000000000000000000000000000000000006111c26303d474f5960636363636363636363636363636361594f44382c2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b727f8c939ea5afb7c0cacfcdc4beb9b0aaa69f9c95908c8783807d7b7877767575767677797b7c8083878e9299a0a7b0b8c2cdd6d8cfc3bbaea3998e8174665c5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d1c5b8ab9e928578655b5044372b1f120500000000000000000000000000000b17222d38414c555f69707d8691969fa6aeb4babfc6cac6c4bdb9b7b4b2b1b1b2b3b6b9bbc0c7c9c5beb9b3aba49f948f82786d605b51463d3223190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a333c444c545c606c717a818991969ea0a8acb2b8babec5c6c9cfd1d2d3d7d4d2d1cfcecdcdcccdcecfd0d1d2d2d1cfcfcac6c5bebab8b2aca9a19e97928b827b716c605d554c443b332a21180e0500000000000000000000000000000000000000000000000007101a232d363f49515a626b707c838d939aa0a8acb2b8bcc3c6cacfd2d2d0cccad0cbc7c5c6c8ccd2caccced1d2d2ccc8c6c3bcb8b2aca8a19e938e847d736e645c524a41382f251b100600000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5bdbdbdbdbdbdb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a887b6e6155483b2e2215080005121f2b3744505b656c707070707070707070707070707070706e685e52463c3122190e000000000000000000000000000000000000000000000000000000000000000000040f1b27323d46525e696e7070707070707070707070707070706d665c5044382b1f120600030f1b26323c464e53555757575757575757575757575757575757575757575757575757575757575757575757575757575756555453514b514f4c494644403d3937332d29241e1b150d08020000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382d22170b0000000000000000000000000000000000000000000000000000000a141e2b353d474f545657575757575757575757575757554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d87929fa5afb7c1c9d1cbc0bbb2ada69e9c948f89837f7b7673706e696a6a6968696a656c6e7073777b818690959fa6b0bbc4cfdad7cbbfb5ab9f9285796d6053463a2d20130600000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd0c3b6a99d9083766a53493f33271b0f03000000000000000000000000000006111b262f3a434d57606b707c848f949fa3abaeb4babfc3c4c8c5c4c1bfbebebfc0c3c6c7c5c2bdb9b3ada9a199938c827a6d665c51493f342b20110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18212a323a424a505a61686d747d848b91969da0a8abaeb3b8b9bec1c4c5c7cbd1cccdcdcecfcfcecdcccccbcfcac6c5c2c0beb9b8b3aeaba8a19e97918c857e766e69615a514b433a322920180f06000000000000000000000000000000000000000000000000000008111b242d373f485059606a6f79808891969ea1a8acb1b8babec2c5c6cad0cccdcececfcececdccccd0cac6c5c3c0bbb9b6b1aca8a09e96918b817a706b635c524a40382f261d13090000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b0b0b0b0b0b0b0b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d20140700030f1b27333f49535b6063636363636363636363636363636363615e564c41342a201007000000000000000000000000000000000000000000000000000000000000000000000a16202a36424d575e61636363636363636363636363636363605c544a3f34281c100300000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484747454044423f3c3a38342e2d2b27221b19130f0a04000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c1106000000000000000000000000000000000000000000000000000000020c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77849099a3afb7c1c9cfc6bfbaafa9a19e948f88827c77726e696664615e575d5c5c5c535b60616366696e747b838f949fa9b2bdc9d5dcd1c6baada2978a7d7063574a3d2e23170b00000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdcec1b4a89b8e8175685b4e422d22170b000000000000000000000000000000000a141d28313c454f59606a6f7a828d92999fa3abaeb4b7b8bcbebfc0c1c2c1c0bfbebfbab8b5b2ada9a19e9792877f786d685d544b40372d22190f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18202830383f4450565e616b70797e848b91969a9fa2aaabadb3b5b7b9bbc0bebfc0c1c1c2c2c1c0c0bfbebdbeb9b8b6b3b3adabaaa29f9b96918b847f79726d615e5750454039312820170e060000000000000000000000000000000000000000000000000000000009121c252d363f474f585f676d737d848b91969da0a7abadb3b5b8babfbec0c0c1c2c2c2c1c0c0bfbebebab8b6b6afaca9a7a09d96918b847e756d686059524a40382f261d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a6f70707070707070707070707070706d675d5145392c1f130600000b17222d38414950535757575757575757575757575757575754524c443b3022180e0000000000000000000000000000000000000000000000000000000000000000000000040e1a25303b454d525457575757575757575757575757575753504a42382e23170b000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a38352f35322f2d2c2823201f1b17110d080100000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a0000000000000000000000000000000000000000000000000000000000071119232b33383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b95a0acb8c1ccc4bcb4aea59d97918a827c766f6b66615e575754524d504f4f504950535456575f61696e79828f96a1adb9c6d0dbd6cabeb3a99b8e817468544a3f34281c100300000000000000000000000000000000000000000000000000000004101c2834404b546975828f9ca8b5c2cfccbfb3a6998c807366594d4033261a0600000000000000000000000000000000020b161f2a333d474f585f686d7880868d92999fa2aaaaacb1b1b2b3b4b5b5b4b3b2b4aeaca9a8a19e97928c857d736c665d564c42392e251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343e444c525960666d71787e84898e92989b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b4b3b2b1b1b3adaba9a7a9a29e9b98928e8a847f79726d67625b524d453e352f271f160e050000000000000000000000000000000000000000000000000000000000000a131c242d353d464e555c606b70787e848b90959a9fa2a9a9acaeb4b1b3b4b4b5b5b5b4b3b3b2b1b3adaba9aca49f9d9995908b847e79716c615e564f4740372e261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9696969696969696969696969083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626363636363636363636363636363605d554b4035291d1004000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e100600000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c11060000000007101820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2d2c2924282523201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28221c140b0200000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030302f2c28211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7883909da5afbcc4bab2aaa39f938e847e766f6a63605954534d4a484642434242433f444647494d53575f676d7a84919eaab4bfcad6dbd0c4b8ab9e918578665c5044382b1f120600000000000000000000000000000000000000000000000000000006131f2c3845515c667784919eaab7c4d1cbbeb1a4988b7e7165584b3e3225180b0000000000000000000000000000000000040d18212b353d464e565e666d737b81868e9298999da0a7a4a5a6a7a8a8a7a6a5aaa29f9c9996918b857f7a706b605b544c443a30271d130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323a41464f545c60666d71787c81858a8e9297989b9e9fa3aba5a6a7a7a8a8a8a8a7a6a5a5a4a9a19e9c9a9797928e8a85817d79726d67605d555146423b3329241d150d0400000000000000000000000000000000000000000000000000000000000000010a121b232b343c434b515960666d71797e83888d9297999c9fa2aaa4a6a7a7a8a9a8a7a7a6a5a5a9a29f9c9a9a93908c88847e78716d66615a524c443d352e251c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c464e5355575757575757575757575757575753514b43392f24180c000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d00000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a000000000000070e151b1f212224242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1d181c19161312100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242423201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666f7c89939eaab4bab2a8a198928b817a716c626058544f4846423d3b3a363036352d3337393b3d42464d555e68727e8b98a2aebac6d3dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2cbc0b5ab96897c706356493d3023160a000000000000000000000000000000000000060f19232b343c444c545c60696e747b8186898d9095969798999b9c9b9a99989798928f8c89847f79726d676059504a423a32281e150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202830353d424a51545c60656c7074797d8285888b8e9192999698999a9a9b9c9c9b9a999998979697928f8d8b8885817d7975706d66605c55514b433f3630292118120b030000000000000000000000000000000000000000000000000000000000000000000009111a222a313940454f545c60666d72777c8185898c8f92989698999a9b9b9c9b9b9a999998969792908d8b87837f7b77716d66605c545046413a322b231c130a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000020b141b22272b2d303030303030303030303030303030302e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e3030303030303030303030303030302d2b28231c140c0200000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171615141413100c070c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000050b10131616171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606b75818e98a2aeb2a8a19691867e746d68615a544e48443d3a36312e2d2a25292922272b2d2e31363c434c56606d7a85929facb8c5d2dfd4c7bbafa499877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a3afbbc7d3c7bbafa399877b6e6154483b2e21150800000000000000000000000000000000000000071119222a323a424a50575e61696e74797d808387898b8c8d8e8f8e8d8c8b8a8986827f7c79726d67605d554f443f382f2820160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e2529303940444a50535b6063676d7175797b7e828486888a8b8c8d8e8e8f8f8e8d8d8c8b8a89878583807e7c7974706d6664605c54514b454039312a251f170f07010000000000000000000000000000000000000000000000000000000000000000000000000810181f272f343d424a50545c60656a6f74797c7f828587898b8d8d8e8f8f8f8e8d8d8c8b89878583817e7b76726e6964605c54514b423e353028201a110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f70707070707070707070707070706f6b6054483b2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b010000000000020a11171b1f202424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424201f1c17110a0200000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59616e7b86929fa8a8a19691847c716c605d565047433c38322d2a2521201e1a1c1c171b1f2021262a313a45515d677783909daab6c3d0ddd7ccc0b5ab95887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0cbd2c5b9ac9f9286796d6053463a2d2013070000000000000000000000000000000000000000071019202830383f444d52575e61676d7073777a7d7e7f8081828281807f7e7c7976726f6d66605d55514c433d332d261d160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383f44495053555c6064656c6e727577797b7d7f8080818282828181807f7e7e7d7b787674716f6d6663605c5453514a454039352f271f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d232930383f444b5153586062666d6f7276797b7c7e8081818282828180807f7e7d7a787674716e6866625f5753504a4540393029251e160e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58606263636363636363636363636363636360594f43382c1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c29241d150d030000000000000000060b0f1213171717171717171717171717171717171414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141717171717171717171717171717171312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3d46525e68727f8c96a0a19691847b6f6a625a524c433e37322c27211e1a1514120e09060b0f1213141a1f2935414c556875828f9ba8b5c2cedbddd2bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfd1d1c4b7aa9e918477665c5044382b1f1206000000000000000000000000000000000000000000070e161e262e343b42464d53555c606366686e70717273747575747372716f6d676662605c54514b45413a3128221c140b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151c23282e34383f44464b5153535b60626568666d6e7072737474757575757473727271706e6969676462605c5453514b46444039342e29241d150d09020000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e262e34394045464e54545c606266656c6e70717374747576757474737272706e69696765615e5655534d46443f38342e271e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e5456575757575757575757575757575756544f473d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222424242424242424242424242424201f1d18120b0300000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313131313131313130c0b090501000000000000000000000000000000000000000000000000000002050708121313131313131313131313131313131006060300000000000000000000000000000000000000000000010406070b0b0a0a090908070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56606d7884919d9791847b6e6960585045413a312b27201b16120e0907050200000003050609101c28343f4a546875828f9ba8b5c2cedbd6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000006121f2b37434e586875818e9ba8b4c1cecfc2b5a99c8f827669544a3f34281c100300000000000000000000000000000000000000000000050c151c232830363b42464b515356565e61636465666869686766656463605c555653504a454039352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c23282d3337394045474950535558545c6061636566676768696968676666656463615e575a585553504a4645403a38342e28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141c23282e34383c43474a505356535b60616365666768686968686766666563615e565a5854524d4847423c38342e28231d150c080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4948433d352b21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151517171717171717171717171717171413100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000030a10161a1c1d20202020202020202020202020181715110c06000000000000000000000000000000000000000000000002090e1114141f2020202020202020202020202020201c13120f0b0600000000000000000000000000000000000001070d111314181817171615151413110d080b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44515c66707d899391857b6e695f574e463f352f281f1b150f0a05020000000000000000060b1218222b3844505c667783909daab6c3d0ddd5c9bcafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000815212e3a47535f6a7885919eabb8c4d1cbbfb5ab998c7f7366594c402e23170b000000000000000000000000000000000000000000000000030a11171f252a313639404546494c52545658595a5b5c5b5a5958575653514b4946443f38352f29241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c11171b22272b2f34383a3f4446484b4a5153555758595a5b5b5c5c5b5a5a5958575654524d4d4b4946443f3a38342e2c28231c18120c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c3237383f4446494950535456585a5a5b5c5c5c5b5a5a59585654524d4e4b4746413b3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b38322b23190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313131313131313130c0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000003080c0e0e1313131313131313131313131313131313100605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000050d14191e20212b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000040c13181d20202524242323222221201d1919171514120e0906040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2834404a54606b75828f877d70695f574d453d3429241e160d0a04000000000000000104080d11171d2329343c4653606d7985929fabb8c5d2ded6cabfb4aa94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000915222f3c4855626f7b8897a1adb9c6d2c7bbaea399897c706356493d302316060000000000000000000000000000000000000000000000000000060c141a1f252a2e34383a3d4146474a4b4c4d4e4f4f4e4d4c4b494645403c3a38342e29241d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b11171b1f23292c2d3337393b3f404446484a4c4d4d4e4f4f4f4e4e4d4c4b4b4a474642413e3c3a38342e2c28231f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f272b2e34383a3c3f444647494b4d4e4e4f4f4f4e4d4d4c4b4a474642413e3b3936302e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3030303030303030303030303030302f2c2721191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e2020202020202020202020202020181715110c0600000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b20202020202020202020202020202020201c13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000030d161f262d3235363939393939393939393939393932312e29231b120900000000000000000000000000000000000000050e171f252a2d2e38393939393939393939393939393939362d2b28221c140b0200000000000000000000000000040d161d24292c2d32313130302f2e2d2c2924262422211e1a1313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424f59616e7b8680736b60574d453b332b2219130c040000000000000305070d1113191b22272f343d46505a63707d8a97a2adbac6d3dfd3c6baaea298867a6d6053473a2d2014070000000000000000000000000000000000000000000000000004101c2834404b5465727f8c98a9b2bec9d2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000003090e141a1d23282c2d3036393b3d3e3f4041424241403f3e3c3a38342e2d2b28231c18120d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f22272b2d2f2e34383a3b3d3f4041414242424241403f3f3e3d3b3a3630312f2d2c28231f1c1812100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10151b1c23282b2d2d3337393b3d3e4041414243424141403f3f3d3b3a3630322e2d2a25211e1a15100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242423221f1b160f070000000000000000000000000000000000000000000000000000000000000306080913131313131313131313130b0b09050100000000000000000000000206080813131313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d29201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4646464646464646464646464646463f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000030c17202930363a3b45464646464646464646464646464646433938332d261d140a000000000000000000000000010c161f282f35393a3e3e3d3d3c3c3b3a39352f33312e2d2a26201f1c18120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d46535f69707d786c60594f453c332921191008010000000306060b0f1213181d2024292d333940454f58616c75828f9ca9b3becad6dfd2c5b8ac9f928579675d5145392c2013060000000000000000000000000000000000000000000000000006131f2c3845515c6676828f9ca9b5c2cfd0c3b6a99d908376675d5145392c1f1306000000000000000000000000000000000000000000000000000000000003090e12181c1f20252a2d2e3031323335363534333231302d2c2823201f1c17110c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c1013171b1f202223282c2d2e3032333434353636353433333231302e2d2a252522201f1c1713100c0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f2022272b2d2e30323334353536353534333332302e2d2a252521201e1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171615130f0a040000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020181715110c06000000000000000003090e1214152020202020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000b151d252b3034353939393939393939393939393939393939362d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000010c17222d363f454a4b5353535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000000000000000000000000000000000005101c26313a434a4e50535353535353535353535353534b4a453f362d23180c01000000000000000000000000000000000b151e29323b424647525353535353535353535353535353534f46443f382f261c1106000000000000000000000007131d28313a4045474b4b4a4a49484847454141403e3b3a36312d2c28231d1a150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36424d57616c706c665b50473d332a21170f07000305060b101213171b1f2024292c3035383f444b5159606a717e8a949eaabbc5cfdbdccfc2b5a99c8f827669554b4035291d1104000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2ccc0b6ac9a8d807367554b4035291d10040000000000000000000000000000000000000000000000000000000000000000070c101313191e2021232526272829282726252423201f1c181312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181c1f202224252627282829292827272625242321201e1a18161312100c0604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213171b1f2021232527272829292928272726252321201e19181414110e0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a09090703000000000000000000000000000000000000000000000000000000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2524211d181109000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2625221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f434446464646464646464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000008121d272f373c40414646464646464646464646464646464646433937332d261d140a0000000000000000000000000000000000000000000000000000000000000000000005111d29343f48505658606060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60606060606060606060606060585651483f34291d110500000000000000000000000000000007121c27303b444d52545e6060606060606060606060606060605c53504a42382d22170b00000000000000000000010d18242f3a434b51535857575656555554514c4e4c4a4846423d3a38342e2b26201b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1a26313b45505a6164605b544a3f352b21180f06060b0f1213171c1f2022272b2d2f35393a41454950555c606b707c86929fa6b0bbcdd7e1d4c8bcb1a7988b7f7265584c3f2f24180d01000000000000000000000000000000000000000000000000000a1623303d495663707c8998a2aebac6d3c8bbafa49a8a7d7063574a3d2f24180c00000000000000000000000000000000000000000000000000000000000000000000000406080e1114141718191a1b1c1c1b1a1918161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1012131517191a1a1b1c1c1c1b1b1a191818171414110e090907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131416181a1b1b1c1c1c1b1a1a1918171414110e0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393939393939393932312e29221b120900000000060f1820262b2e2f393939393939393939393932312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f5153535353535353535353535353534b4a453f362d23180c010000000000000000000000000000000000000000000000000000000000060f1a242f3941484d4e53535353535353535353535353535353534f46443f382f261b11060000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000060f18232e39424d565e616b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b544a3f33281c0f0300000000000000000004111d2935404b555d6065646463636261605d555b595755534d4a4645403937312b262019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333e4850555753504a42382d23190f0c1012171b1f2023282b2d2d3337393b4045474c52535b60676d737d859298a2aeb8c1ccdfdbd1c4b8aca095877b6e6154483b2e2115070000000000000000000000000000000000000000000000000005121e2a36424d576673808d99aab4bfcad2c6b9ac9f93867a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0c0d0e0f0f0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0e0e0f0f0f0f0e0d0c0c0b0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0e0e0d0c0c0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646463e3d3a342d241b11060000030e18212a31373a3b46464646464646464646463f3e3a352d251b11070000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e6060606060606060606060606060585651483f34291d110500000000000000000000000000000000000000000000000000000000030c17212c36414b53595b60606060606060606060606060606060605c53504941382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797979797979797979797979726d62564a3d3124170b00000000000000000000000000040d18222834404a545e696e78797979797979797979797979797979766c665b5044382b1f12060000000000000000000613202c3945515d676d717170706f6f6e6d6769686664615f575653514b47433c37312a251e170e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18212c363e44494a46443f382f261c1112181c1f22272b2d2e34383a3c3f4446484b5153565d60656c71797f879297a2aab4bfcad3ddd4c8bcb1a79d908377695e53463a2d211407000000000000000000000000000000000000000000000000000714212d3a46535f697783909daab6c3d0d0c3b7aa9d908477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343c43474953535353535353535353534b4a453f362d22180c01000915202a333c42474853535353535353535353534c4a463f372d23180d0100000000000000000000000000000000000000000000000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51453a2e221509000000000000000000000000000000000000000000000000000000000a151e29333e48535d64686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69605b53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697682868686868686868686868686867e7265584b3f3225180c000000000000000000000000010c161f2a343c44515c666e7b8586868686868686868686868686868682786c605346392d2013060000000000000000000714202d3a4753606d797e7e7d7d7c7b7b7a78767473716e696763605c54534e47433c363029201910090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242c33393c3d3938332d261d141b1c23282c2d3337393c3f44464949505355555d6064686d72787e848c9299a2a9b3bcc5d0dcd4cbc3b8aca0958b7e7265574d42362a1e120500000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939facb9c6d2cabeb3a99a8d807467564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000010507070f0a0a080400000000000000000000000000000000000000000306131313131313131313131313131313131311110e0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709090a0b0b0c0b0b0a09090706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060608090a0b0b0c0b0b0a090806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a0b0c0c0b0b0a090806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060606060606060585650483f34291d1105020e1a26313c454e53556060606060606060606060595751493f35291e12060000000000000000000000000000000000000000000000000000000000000000000000101d2a36434f5b6771777979797979797979797979797979726d62564a3d3124170b00000000000000000000000000000000000000000000000000000006111c26303b45505a646f747979797979797979797979797979797979766c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393939393939393939393938b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393939393939393938b7e7265584b3f3225180c00000000000000000000000007131d28313c46505a606d7882909793939393939393939393939991847a6d665b5044382b1f1206000000000000000003101c28343f4a5464717e8a8a8a89898888878583817f7d7b7773706d66625f58534e46413a322b221b130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d30312d2b28221c1c1f272b2e34383a3f4446484a505355535b606265676d71757a7f848a91969fa3abb3bcc5ced7d5cbc3b9afa59d9083786c6053463b31251a0e0200000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afbbc8d2c6b9ada197897d7063564a3d3024190d01000000000000000000000000000000000000000000000000000000000000000000000002080d1113141b171614100b0500000000000000000000000000000000060b101220202020202020202020202020202020201e1d1b17120b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809080d11131415161717181918171716151413110d07080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608060b0f1213151617171819181717161513120f0b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c10131414151617181818181717161413120f0b06070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c65625a50453a2e21150906121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a778386868686868686868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000040e17232e38424d57616c7481868686868686868686868686868686868682786c605346392d20130600000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000071118242f3a434e58616c74808d949fa99f9f9f9f9f9f9f9fa69f92877d6f685e544a3f33281c0f03000000000000000006121f2c3844505c6675818e9797969695949792908e8c8a8884807d79756e6a625f58524c443d342d251d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324201f1c1c22282b32373940444649505355545c606265656c6e72757a7d81868c91969ea1a8afb5bdc5ced7d7ccc3b9b1a79e93897c6f665b504438291f1409000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eacb6c0ccd1c5b8ab9e9285796d6053463a2d2013080000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021282423201c17100800000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e06000000000000000000000000000000000000000000000000000000000000000000000000000000000104060a0f12151518191d2021222323242525252423232220201d18181514120e090604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060a0f121515171c1f202223232425252524232322201f1c171515120f0a05030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406090e12141517181c1f20212223242425252524242321201f1b17171413110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a767979797979797979797979716c62564a3d312417070814212e3a47535f6a767979797979797979797979726d62574a3e312518080000000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919393939393939393939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000020c162028343f4a545f69717e8a93939393939393939393939393939392857a6e655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4acacacacacacacacaca5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9acacacacacacaca5988b7e7265584b3f3225180c00000000000000000000050e19232935414b555f6a717e8a929da6b0acacacacacacb2a89e948c7f726b60564c42382d22170b0000000000000000000713202d3a4653606d7985929fa3a3a2a2a9a19e9c9b999796918d8985817c756f6a615e564e463f372f261d130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617131b1d262d33383c43474a5153535b606265666d6f7275797b7e82868a8e92989da0a8acb2bbc0c7cfd7d1cbc2bab1a79f958e81756b60544a3f3328170d0300000000000000000000000000000000000000000000000005121e2a36424d5764707d8a97a1adbec7d2c9bdb2a99a8e8174665c5044382c1f120600000000000000000000000000000000000000000000000000000000000000000003090e161e25292d2e3531302d28221a12080000000000000000000000020c141c23282b39393939393939393939393939393939393836332e2820180e040000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141a1f21222524292c2d2f3030313232323130302f2d2c29242522211e1a1413110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1f212222282b2d2e2f303131323231302f2e2d2b282222211f1b13120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e21212423292c2d2e2f2f303132323131302f2e2d2b27222321201d1914120f090401000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c86868686868686868686867e7165584b3e2f24180c0815222f3b4855626e7b86868686868686868686867f7265594c3f3024190d0100000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000008131e28323a44505c666e7b85929fa59f9f9f9f9f9f9f9f9f9fa79d928a7d70685e53493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1b9b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6b9b9b9b9b9b1a5988b7e7265584b3f3225180c000000000000000000030c17202b353d45515d676e7c86929fa4aeb9b9b9b9b9bfb5aba1968f82776c60594f443a2f261c11060000000000000000000a1623303d495663707c8997a2adb0afaeb3adaba9a7a6a8a09d9a98928e87817c756d686058514941382f251c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108101920272b2f383f44464e54545c6064656c6f7275797c7f8285888b8f92989b9fa2aaacb2b9bdc4cbd1d5cfc6bfbbb0a8a0959083796d60594f42382d221705000000000000000000000000000000000000000000000000000b14202d3a46525e6975828f9ca9b2bed0d2c5b9ada196897d7063544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000060b141a20283035393a423d3c39332c241a0e04000000000000000000000a141e262e3438464646464646464646464646464646464644433f39322a20160b0000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2021262b2e2f322f35393a3c3c3d3e3e3f3e3e3d3c3c3a39352f322f2e2b2621201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f20262b2e2f2d3338393b3c3d3e3e3f3e3e3d3c3b3938332d2f2e2b26201f1b17110c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312f34383a3b3b3c3d3e3f3f3e3e3d3c3b3937332d302d2c2924211f1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869293939393939393938e817467554b4035291d100613202d394653606c79859293939393939393938e817568564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daaacacacacacacacaca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000006101925303a444f59606d78839098a2aeacacacacacacacacb4aaa0958d80746b61564c41382d22170b0000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bec6c6c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3c6c6c6beb1a5988b7e7265584b3f3225180c0000000000000000000a151e29323d47515b606d79849198a2aeb6c0cbc6ccc4bbaea39991847a6d655b50473d32281d140a00000000000000000006121f2b37434e586774808d9aa9b3bebcbbbeb9b8b6b4b2b2acaaaaa29f9a938e87817a6f6a625b534a41372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222b32373e424a5053586062666d7075787c7f8285888c8f9297989c9fa3aaacaeb4b8bdc3c9ced5cfc9c3bdb5aea69f9690837a6d675d51473d2f261c110600000000000000000000000000000000000000000000000007121d28333f4a54616e7b87939facb9c4cfccc0b5ab9e9184796d6053463a2e23170c00000000000000000000000000000000000000000000000000000000000000020a11171f252a323a4146474e4a49443e362c20160c02000000000000000006111c2630383f445353535353535353535353535353535353514f4b443c32281d12060000000000000000000000000000000000000000000000000000000000000001070c10161b1e24292c2d31373a3c3f4141454748494a4a4b4c4b4a4a4948474540413e3b3a37312d2c29241d1b16100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c12181c22282b2d31373a3c3f3f444648494a4a4b4c4b4a4a494846443f3f3c3a37312d2b27221b18120c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f24292c2d31363a3b3d404045474748494a4b4b4b4b4a4a494746443f3f3d3a39352f2e2b26201d18130d080200000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667683909c9f9f9f9f9f9f9d908377675d5145382c1f1306121f2b3744505b6576828f9c9f9f9f9f9f9f9e918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7b9b9b9b9b9b9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000030d18222935414c56606b73808d959faab3beb9b9b9b9b9b9baaea2989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd2d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd2cbbeb1a5988b7e7265584b3f3225180c000000000000000006111c26303b444f59626d75818e96a0aab4bfc8d2cfc4baafa59f92877c6f685d53493f342b20160b020000000000000000000815212e3a47535f6a7784919eaab7c4d0cfc9c6c5c3c1bfbdb8b7b4aeaca49f9a938e847c726d645d534940362c22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e2429343d434750545b60646a6f74797d8285888b8f9297989b9ea1a9a8acaeb4b8babfc6c8ced4cfc9c4beb9b2aba39f9490847a6e685e554c41352b1d140a000000000000000000000000000000000000000000000000000c18232e3844505b66737f8c99a4afbbc7d4c7bbafa4998c8073665c5044382c1c1106000000000000000000000000000000000000000000000000000000000000070b141b222730363e444c52545b575550483e32281e130800000000000000000b17232e38424a505f606060606060606060606060606060605e5c564e44392e23170b000000000000000000000000000000000000000000000000000000000000060b12181d1f272c2f35393a3e4347484b4d4c5254555656575858585756565553514b4d4b4847423d3a39352f2b271f1c18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d24292d3338393d4347484c4a5053555656575858585756565553504a4c4847433c3937332d28231c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d23282c2f35393a3e4246484a4d4b51535455565757585858575756545350494c4a4745413b3a37312c29241d19140d08020000000000000000000000000000000000000000000000000000000000000004101c2834404a546773808d9aa6acacacacac9f92867a6d6053473a2d2014070f1b27333f49536673808d99a6acacacacaca096877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4c6c6c6c6beb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000010b151f2a343c46525e68707d87939fa7b1bcc5d0c6c6d0c4bbafa59f92867c6f675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7dfd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f17232e38424d56606b727f8c939ea8b2bcc6d0d1c6bcb2a89e938b7f726a60564c41382d22190e05000000000000000000000915222f3c4855626f7b8896a0acb9c5ced0d2d2d1cfcecec8c5c4bfbab6afaca49f9691877f746f645b52483e342b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1720282f353f464e545a61666c71777c80858a8e9297989b9fa2a9a8abadb3b5b9babfc5c7cad0d2cec8c4bdb9b3ada8a099928c827b6e685e564c433a2f23190b0200000000000000000000000000000000000000000000000004101c2834404b54606c7884919eabb5c0ccd2c6b9ac9f93877b6e61544a3f34281c0a0000000000000000000000000000000000000000000000000000000000030b12181d262d333b424650565e616864615a50443a3024190d0400000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6760564b3f33271b0e00000000000000000000000000000000000000000000000000000000020a11171d24292c32383a4145474a4e5355585a565d606263636465656564636362605d555a5855534e4a4745413a37322c29231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151d24292f35383f44464a4e535559545b606162636464656564636261605b545855534e4946443f38342e28231c150c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191f252a2e34383a4145474b4d5354575a555c60616262636465656464636261605b53595654524c4847433c39352f2a251e19130c04000000000000000000000000000000000000000000000000000000000000000c18232e3e4a5764717e8a97a9b3beb9bbafa399897c6f6256493c2f2316080b17222d3d4a5764707d8a97a8b2bdb9bdb2a896897d7063564a3d3023170900000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d2d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afb9c2ced7ddd2c7bdb2a99e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000000040d182128343f4a545e686f7d87929fa5afbac3ced7cbbfb4aaa0968f81756d62584e443a2f261b10070000000000000000000005111e2a36414d5666727f8c99a8b2bdc0c2c3c5c6cad0d1d2d4d1d0cac7c0bbb6afa8a199928b81746d635a50473d31281d13070000000000000000000000000000000000000000000000000000000000000000000000000000000000040d172029323a4145515860626c70787e83888d92979b9ea1a9a8abadb3b5b8b9bec2c5c7cbd1d2cec9c5c3bcb8b2ada9a19e9691877f786e695e564d443a31281e1007000000000000000000000000000000000000000000000000020c17202c3845515c66717e8b96a1acbdc7d2c8bcb1a79c8f8275695e5342382e23170c00000000000000000000000000000000000000000000000000000001070c151c23282f383f444d525a61686d75706c61564c4135291f160c01000000000006121f2b3844505c6676797979797979797979797979797979797772675c4f43362a1d11000000000000000000000000000000000000000000000000000001080b141c22282f35393d43484c525457585f62656769686d6f6f707171727171706f6f6d67696765625f575754514b47433d38342f27221b140b07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f272f353940454a505356585f626568666c6e6f707171727171706f6e6c666865625f5856535049444039342e271e18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e25293136394045464c525458575e61646669676d6e6e6f707172727171706f6e6c65686663605d5655534e4745413a363029241e160e080200000000000000000000000000000000000000000000000000000000000715212e3b4854616e7b8797a1adb9c6c0b5ab988b7f7265584c3f2f24190d0614212e3b4754616e7a8796a1adb9c5bfb2a6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0cbd4e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000000000010c161f2a333c44505c666e7a859199a3afb7c1ccd5ccc3baaea39891847a6d605b51463d32281d140a00000000000000000000000714202d3946525e687683909da9b2b3b4b5b7b8babec0c4c5c9ced3d6d2ccc7c0bbb2aba39f938c7f736c61594f433a2f24180d03000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f29323b444c525b626a6f767d838a90959a9ea1a9abadb3b5b8babec2c5c6cacfd2d1cec9c5c4bdb9b7b1aca9a19e97918c847c726c665e574d443b32281f160c0000000000000000000000000000000000000000000000000008131e2935414b55606d7984919ea8b2bdd0d1c5b8aca0958a7d7063574d4230261c11060000000000000000000000000000000000000000000000000000030b12181e272e343c414950575e616c717a817e70685d52453e31281d130700000000000713202d3a4653606d788686868686868686868686868686868684776b5e5144382b1e1100000000000000000000000000000000000000000000000000040c13191d262d33394045474f54565d6064676a6f727476787a7b7c7d7d7e7f7e7d7d7c7b7a787674716e6a6764605d55544e47454039332d261d18130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a313940454b51545b6063676a6f727477797b7c7d7d7e7f7e7d7d7c7b797774726f6a6763605b53514a4440393029241d160d0500000000000000000000000000000000000000000000000000000000000000000000000000060d151d242930353b42464b5153565d606569696e707376787a7a7b7c7d7e7e7e7e7d7d7c7a79777572706d6865625f5854514b46413b3530282019140d05000000000000000000000000000000000000000000000000000000000714212d3a46535e697885919eabb8c4c1b4a89b8e817568554c4135291d110714202d3a46525e697884919eabb8c4c2b5a89b8f827568564d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000020b17212935404b555f6a727f8b939ea9b2bdc7d2ddd7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000000007131d28313c46505a606d78829097a1abb5c0c9d3cec3baafa59f92867c6f685d52493f342b20160b0200000000000000000000000814212e3b4754616e7b87939fa5a5a6a7a8aaabadb3b3b7b9bdc4c7cdd5d8d2ccc4bdb5aea59c928a7e716b60554b4135291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28313b444c565d606d727c838a90959da0a7abadb3b8b9bec2c5c6cad0d1d1cfcac6c5c2bdb9b7b2acaba7a09d96918b857f796f6a605b544d453b322920160d04000000000000000000000000000000000000000000000000030c1925303945515d67727f8b96a1acbac4cec9bdb2a89d9083786c6053463b3120150a0000000000000000000000000000000000000000000000000002080d151d2429303940444e535b60696e757e858e857a6d60594f433a2f24180d03000000000713202d3a4653606d798693939393939393939393939393939184776b5e5144382b1e11000000000000000000000000000000000000000000000000060d161e24292f383f444b5153596063686d7174787b7e808285878889898a8b8b8b8a898988868482807e7b7874706d6762605853514b443f382f29241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930363e434b51555d60666c7074787c7f8183858889898a8b8b8b8a8989888583817f7b77736f6c65605c54514a423d352f281f170f0700000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353a41464d53555c6064686d7175787b7d808285868788898a8a8b8b8b8a8a89878684827f7d7a76726e6a65605d55524c46413a322a251e170e0700000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2c4b7aa9d918477675d5145392c201306111e2a36424d566875828f9ba8b5c2c4b8ab9e918578695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000a141d29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000000071118242f3a434e58616c74808d949fa9b3bdc7d1d0c6bcb2a89e938b7f726a5f564c41372d22190e040000000000000000000000000b1825323e4b5865717e8b9a989899999a9b9d9fa2a9a7aaacb2b7bbc2c9cfd6d8cfc6bfbbada49f92867d6f675d51453c31261a0e050000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a434c565e686d757f8790959da0a7acb1b8b9bec5c6c9cfd2d2cfc9c5c4c1beb9b8b5b2acaba8a19e9995908b847f79726d676058504a423b332920170e04000000000000000000000000000000000000000000000000000b151e2a36414c56606d7a85929ea8b2bdccd2c5b9aca0968a7e71655b5044372b1f1203000000000000000000000000000000000000000000000000040c13191f272f353d424a51575f656c727b828a92978e81746b61554b4135291f150b010000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000020a11171f282f353d424a50555d60656b6f757a7d8184888b8d8f9196959696979898989796969596918f8d8b8884817d7a746f6a65605c555049413d352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000109121a222a323b41464f555d60676d72787d8084888c8e9092989596979798989796959892908e8b8884807c78716d66605c544e45403a3129211910080000000000000000000000000000000000000000000000000000000000000000050b141c2228313940454c52575e61676d70757a7e8285878a8d8f929794959596979898979796959992918e8c8986837f7b77716d67615e56524c443e363029201910090000000000000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99abb5c0c6b9ac9f93867a6d6054473a2d2114070e1925303f4c5966727f8c99abb5c0c5b9ada196877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000006111c262f3b45505a606d79839098a3aeb8c1cdd6ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c000000050e19232935404b555f6a717e8a929da6b0bbc4cfd6cabfb4aaa0968e81756d62584e433a2f251b1007000000000000000000000000030f1c2936424f5c6975828b8b8b8c8c8d8d8f909297969a9ea0a8abb0b9bec4cdd6d8d1cbbfbaaea3989185796d60574d42372b21160b000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b555e686e7a828c92999fa7acb1b8bcc3c6c9cfd2d0cac6c5c1bdb9b7b4b3adaba8a8a19e9a96918d88837e79726d67605d554e443f382f2921170e050000000000000000000000000000000000000000000000000007121d27303946525e6873808c97a1adbac4cec8bcb1a79e9184786d6053493f33271b0f030000000000000000000000000000000000000000000002090e161e2429313940454e545c606a6e777f868f949e9d938a7d70675d51453d31271d12070000000713202d3a4653606d798693a0acacacacacacacacacacaa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030b141c2228313a41454f545b60676d72777c81868a8e9196989a9c9ea1a9a2a3a4a4a5a4a4a3a2a8a19e9c9a9896918d8a86817c77716d67605b534f45403a3127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c343c444c525961676d73797f84898d9196989b9d9fa2aaa3a4a4a5a4a4a3aaa29f9d9b9896918d89847e79726d666058514b433b332b221a1208000000000000000000000000000000000000000000000000000000000000070e161d262d333e434b51565e61696e74797d82868b8f929797999c9ea1a9a1a2a3a4a5a5a4a4a3aba39f9e9b9999928f8c88837e7a746e68615d565046413b322b221b12090100000000000000000000000000000000000000000000000000091623303d495663707c8999a4afbbc7bbafa49a897c706356493d30231608091623303d495663707c8999a4afbbc7bdb2a9978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000040d17222d38424d57616c74808d95a0aab4bfcad3dfd6ccc4baaea2989083786d60594f443a30241b100600000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0000030c17202b353d45515d676e7c86929fa4aeb8c2cdd5cbc3baaea2989184796d605b51463c31281e130900000000000000000000000000000b1825323e4b5865717e7e7f7f7f7f8081828485878a8d91969c9fa6adb3bbc4ccd5dcd7cbbfb4aaa1978d8073695f53463d33271c1003000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545d676e7a848f939fa3abb1b8bcc3c8ced2d0cac6c5bebab8b4b2adaba7a9a19e9b9896918d8984807b77726d67605d55514b433c332d261d170f0500000000000000000000000000000000000000000000000000030d18232e39424e58616d7a86929fa9b3becccfc7b8aca0958b7e71665c5041382d22170b00000000000000000000000000000000000000000000060b141a202830353d434b515860666d737b838b92989ea6a59e9184796d60594f43392f24180c0400000713202d3a4653606d798693a0acb9b9b9b9b9b9b9b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000040c151d262d333d434c525960666c71797e83898e92999a9ea1a8a7a9abadb2afb0b0b1b2b1b0b0afb2adaba9a7a8a19e9a98928e89837e79716c656059514b433d332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000000009121b252d363e464e565e616b707980858b91969a9ea1a8a7aaacaeb4b0b0b1b2b1b0b0b4aeacaaa7a8a09e9a95918b847f786f6a605d554d453d342c241a11080000000000000000000000000000000000000000000000000000000007101920282f383f444f555d60686d737b81858a8f92989c9ea1a9a6a9abadb3aeafb0b1b1b1b1b0b0b4aeacaaa8aba39f9c9895908b86807a736d68615a524c443d342d241b1309010000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6c0b6ac998c7f7266594c3f3025190d0714212d3a4754606d7a86939facb9c6bfb3a6998c807366594d4031261a0e020000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000010c161f28333f4a545e69707d8a929da7b1bcc6d0dcd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c00000a151e29323d47515b606d79839198a2aeb6c0cad4cec3b9afa59f92867c6f675d51493f342a1f160c0100000000000000000000000000000b1724313d4a56626c71727272727273747577787a7d80848990949ea1a9b2bac4ccd5dcd1c6bcb3a99f92867b6e61594f44382c1f140900000000000000000000000000000000000000000000000000000000000000000000040e18222c3845515c666d798390969ea5aeb5bdc2c8ced4cdc8c5bebab8b3adaba8a8a19e9b9897928f8b8884807c78736f6a65605c55514b4540393128221c140b0500000000000000000000000000000000000000000000000000010b151f2834404b545f6a74808d98a2aebbc5cfc7bdb0a69d9183786d60544a3f2f261b11060000000000000000000000000000000000000000020a11171f252a323a41464f555d606a6f787f8690949fa2aab0ada1968d81746b60554b40352920160a00000713202d3a4653606d798693a0acb9c6c6c6c6c6c6c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000050d161e272f383f444f565d606b70787e848b90959b9fa3ababadb2b3b5b8b9bdbcbcbdbebebebdbcbcbdb9b7b5b3b2acabaaa39f9b95908b847e786f6b605d554e443f382f261e150d040000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4850585f686e757d848c92979ea0a8abacb2b4b6b8babfbcbdbebebebdbcbfbab8b6b4b2acaaa7a09d96918c837c746d675e574f473e362c231a11070000000000000000000000000000000000000000000000000000071019222b323a424a505961676d727a80868e92979b9fa3aaabadb3b3b5b8b9bebbbcbdbdbebebebdbdbfbab9b7b5b5afaca9a79f9d98928d86807a716c615e564e463f362d251b13090000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3c1b5a89b8e827568564c41362a1d110613202c3945515d677784919daab7c4c2b5a99c8f827669574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008131e28313a44505b666e7b85929ea4aeb9c3ced8dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0006111c26303b444f59626d75818e95a0aab4bfc8d2d0c6bcb1a79e938b7e716a5f554b41372d22190d040000000000000000000000000000000915212e3a45505a626565656565666667686a686d7074777c838a9197a1a8b2bac4cfd9d8cfc4baaea3998f82756b6054483b31261a0e000000000000000000000000000000000000000000000000000000000000000000000a15202a36424d57606d78828f95a0a8afbbbfc6cfd4cfc9c3bcb8b3adaba9a29f9b9796918e8b8885827f7b78746f6a66625f5853514b454039352f271f17110a02000000000000000000000000000000000000000000000000000007121d27313945515c666f7c86929faab4bfcdcbc0b5ab9f948a7d70665c5042382e1d140a0000000000000000000000000000000000000000060b141b222730363e444c525960676d737c838c92989fa6aeb4bcb2a89f93887d70675d51453d32271b0f03000713202d3a4653606d798693a0acb9c6d2d2d2d2d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000050e171f283039424a505960686d757d838b91969da0a7acaeb4b7b9bdc0c2c4c5c9cfc9cacbcbcbcac9cfc9c5c4c2c0bdb9b7b4aeaca7a09d96918a837d746d6760585049413830271f160e04000000000000000000000000000000000000000000000000000000000000000007111a242d373f49515a616a6f7a828a91969ea2a9acb2b7b9bdc1c3c5c6cad0cacacbcbcad0cac7c5c3c1bdb9b7b1aca8a19e95908780796e69605950483e352c23191006000000000000000000000000000000000000000000000000060f19222b343d444c545b606b70797f858d92989fa2a9acaeb4b8b9bec0c2c5c6c9cfc8c9cacbcbcacad1cbc7c5c4c1c0bbb9b6b1abaaa29f98928d857e756e68605850483f372d251b1209000000000000000000000000000000000000000000000004111d2935414b556774818e9aa7b4c1c4b7ab9e918478685e5246392d201307111d2935414b556874818e9ba7b4c1c5b8ab9e928578695f53463a2d2114070000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000060f19242f3a434e58606c78828f97a2adb6c0cbd5dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c060f17232e38424c56606b727f8c939ea8b1bcc5d0d6cabfb4aaa0958e81746c62584e433a2f251b10070000000000000000000000000000000005111d29343f4850565858585859595a5a5c565d6063676a6f767d859196a0a8b2bdc7d1dcd7cbbfb4ab9e94897d7063574d42362a1d12070000000000000000000000000000000000000000000000000000000000000000030f1b26323a46535f6973808d949fa7b1bac1cbd1d4cdc4beb9b1aca9a29f9a97928e8b8884817e7b7975726e696762605855534e46454039352f29241d150d0b050000000000000000000000000000000000000000000000000000060f18242f39434e58606d79839099a3aebcc5d0c7bbafa3998f82766b61544a3f30261c0b02000000000000000000000000000000000000030a11171d262d333b424650565d616b7079808790959fa3aab0babec4bbafa49a9184796d60584e43382b1f1306000713202d3a4653606d798693a0acb9c6d3dfdfddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000040d172029313a424b545b606b6f7a818990959ea1a8acb1b9babfc4c5c9cfcfd1d2d5dad5d5d4d3d4d5d6dad5d2d1cfcec9c5c4bfbab8b1aca8a19e95908981796f6a605b534a4239312820160d04000000000000000000000000000000000000000000000000000000000000050e19232c363f49515b626c717c848f939ea1a8adb3b9bdc4c5c9ced0d2d3d6dbd6d3d2d2d4d7d6d3d2d0cec9c5c3bcb8b2ada7a099938d837b6f6b615a50473e352b22180d0300000000000000000000000000000000000000000000050f18222b343d464e565e666c737d848c92979fa3aaadb3b9babfc5c6c9cfcfd1d2d5d4d2d2d1d0d0d1d2d4d7d3d2d1d1cbc7c5c2bcb8b4aeaaa29f97928a827a6f6a625a51493f372d241b100700000000000000000000000000000000000000000000010d18242f3e4b5865717e8b98aab4bfc5b9aca196877a6d6154473a2e2114070d18242f3f4b5865727e8b98aab4bfc6b9ada297887b6e6155483b2e2215060000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000030c18212935414c56606a737f8c949fa9b3bec8d2ddd7cdc5bbafa39991847a6d605a50453c30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c0d182128343f4a545e686f7d87929fa5afbac3ced5cbc3baaea2989183796d605a50463c31281d12090000000000000000000000000000000000010c17222d363f454a4b4b4c4c4c4c4d4e4f4c5254575860626c707b849196a0abb5c0cbd7dcd1c6bdb0a69c8f8276695f5346392e23180c000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58616e7b86929fa6b0b9c3ccd7d4cac2bbb3ada7a09d97928d8985817e7b7874716e6c6565625f5756544e4847433c38342e2924222323201c160f08000000000000000000000000000000000000000000000000040e18212935404b55606a73808d95a0abb4bfcec9bdb2a89f92877c6f62594f42382e1e140a000000000000000000000000000000000001070c151c23282f383f444d525a61686d747d848d9399a0a7aeb4bcc2caccc0b6aca0968d80736a6054473b2e221508000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000030c161f29323a434b545c666c737c848e939da0a7adb2b8bcc3c7cbd1d2d5d6d3d2cfcdcac9c8c7c7c7c8c9cbcdcfd2d3d7d5d2d0cbc7c3bcb8b2aca79f9d938e847c726c655c544b433a32281f160c0300000000000000000000000000000000000000000000000000000000020b17202b353e48515b626d727e8691969ea5acb2b9bec5c9ced2d5d6d3d2cecbd0cac6c5c6c7ccd2ced1d2d5d5d2cec8c4bdb9b1aba49f9590857d716c61594f473d342a1f150b010000000000000000000000000000000000000000040e17212a343d464e5860686d78808891969fa2a9aeb4babec5c7cbd1d2d5d2d1ced2ccc8c6c5c4c3c4c5c6c8ccd2cfd2d3d6d3d2cdc8c6bfbab4aea9a19e948f847c716c625b51493f362d22190e05000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6bdb2a8968a7d7063574a3d302417090716222f3c4955626f7c8898a3aebac7beb3a9978a7e7164574b3e2e23170b0000000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000b151e2a333c45525d686f7c87929fa6b0bbc5cfdbdbd0c5bbb0a69f92877c6f685d52483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f3225180c161f2a333c44505c666e7a859199a3afb7c1ccd5cec3b9afa59f92867c6e675d51483f342a1f160c0000000000000000000000000000000000000006111b242d343a3d3e3f3f3f3f3f4041424145474a4e545961696e7b849199a3afbbc3ced9d8cfc1b9ac9f93877b6e61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a75828f99a3aeb8c2cbd5d4cac2b8b0a9a19e95908b85817d7975716e69686562605b5355534d4948433d3a37312c28262b2e2f302f2c27211a110800000000000000000000000000000000000000000000030c16202a333c45515d676f7c87929fa7b1bdc6ccc4b9aca1968d80736a5f54473e30261c0c0200000000000000000000000000000000030b12181e262e343c414950575e616c717a818991969fa4abb1babfc6cfd0c7c0bbb2a89f93877c6f6256493c2f231609000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000020b151e28313a444c555d666d787f8791969ea5acb1b9bdc4c8ced3d7d6d3d0cac6c5c2c0bebcbbbabababbbcbec0c3c5c7cbd1d3d6d6d3cdc8c4bdb9b1aba59d9691877f776d665d554c443a31281e150a000000000000000000000000000000000000000000000000000000000a141d29323d47505a626d727f8a9298a1a8afb9bdc4cacfd5d9d4d0cac6c5c1bebbbfbab8b9bbc0bec1c5c6c9cfd4d8d4cfc9c3bdb5afa7a09792877e716b61594f463c31271d120700000000000000000000000000000000000000020c162029333c464e58606a6f7a828c939aa1a9adb3babfc6cad0d3d5d2cfc9c5c4c1bfc0bbb9b8b7b7b7b8b9bbc0bfc2c5c7cbd0d3d8d4d0cac6bfbab3ada69e9691867e726d625b51483f342b20170d020000000000000000000000000000000000000000000613202d394653606c7985929facb8c5bfb2a6998c7f7366594c4030251a0e0713202d3a4653606d7986929facb8c5c0b3a69a8d807367544a3f34281c100300000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000007121d27303c45505a606d7a849199a3afb8c2cdd7ded6cabeb3a99f948c7f736a60564c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322518131d28313c45505a606d78829097a1abb5c0c9d3d0c5bcb1a79d938b7e716a5f554b40362d22180d04000000000000000000000000000000000000000009121b22292e3132323232323333342f35393a3d43474f575f696f7c87929fa7b1bcc8d4e0d4c8bbafa49a8d8073665c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c88939eabb4bfcad4d7cec2b8b0a69f97918b837e7974706d6664615f5758555350494847423c3b38322e2b26222a31373a3c3d3c38332c231a0c030000000000000000000000000000000000000000000b151e28323c454f59606d79849199a3afb9c3cfc4baafa59e9184796d60584e43352c1e140a00000000000000000000000000000000070d151d242930383f444d535b60696e757e858e939ea0a8afb5bdc3cbd1ccc4beb6afa8a099928c8275685b4f4235281c0f000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000a141d27303a434c565e676d78818c9299a1a8afb8bcc3c9cfd4d9d5d0cac6c5bfbab8b6b3b1afaeaeadaeaeafb1b4b6b9babfc5c7cbd0d6d9d4cec9c2bcb8afa8a099928c81786d675d564c433930261c1106000000000000000000000000000000000000000000000000000006111b262f3a444f59616c727f8b919fa2aab2bac1c9ced6dbd6cec8c5bebab8b4b2afb4aeacacafb5b1b4b8b9bec5c7cdd5dad5d0c7c0bbb1a9a19992877d706b60584e43392f24180e0500000000000000000000000000000000000008131e28323b454e58606a6f7c848f949fa4acb2babec5cbd1d6d4cfc9c5c4bdb9b7b5b2b6afacababaaaaabacafb6b2b6b8babfc6c7cdd4d7d6d0cac5beb9b0a9a198928b7f726d625a50463d32291e140800000000000000000000000000000000000000000006121f2b3844505b6676838f9ca9b6c2c2b5a89c8f827569574d42362a1e1206121f2c3844515c667683909da9b6c3c3b6a99c908376665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0cad4dfd5ccc3baada2979082786d60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f32251818242f3a434e57616c73808d949fa9b2bdc7d1d6cabeb4aaa0958e81746c61584e43392f241b1006000000000000000000000000000000000000000000000911171d2124252525252626272724292c2d32383e454d57606a73808d95a0acb8c3ced9d8ccc0b6ac9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a5afbdc6d1dbd0c5bcb0a69f9490857e78716d6763605c5455534d4b4846443f3b3a37312e2c27211f202a343c4347484a48443d352c1e150b000000000000000000000000000000000000000007121d27303a444d57606b74808d96a0abb5c0cbc6bdb2a89e93897d70675d51463c32231a0c020000000000000000000000000000000711191f272f353c424a50575f656c727b828a91979da5acb2bbc0c7d0cfc9c0bab2aca49f96918780786d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3dededdd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000006111b262f39424c565e686d79828e939fa3abb2bac1c8cdd5dad6cfc9c5bebab8b4aeaca9a6a4a2a2a1a0a1a2a3a4a7a9acaeb4b8babfc6cad0d7dad5cdc8c1bab2aba39f938e82796d685d554b42382e23171007000000000000000000000000000000000000000000000000000b17222d38414c56606b717e87939fa3aeb4bcc4ccd5dad7cfcac3bcb8b4aeaba8a5a2aaa29f9fa4aba4a7abadb3b8bcc2c9cfd6d9d2ccc3bbb3aba39992867d6f6a5f554b40352920160c0200000000000000000000000000000000040e1924303a444d575f6a6f7d8691969fa6afb6bec4cad0d7d5cec8c4bdb9b8b2adaba8a5aca49f9f9e9d9d9e9fa4aca5a9acaeb4b7bbc2c7ccd2d9d6cfc9c1bbb2aaa39f918b7f726c62584e443b3025190e040000000000000000000000000000000000000000030f1c28333f4a546673808d99a6b3c0c4b8ab9e918578695e52463a2d201407101c2834404a546774808d9aa7b3c0c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000020b17202834404b545f69717e8b939ea8b2bdc7d1dcd8cfc3baafa59f92857b6e665c50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f322519222935404b555f6a717e8a929da6b0bbc4cfd5cbc3baaea2989083796d605a50463c31281d1209000000000000000000000000000000000000000000000000060c1115171818191919191a1b191d2021272b333c454e58606d7983919da8b2bdc8d4ddd2c7b9ada1978a7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909daab7c1cfd8d6cabeb4aa9f948f827a716c65605d5553514a4846423e3b3937332d2e2b26221f1b151e28323c464e535556554f473d30271c1207000000000000000000000000000000000000091218232e39424c565f69707d88939fa8b2bdc7cbbfb5aba0968e81746b61554b40342a201108000000000000000000000000000000020b19232b313940454e545c60696e777e858f939ea1a9afb9bdc4ccd2cdc4bdb9afa8a19a938d847c736d665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d1d1d1d1d1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000040e17222d38414b545d686d7a838f949ea5afb5bdc4ccd4d9d7d0cac4bdb9b3adabaaa29f9c9a9796959494949596989a9c9fa3aaacaeb4babec5cbd1d9d8d4ccc3bdb5aea59e948f837a6d675d544a3f342822190d040000000000000000000000000000000000000000000000030f1b27333f49535e68707d879299a4afbabfc6ced6ddd4cdc5bebab1acaaa29f9b9895949892939995989b9ea1a9abb1b9bec4cdd3ddd7cdc5bdb4aba29892857c6f675d51453e32281e1308000000000000000000000000000000020c16202935414c565e696e7c859298a1a8b0bbc0c7d0d6d5cec9c3bcb8b2adaba8a19e9b99969a939291909192939a95999c9fa3aaabb0b9bbc0c7d0d6dad5cdc4bcb4aea39b918b7e716a60564c41362a20160c0200000000000000000000000000000000000000000b17222d3d4a5764707d8a97a8b2bdc6b9ada197877b6e6154483b2e2115060c18232e3e4b5764717e8a97a9b3bec6baaea298887b6f6255483c2f22150700000000000000000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000a141d29323a45515c666e7b86929fa5afbac4cfd9dcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584b3f342a212b343d45515d676e7c86929fa4aeb8c2cdd6cec3b9aea49f92867b6e675d51483e342a1f160c00000000000000000000000000000000000000000000000000000105090b0b0c0c0c0c0c0d080d1113141b212a333d45515c66717e8a96a0acb8c4cfdad5c9beb3a99c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d3dfd3c6baaea2988f82796d68605b53514b4644403b3a36312f2d2b2722211e1a1513151e26303a444e585f626360594f42392e23180c020000000000000000000000000000000009121b242834404b545e686e7b85929aa4afbac3ccc3bbaea3999184796d60594f43392f22190e000000000000000000000000000000000a141d2b353d434b515860666d727b828b92989ea6adb3bbc1c9cecfc9c1bbb2ada59d96918880796f6a605c544b4034281c1004000713202d3a4653606d798693a0acb9c4c4c4c4c4c4c4b7aa9e9184776b5e5144382b1e11000000000000000000000000020c162027333f49535c666d7a8390959fa6afbbc0c7cfd6dcd7cec6bfbab2ada9a29f9a98928f8d8b898887878788898b8d9092989b9fa3aaadb3bbc0c7cfd4ddd5cfc6bfbbafa69e959083796d665c504440342b1f160c01000000000000000000000000000000000000000000020b19232b3744505b656d7a859199a3abb5c0cad0d8dbd2cbc2bbb3ada7a09d98928e8b888786858687888b8e92979d9fa7adb2bbc2cad2dad6cfc6bdb4aaa2979183796d605a50443a3025190d04000000000000000000000000000008131e28323a46525d686e7b849197a2aab2bac2ccd2d9d6ccc4bdb9b1aca8a19e9a96918e8c89878685848484858687898c8f92989c9fa6acafb5bdc4ccd7dcd6cfc6bfbaada39f92877c6f685e52463e32281e130800000000000000000000000000020608080a0a0a0614212e3b4754616e7a8796a1acb9c5beb3a9978a7d7064574a3d2d22170b0715222e3b4855616e7b8897a2adb9c6bfb4aa978b7e7164584b3e2e23180c0a0a0a0a0a0a0a0a0a0a0a0a08080602000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000006111b262f3a444f59606d79839098a2aeb7c1ccd6dfd7cbbfb4aba0968e81746c61574d42382e22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e7265584e463c3329323d47515b606d79839198a2aeb6c0cad4d0c5bcb1a79d928a7e71695f554b40362d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000104070a0f18212834404b54606c7884919ea9b3bec9d5dacfc5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a7b1bcc8d4ded2c5b8ab9f92857b6e675e56504945403a38342e2d2a2622201f1b1714120e0f171e273038424c565f6a6f706b60544a4034281e13080000000000000000000000000000000a121b242d363e45515c666d7a849197a1acb6c0ccc3b9b0a69f92877c6f675d51473d31281d100700000000000000000000000000000006111b262f3d474f555d606a6f787f8690949fa2aab0b9bec4cdd5cdc5beb9afa9a19e938e847d746d676058514b42392e23180c00000713202d3a4653606d798693a0acb8b8b8b8b8b8b8b8b7aa9e9184776b5e5144382b1e1100000000000000000000000008131e28323a44505b656d78828f95a0a7b0b8c1cbd1d9d9d1cbc1bcb4aea8a19e97928e8a8583807e7c7b7b7a7b7b7c7e8183868a8e92989fa2a9afb5bdc3cbd7dcd8d1cbc1b8b0a79f958f82786d605b51463d31281e13080000000000000000000000000000000000000000000a141d2a36424d57606c77828f97a1abb5bdc7d2dbdbd2c9c0b9b1a9a29f95908b85817f7c7a7979797a7b7e81858a90959ea1a9b0b8c0c8d1dad8cfc6bcb3a9a0958e81746c61564c41362a20150a00000000000000000000000000010d1924303a44505a616d7a839196a1a9b3bcc4ccd8d8d0cac0bab2aca7a09d96918d8984827f7d7a797878777778797a7c7f83868a8f949b9fa4abb2bac1cbd1d9d8d1cbbfbaaea39991847a6e615a50443a3024190d020000000000000000000003090e1214151616161616202d3946525e687884919eabb7c4c0b3a6998d80736653493f33271b161616212d3a46535f697885929eabb8c5c0b4a79a8d817467544b4034281c161616161616161616161616161514120f0a0300000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000040d17222d38414c56606b73808d95a0aab4bfc9d3ded6cdc5baaea3999184796d605a50453b30261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f726a60584e453b333b444f59626d75818e95a0aab4bec8d2d6cabeb3a9a0958d80746c61574d43392f241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232e3944505b66717e8b97a1adb9c6d2dfd3c7bbafa3998b7e7165564c41362a1d1105000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1beced9dacdc1b4a79a8e8174695e554c443f38352f2c2823211e1a1513120f0b080d141921293039424a545d686f7c7d70665c51443a3025190d030000000000000000000000000006131c242d363e48525b606d78829096a0a9b3bec7c5bbb1a79e948c7f726a60554b41352c1f160c000000000000000000000000000000000b17222d38414f5960676d737c838c92989fa6aeb3bcc1c9cfd0cac1bbb3ada59e96918a8179706b605d554e45403930271d120700000713202d3a4653606d798693a0ababababababababababaa9e9184776b5e5144382b1e110000000000000000000000040d1925303a444f59606c77818e949fa7b1b9c2cad7dcd7cfc7c0bbb0aaa29f96918c85817d797673716f6f6e6d6e6f707174767a7e82868d92979fa3abb1b9c0cbd1d9dcd7cac1b9b1a79e948e81746d63594f433a2f24190d030000000000000000000000000000000000000006111b262f3846535e69727f8c949fa9b3bdc7d0d9dbd2c9c0b7afa79f97928b837e7a75726f6d6d666c6d6f7174797e838a91979fa6aeb6c0c8d1dbd8cec5bcb1a79d938a7e71685e52463c32261b0f0500000000000000000000000005111d2935414c56616c76828f95a0a8b2bbc5ced6d7cec6bfbaafa8a09e95908a84807c787572706e6c666b6a6a666d6d6f7276797d82898f9399a0a8afbbc0c7cfd9dcd7cbbfb4aba1968f82766c61564c4135291e1308000000000000000000060e151a1e21222323232323232a36414c566875828e9ba8b5c1c2b6a99c8f8276655b5044372b23232323232b37424d576976828f9ca9b5c2c3b6aa9d908377665c5145382c232323232323232323232323232322211f1a150e06000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000010c161f27333f49535e68707d88939fa7b1bcc6d0dbdacfc5bbb0a69f92867c6f675d51483e33291e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f92867c6f6a5f574d453b424c56606b727f8b939ea7b1bcc5d0d4cbc2baada2979083796d605a50453c31271d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7985919eabb8c2cdd8d7cbc0b5ab9c8f8276685e5246392d201408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d6cabdb0a3978a7d7064574d433a332d29241f1c1814120e0906060a0f13191f252a333b424b545c666d7a8484786d60564c4135292015090000000000000000000000020a1117252d373f48505a636d75818e949fa8b2bbc5c7bdb3a9a0958f82776c60584e433a2f231a0d04000000000000000000000000000000030f1b27333f4953606b7079808790959fa3aab0babec5ced5cec5bebaafa9a19e938e847d746d676059514b433d342e271e150b0000000713202d3a4653606d7986939e9e9e9e9e9e9e9e9e9e9e9e9e9184776b5e5144382b1e1100000000000000000000010c161f2935414c56606b73808c939ea6b0b9c3cbd4dcd7cdc5bdb5afa69e98928c847f7a74706d676764636261616162636567676d71757a80858d92999fa7afbbc0c7cfd9dcd3cbc2b9b0a69d938c7f726b60554c4135291f150b010000000000000000000000000000000000000b17222d38414f59616e7b86929fa6b0bbc4cfd9ded3c9c0b7afa59d9590857f78716d67656261605c60616265676d71767e848f949da4aeb6c0c8d2ddd7cec3b9afa59f92857a6d61584e43372b21160b0000000000000000000000030e18212d3946525d68717e8b949fa7b1bac4cdd7d7cec5bcb4aea59d96918a837d78746f6a68666361605b5e5d545c60616266676d70767c828791969ea5afb5bdc7d1dcdcd1c6bdb2a99f948a7e71685d52453a3025190d0100000000000000060f1820262b2e2f30303030303030303f4c5965727f8c98abb5bfc5b8ab9f9285796c605346393030303030303031404d596673808c99a6b3bfc5b9ac9f9286796d6053463a3030303030303030303030303030302f2e2b2620180f060000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000007121d28313944505b656d7a85919aa4afb9c3ced7ddd5c9beb3a99f948c7f726a5f554b40362c21170c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c6baaea29892857c6f695f574d444a545e686f7d87929fa5afb9c3ced7cdc2b9aea49f92857b6e675c51483e332a1f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515c6673808d9aa7b1bcc7d3dcd1c5b9ac9f92867a6d6154473b3025190d010000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbafa295887c6f6255493c3027221b1812100c070c070c1013141a1e242930363d454d545c666d78828f8b7f72685e52463c31261a0c03000000000000000000020b141b2227373f49515a616c73808c939ea6b0bac3c7beb5aba2979183796d655b50463d31281d11080000000000000000000000000000000005121f2b3744505b65707d848d9299a0a7aeb4bcc2cad0d0cac2bcb3ada59e97928a817a706b605d554f4540393128231d150c030000000713202d3a4653606d788691919191919191919191919191919184776b5e5144382b1e110000000000000000000008131e28313a46525e68707d88939fa5afb8c2cbd5ddd7cdc5bbb3aba39f938f867f79726d6763605c55585655545454555658555d6064686e737a808790959da5afb5bdc7cfd9ddd4cbc1b8afa59f92877c6f675d51453e31271d12070000000000000000000000000000000000030f1b27333f4953606b75828f98a3aeb8c2cdd6e0d5ccc1b7afa59d938e837a726d66605d5555545350535455555c60646c717a828d929ca4aeb6c0cbd4dfd5ccc0baada2978d81746a5f53473d33271c1004000000000000000000000915202c38434f59616d7a85929ea6b0b9c3ccd6d8cfc5bcb3aaa29f938e847e78706c6562605859565453504a514a50535456555c60636a6f757c848e939fa3abb5c0cbd7dbd8cfc4bbb0a69e91857a6d60564c41362a1d1307000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d4956636f7c8999a3aebbc6baada297887b6e6155483d3d3d3d3d3d3d3d3d3d4a5763707d8a96a8b2bdc7baaea399897c6f6256493d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a22180e0300000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000050f18242f39434e58606c77828f97a1acb6c0cbd5e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd6cabeb4aaa29791857b6e695e564c505c666e7a849199a3aeb7c1cbd5d0c5bbb1a79d928a7e70695f554b40362c21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54626e7b88959fabb7c4d1ddd4c7bbafa3998b7e7265564c41362a1e11050000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f26201e19191818181819181c1f20262b2f353b41464f575e666d78818e9492857a6d61584e43372b1e150a0000000000000000000a141d262d334049515b626c717e8b929ca5afb8c2ccc0b6aca39992857b6e675d53493f342b1f160c00000000000000000000000000000000000613202d394653606c798390969fa3abb1babfc6ced6cec6bfbab0a9a29f938f857e756d686159514b433d352f271f18120b03000000000713202d3a4653606d788585858585858585858585858585858583766a5d5043372a1d10000000000000000000010d19242f3a43505a616d7a84919aa4afb7c1cad4ddd7cdc5bbb3a9a299928c827b726d66605d5553514b4b494848474848494b4b5154565e61676d737c838e939fa3abb5bdc7cfd9ddd3cac0bbafa39991847a6d605a5043392f24180c020000000000000000000000000000000005121f2b3744505b65707d89939eaab4bfcad4dfd8cec3baafa59d938e81786e68605c54514b494746444647484b51535a61686d78808d929ca4aeb9c2cdd7ded6cabeb3a99f93877c6f62594f44382c20150a000000000000000000020e1a26313b4854606b74818e97a1adb8c2ccd5d9d0c6bdb3aaa298928b8179716c66605b53544e4c4a4746443f443f444647494b51535860626a6f7a818b9299a3afbbbfc8d2ded6cdc2b9ada1978d8073685e52463a2f24180d0100000000000915202a333c4247484949494949494949494953606d7986929facb9c5beb3a9978a7e7164574b494949494949494949494954616d7a8796a1acb9c5bfb4ab988b7e7265584b494949494949494949494949494949494847433c342a20150a00000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000030c17212935404b555f6a727f8c949ea9b3bec7d2ddd8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdbd0c5bcb3a9a19791847b6e685e555a606d78828f96a1abb5bfc9d3d2c7beb3a99f958d80746c61574d43392e241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7683909da9b6c3d0dcd7cbc0b5ab9c8f8276685e5246392d2014080000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becfdad6c9bdb0a3968a7d7063554b4038302d2a2526252424252623292c2d31373a41454d525960696e78818e939e978d80746a5f53473d30261c11060000000000000006111b262f383f44525b636d727e87929fa4adb7c1c8c0bbafa49a92877d70695f554c41382d22190d04000000000000000000000000000000000005121f2b3744505b656e7b85929fa5afbac3cbd0d1cbc2bcb4aea69f97928b827a716c605d564f45413a3129241d150d0700000000000006121f2b3844505c666d787878787878787878787878787878787671665b4e4235291c1000000000000000000004111d2935414c55626c75828f96a1acb6c0c9d3dcd8cfc5bbb3a9a19792877f756e69605c54514b4645403e3c3c3b3a3b3c3d3e4145474c52555d606a6f79818b9299a3abb5bdc7d1dcdcd7cbc0b5aba1968e81756c61554b4035291f1409000000000000000000000000000000000613202d394653606c7883909da5afbcc6d0dcdcd0c6bcb1a89e938e81776d665e56504a45403c3a3a38393a3c40454650565d666c73808d929da7b1bbc5cfdbdbcfc5bbafa4998f82766b6054483c31261b0f02000000000000000006121e2b37424e57636f7c87939fa9b3becad4ddd2c7beb4aba29892867e746d67605b54504947433f3d3b3938332e34383a3a3c4045474e545860676d757e87929fa3adb6c0ccd5dfd5c9beb3a99f92867a6d61554b4035291d110400000000020e1a26313c454d535556565656565656565656565c677783909daab6c3c0b3a79a8d80746754565656565656565656565656565e687884919eabb7c4c1b4a79b8e81746855565656565656565656565656565656565655534e463c31261a0f02000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000a151e29333b45515d676f7c86929fa6b0bbc4d0d9dbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce2d7cec5bbb2a9a09691837a6d675d616c73808d949fa9b2bdc6d1d8ccc0b6aca2979083786d605a50453b30271d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424e5765717e8b98a4b1becbd7dcd1c5b9ac9f92867a6e6154473b3025190e0200000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3bec9d5d9cdc0b3a69a8d8073675d514a423c3936303232313132332f34383a3d43474c52565e616b707b828f939ea59f92877c6e62594f42382e23170c010000000000000b17222d384149505c636d727f889299a3afb6bfc8c0b6aea49f93887e716b60574d433a2f261b1007000000000000000000000000000000000000030f1b27333f49535e69717e8a939ea8b2bdc7cfc6bfbab0aaa29f948f857e756e68615a524c443e352f281f18120b030000000000000003101c28343f4a545c606b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6a665e554a3e32261a0d0000000000000000040e18222c3945515d67717e8b939ea9b2bec7d2dbdcd1c6bcb3a9a19792857d726d615e57514a45413a38342e302f2e2e2e2f302f35393b41464c51585f666d747f879299a3abb5c0cbd7dcdcd1c7bdb2a89e938a7e71675d51453b30251a0e03000000000000000000000000000007131f2c38434f5964707d8a95a0acb7c1ced8e2d6cbbfb4aaa0958e81786c655c544d443f38352f2e2d2c2d2e2e34383e444c545b606e74808d959fa9b3becad6dfd7ccc0b5ab9f94897d7063584e43372b1e130800000000000000000814212e3a47535f6a7683909aa4afbbc5cfdcd8ccc0b6aca39992867c716c605d55504a443f383832302e2d2b2823282b2d2e2f34383d43474e555d606c717e8b919ca4aebac3ced9dacfc4baaea2988c8073675d5145392c2013080000000006121e2b37424d575f626363636363636363636363636774818d9aa7b4c0c3b6a99c908376666363636363636363636363636363636875828e9ba8b5c1c3b7aa9d90847767636363636363636363636363636363636363625f584e43372b1f1206000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000006111c26303b45505a606d79849199a3aeb8c2cdd6dfd6cabfb4aaa0958d80746b61564c41382d22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e0d7cdc4bbb2a8a0959083796d6769717e8a929da6b0bbc4cfd7cdc5bbafa49a92857b6e665c51483e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5965717e8b98a4b1becbd7e0d4c7bbafa3998b7e7265564c41362a1e110500000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2ded1c5b8ab9e9285796d605c544e474641403f3e3e3e3f3f40404547494e53565d60686e747d8590949ea5afa3998f82756b61544a3f34281e13080000000000030f1b27333f49535b606e737f8b939aa3abb5c0c8c0b6aea49c928c7f726c62594f453b31281d140a00000000000000000000000000000000000000000b17222d38414d57616c75818e96a0abb5c0c3bcb4aea69f98928b827b716c615e565045413a3229241d160d07010000000000000000000b17232e38424a50535e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d5b554c43382d22160a00000000000000000a15202b37424d57606d7a85929ea5afbbc4d0d9ded7cbbfb4aaa19792857c706b625b524d444039352f2c28232322212121222324292c30363a41454e545c606d727e879299a3afbbc0cad4e0d9cfc4baafa59e9184796d60574d42362a1f140900000000000000000000000000000915222f3b4854606b7683909ca7b1bcc9d3e0ddd3c7baaea3989183796d665b534b423b342e292421201f202123282c323a424a505c606d78839097a2adbac2cdd8ddd2c7bdb0a69c8f82766a5f53473a3025190d0100000000000003101c28343f4a54626e7b88949facb6c0cdd7dcd4c8bbafa49a92877d706a625a514b443f38332d2b272321201f1c171c1f202123292c32373d434c515a626c737f8c929da8b2bdc8d4e2d6cabfb4aa9f92857a6d6053473a3025190d010000000814212e3a47535f696e70707070707070707070707070717e8b97a4b1bec5b8ac9f9285787070707070707070707070707070707070727f8c98a5b2bfc6b9ac9f93867a707070707070707070707070707070707070706e6a5f53473a2e211408000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000040e17232e38424d57616c74818e96a0abb4bfcad3dfd6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e9dfd6cdc4bab1a7a0959082796d6e7b86929fa4aeb8c2cdd6d0c5bbb0a69f93887d70695e544a40362c21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7783909daab6c3d0dde3d7cbc0b5ab9c8f8376685e5246392d20140800000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb8c3ced9d2c6b9ada1978e81746d66605854524c4d4c4b4b4b4b4c4d4b515356585f62686d727b818892979fa6afb5ab9e94897d70665c50443a2f24190d010000000005121f2b3744505b656c74808c919fa4acb5bdc7bfb6aea49d928c80736d625a50473d332a1f160b02000000000000000000000000000000000000000006111b262f3b45505a606d79849199a3afbbbbb1aaa39f9490867f776e69615a524c443e3530282018130c04000000000000000000000006111c2630383f444652525252525252525252525252525252504e4a433a31271c110500000000000000030f1b26313a47535f6973808d97a1adb8c1cdd6e2d5ccc3baaea39892857c6f6a60595146423b342e29241f1c1816151514151516181d20252a2f353c424b515b626c717e87929fa4aeb8c2ced8e1d6ccc1b9ada1968c7f73695e52463b31261a0e0200000000000000000000000005111e2a36414c56636f7c89949fabb9c3cedbdfd5c9bdb2a89f92867c6f675d544a41393028231c181413121314181c20282f383f44505c666e7b85929fa7b1bcc8d4ded9d0c2b7aa9e94887c6f62564c4135291d110500000000000006121f2c3844505c6673808d9aa6b0bec5c7cbd1c9beb2a99f93887e716b605850454039332d27221b1b171413120f0b10121314181c1f272b313a4145505a636d74808d96a0acb8c2d0d9dbd0c6baada2978a7e7164564c41362a1d11050000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8b97a4b1bec6baaea2988b7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c98a5b2bfc7bbafa4998b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6e6255483b2f221508000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000020c162028343f4a545e69717e8a939da8b2bdc6d1dcd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f1e8dfd6ccc3b9b1a79f948f827979839098a2aeb6c0cad4d2c7beb3a99f948d80736b61574d42392e241a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d56636f7c8995a0acb8c4d1dee8dcd1c6b9ac9f93877a6e6154473b3025190e020000000000000000000000000000000000000000000000000006121f2b3844505c6673808d9aa7b1bcc8d4d5c9beb3a99d938d80786f6a64615e565a5958575758595a555c6063676a6f747a7f868e939aa1a9b0b9bdb0a69d9183786d60564c4135291d1104000000000613202d394653606c77808c929ca3afb6bec7c0bbada49c928d80746e635b51483e352b21180d04000000000000000000000000000000000000000000000a141d29333e45515d676f7c87929fa6b0afa7a098928c827b726c655e575046413b3229241e160e0701000000000000000000000000000a141e262e34383a4545454545454545454545454545454543423e3831281f150a000000000000000006121f2b37434e58616e7b86929fa9b3becad3dfd9d0c3baaea49f92867c6f6a5f584f473f363028231c1813100c070908070809070d1114191e242930394045515a616c717e8b929da6b0bcc6d0dbded5c9bdb2a89f92867b6e61574d42362a1e13080000000000000000000000000713202d3946525e6875828f9ba6b0bccbd5dfd9cdc5b9aca0968c7f726a5f554b42382f271e17110d07070606070c10161d262d343f4a545e69717e8b959fabb8c1ccd7e2d3c7bbb0a69b8e8174685e5246392d2014090000000000000713202d3a4653606d7985919eabafb5b9babfc5c6b9ada1978d80736c61594f463f352f28221c17110f0a0806060300030607070c10151b1f282f353f48515b606d7884919da6b0bdc7d2ddd6cabeb3a99c8f8275685e5246392d2013070000000e1b2835414e5b68748189898989898989898989898989898b909ba6b3bfcabfb4aa9a908b8989898989898989898989898989898989898c919ba7b3c0ccc0b5ab9b918b898989898989898989898989898989898989898175685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000008131e28323a44505c666e7b85929fa5afbac3cfd8ddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0e9e4ded5ccc3b9b0a69e948e81818e95a0aab4bec8d2d8ccc0b6aca1979082786d60594f453b30271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975818e9ba7b1bcc8d4e0ede0d4c7bbafa4998b7e7265564d41362a1e11050000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c1cdd6cfc5bbafa59d928d827c76716d6868666565646465666668676d7073777b81868c92989fa4acb3bbc2c1b8aca0958b7f72685d5245392c201307000000000815222f3b4855626e7b858f949fa3aab1b9bdb5afa49c928d80776c605c52493f362d23190f060000000000000000000000000000000000000000000000020b17212935414b55606a737f8c949fa9a39f9590867f786e69605b534d453e3630292019130c04000000000000000000000000000000020c141c23282b2d383838383838383838383838383838383735322d271f160d0300000000000000000815212e3a47535f6a75828f99a3aebbc5cfdcddd2c7beb2a89d928b7e716a60584e463d352a251f18120d070400000000000000000104080d13191e272e343f48505a626c74808d949faab4bfcad6dfdacfc4baaea2988e8175695f53463a3024190d0000000000000000000000000714212e3a4754616d7a86929facb9c2cddfe0d4c8bcb1a79e9184796d60584e43392f261d150c0600000000000000040b141c232e38424d57606c7883909da6b0bbc7d3ded8ccc2b9ac9f92867a6d6154473b31261a0e0200000000000a1724313d4a5764707d8a979c9fa3abacaeb4b8bab1a79e9184796d605a50473d3429241d17110b06000000000000000000000000040a0d161e2429364044515c66707d8a949fabb5c0ccd7dbd0c5b9ac9f92867a6d6154473a2e2114080000000e1b2835414e5b6874818e96969696969696969696969696979ba2acb7c3d0c6bcaca29a97969696969696969696969696969696969696989ba3adb8c4d2c7bdada39b989696969696969696969696969696969696968e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000060f1924303a444f59606d78839097a2adb7c0ccd5e0d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e6ded8d3d1d0cbc2b8b0a69e938e8e939ea7b1bcc5d0d6cdc4bbafa49a92857b6e665c50473e33291e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cdd9e4f0e3d7ccc0b5ab9c8f8376685e5246392d20140900000000000000000000000000000000000000000000000000000b17232e3847545f6a7784919da5afbbc4cfd7cdc1b7aea49d948f88827e7a777573727171717272737577797c8084888d92989fa2aaafb6bec5cdc7bcb1a79e92857a6d6054473a2d211407000000000814212e3a47535f696e7a828b9298a0a7aeb4aba49f918c80746c655b504a40372d241b110700000000000000000000000000000000000000000000000000050f18242f3a434e58606d78829097a099928c837c726c665f575049413b332a251e170e08020000000000000000000000000000000000020a11171c1f202b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a2926221c150d04000000000000000005121e2a36424d57626f7c88939eabb4bfcdd6e1d8ccc0b6aca0968d80746c62584e463c342b231a140c07000000000000000000000000000001080c151d2328363e48505a606d78829098a2aebac2cdd8e0d6cabfb4aa9f92877b6e61564c4135291c11060000000000000000000005121e2b37424d5765727f8b99a3afbbc7d3e0ded1c4b8aca0958a7d70675c51463c31281d140b03000000000000000000020a111c26303b44505b656f7c89949eaab7c2cdd8e0d3c7bbaea3998b7e7265574d42362a1e120500000000000d1a2733404d5a667380888b8f92999c9fa3abacaeab9f958a7e71675d51483e352b2218120b0600000000000000000000000000000000040c1319242834404a54616c76828f99a4afbbc7d4e0d3c7bbafa3998b7e7164584b3e3025190e0200000e1b2835414e5b6874818e9ba3a3a3a3a3a3a3a3a3a3a3a3a4a6acb4bec9d8cebeb4aca6a4a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a5a7adb5bfc9d9d0beb5ada7a5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000030d18222935414c56606b73808c949fa9b3bec9d2ded7cec5bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce6ddd4cdc7c4c3c4c7c1b8afa59e9b9b9ea5afb9c3ced7d0c4bbb0a69f93887d70695e544a3f352c21170c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3aebbc7d5dfeaf4e8ddd2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000006111c2b37434e5864707d8a939ea9b3bdc6ced2c9c0b6aea69f9c948f8b878482807f7e7e7e7e7f80828486898d91959a9fa2aaaeb4bbc0c7cfc6bdb5afa39992857b6e6154483b2e2115080000000006121e2b37424d575f686d777f8690959da4aaa299938b7f736e605b53493f382e251b120900000000000000000000000000000000000000000000000000000007131d28313d44505c666e7b859295918780786f6a605b544d443f382f292119140d05000000000000000000000000000000000000000000060b1012131f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1d1c1a16110a030000000000000000000714202d3a46525e6974818e9ba5afbdc6d1dfdfd4c8bbafa49a9184796d605a50463d342a22191109030000000000000000000000000000000000030b1218242c363f44515c666e7b86929fa7b1bcc8d4dedbd0c6bbafa3998d8074685d5246382e23170b000000000000000000000714212d3a46535f697683909dabb5c0cbd7e1d5c9bdb2a89d9083776c61554b40342a1f160b020000000000000000000000000a151e27333f4953606a75828f9ca7b1bcc7d3e2d7cbbfb5ab9c908376695f53463a2d21140800000000000c1926323f4b58636e737b7e82868b8f92999b9fa2aa9d9083766c61554b41362c231910070100000000000000000000000000000000000001081218232e39424f59626f7c87939facb9c6d2dfd7cbc0b5ab9b8e817468564d41362a1e110500000e1b2835414e5b6874818e9ba7afafafafafafafafafafafb1b3b7bec6d0e0d0c6beb7b2b1afafafafafafafafafafafafafafafafafafb2b3b8bfc7d1e2d0c7beb8b3b1afafafafafafafafafafafafafafafafa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00010b151f2a343c46525d68707d87939fa6b0bcc5d0dbdbd0c5bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcded4cbc2bcb7b6b7bcc2c1b7afaaa8a8aaafb7c1cbd5d2c7bdb3a99f948c80736b60574d42382e231a0f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919eabb5bfcbd7e7e9e8e9e0d4c7bbafa4998b7f7265574d42362a1e110500000000000000000000000000000000000000000000000000000f1b26323c4955616c75818e97a1abb4bcc5cdd6c8c0b8b0aba69f9c9a93918f8d8c8b8a8a8b8c8d8f9193999a9da0a8acaeb4babfc5ccccc3bdb4aba49f92877d70695e52463a2d20140700000000020e1a26313c454d565e656c727c838d929ea19892877f736d635c504941382d261c130900000000000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a8d837c736d665f58504a423b332d261d170f08020000000000000000000000000000000000000000000000000306071212121212121212121212121212121210100d0a050000000000000000000004101c2934404b55616e7b86929facb9c1cfd8e1d6cabeb4aa9f93887d6f675c51483e342b2218100700000000000000000000000000000000000000000007121a242834404a545f69727f8b959fabb8c2ccd8e2d7cbc0b5ab9f92867a6d61544a3f34281c10030000000000000000000815222e3b4855616e7b88959fabbdc7d1dcded2c5b9aca0968a7e7164594f43392e22180d0400000000000000000000000000030c17222d38414e58636f7c89959fabb7c6d0dbdcd1c6b9ac9f93877b6e6155483b2f24190d01000000000a17232f3b47525c63696e72767a7e82868a8f92989b998b7e72655a50433a2f241a11070000000000000000000000000000000000000000000007121c27303e47535f6a76828f9ca9b5c2cdd9dcd1c4b7aa9e918477685e5246392d20140700000e1b2835414e5b6874818e9ba7b4bcbcbcbcbcbcbcbcbcbcbebfc3c9d0d9e2d8d0c8c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbfc0c4c9d1d9e2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0007121d27313c46515b616d7a849199a4afb9c2ced7ded6cabfb4aa9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd8cdc2b9b1aba9abb1b9c0c1bab6b5b4b6bac1c9d3d7ccc0b5aba1978f82786d60594f453b30261c1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc6d1dcdfdcdbdcdfd7ccc0b5ab9c908376695e52463a2d20140900000000000000000000000000000000000000000000000000000a15202d3944505a616d7a859199a2aab3bbc3cad0cac2bbb7b0aaaca49f9d9b99989897979899999b9e9fa4abaaacb1b8babfc6cad0c7c0bbb1aba399938b7f726b60574d42362a1e120500000000000915202a333c444c535b606a6f79808a929792867e726d635b52443f382f261b130a010000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c748180796f6a605c544e443f382f27221b140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3aebbc7d3e1dacfc6baaea2988d80746b60554b40362d221910060000000000000000000000000000000000000000000000081218232e39424d57606c7883909da6b0bbc7d3dedcd1c7baaea2988c7f73665c5044382b1f1207000000000000000004101d2935404b5566727f8c99a7b1bccfd9e3d8ccc0b6ac9e9184786c6053463e30271d100600000000000000000000000000000006111b262f3d4854606b7683909daab4bfcad6e0d4c8bbafa49a8c7f7266554c4135291d11040000000007131f2a35404a52565e6165686d71757a7e82868a8e92867a6d6054473e31281d12080000000000000000000000000000000000000000000000000b151e2b37434e5865727e8b98a7b1bcc8d4ded2c5b9aca096877a6e6154473b2e21140800000e1b2835414e5b6874818e9ba7b4c1c9c9c9c9c9c9c9c9c9cacccfd4dfe1e6e2dad3cfcbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cbccd0d4dee1e5e2dbd4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225170e050e18232f39434e58626d75818f96a1abb5c0cbd4e0d6ccc4baaea2989083786d60594f443a30241b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd3c7bcb1a79f9d9fa7aeb6c0c6c3c1c1c2c6cbd3d6cdc4bbafa49991857a6e665c50473d33291e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7683909da9b3becfd8d7d3d0cfd0d3d7d2c6b9ac9f93877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000004101c28333e46525e68707d879298a2a9b1babec5cccdc7c2bbb7b6afacaaa8a6a5a4a4a4a5a5a6a8aaacafb5b7b8bdc3c6caccc8c1bdb5afa7a09992877f726d62594f453b30251a0e020000000000030e18212a323a414950585f676d747d858e857c706c625b514940332d261d140a010000000000000000000000000000000000000000000000000000000000000006111c26303b45505a646f74736d676058504a423c332d261d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5bfcbd7e2d6cabeb3a99f92857a6d61594f43392f241b10070000000000000000000000000000000000000000000000000007121c27303b44505b666f7d89949faab7c2cdd8e3d6cabfb4aa9e9184796d6053463a2f23180c000000000000000006131f2c3945515d6776838f9ca9b6c2cddce0d4c8bbafa49a8c7f73665b5044382c1e150b00000000000000000000000000000000000a141d2c38444f5965717e8b98a2aebac6d3e0d8ccc0b6ac9c908376675d5145392c20130600000000020e19242e3840444d5254565e6165686d7175797d81858175685d5245392c1f160c00000000000000000000000000000000000000000000000000030c1b26323c4854616e7b8795a0acb8c4d1ded4c8bdb2a8978a7d7064574a3d3124170a00000e1b2835414e5b6874818e9ba7b4c1ced0d0d0d0d0d0d0d0d0d0d0d1d2d5dae1e8dfdbd8d9d4d2d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d1d2d5dae0e8e0dbd9dad5d2d1d0d0d0d0d0d0d0d0d0d0cec1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322920170e17202934404b555f6a727f8b939ea8b2bdc7d2ddd9cfc4baafa59f92867b6e665c51473d32281e12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9f9590959da4aeb9c3cecececfd2d7dacfc4bbb0a69f93877d70685e544a3f352c20170c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88959fabbbc4cfd3ccc7c3c2c3c7ccd4c8bbafa49a8b7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000b17222935414c56616b707d869297a0a7aeb3bbc0c7c8ccc7c7c0bbb9b7b5b3b2b1b1b1b1b2b3b5b7b9bbc0c4c5c8cec8c7c0bbb9b0aba49f9591877e726d625b51473d33291f140900000000000000060f1820292f383f444e555d606b707b817b6f6a615a5149403727221b140b020000000000000000000000000000000000000000000000000000000000000000000a141e29333e48535d646867605c554e443f383028221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717d8a98a2aebdc6d1dcdfd2c6b9ada1978c7f73685e52473d31271d12090000000000000000000000000000000000000000000000000000000b151e28333f4a54606b76828f9ca6b0bcc7d3e2dbd0c6b9ada197897d7063554b4034291c1004000000000000000714202d3a4753606d7a86929facb9c5d2dfdfd2c6b9ac9f93877b6e61544a3f33281a0c030000000000000000000000000000000000020b1b27323d4754606d7a86929facb8c5d2ddddd2c5b9ac9f92867a6d6054473a2d211408000000000008121c262e323b4246474c5254565d6064676d7175797a6e61564c4135291a0d0400000000000000000000000000000000000000000000000000000a15202d3a46525e697783909daab6c3d0ddd9cebfb2a5988c7f7265594c3f3226190c00000e1b2835414e5b6874818e9ba7b4c1c4c4c4c4c4c4c4c4c4c4c4c4c4c6c9cfd6dfe7ded5cec8c5c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c5c9ced6dee8ded6cfc9c5c4c4c4c4c4c4c4c4c4c4c4c4c1b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265564d443b322920171d29323b45515c676e7c86929fa5afbac4d0d9dcd1c7bdb2a89e938b7e71695f544a40352b20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d90838d929da7b1bcc6d0dbdcdee1d5c9bdb2a99f948c7f736b60564c42382e231a0e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3946525e6874818e9ba7b1bccdd3cac1bbb7b5b7bbc1caccc0b6ac9c908376695e52463a2d2014090000000000000000000000000000000000000000000000000000050d1925303a444f59616b707d8591959fa2aaafb6b9bdc3c5c9ccc8c6c4c2c0bfbebdbdbebfc0c2c4c6c7cccac7c5c2bdb8b6afaca69e99938d837c716c625b51493f352b21170d020000000000000000060e171d262d333c434b515961686e746e69605850483f372e2517110a0200000000000000000000000000000000000000000000000000000000000000000000020c17212c36414b53595b5a53514b433c342e261e17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828f9baab3becfd8e3ded1c5b8ab9e92857a6d60564c41352b1f150b00000000000000000000000000000000000000000000000000000000030c17222d38424f59626f7c88949fabb7c6d0dce2d5c9beb2a99b8e8174675c5145382c1f1306000000000000000a1723303d4a5663707d8999a3aebac7d3e0dccfc2b6a99c8f8376695e5342382d221708000000000000000000000000000000000000000a16202c3945515d6775818e9bacb6c0ccd8e0d3c7bbafa3998a7d7064574a3d2f24190d0100000000000a141c202930363a3b4146474c5254555d6064676d6e685e52443a3024190800000000000000000000000000000000000000000000000000000005121e2a36424d576673808c99a6b3bfd1dcdacdc0b4a79a8d8174675a4e4134271b0e01000e1b2835414e5b6874818e9ba7b4b7b7b7b7b7b7b7b7b7b7b7b7b7b8b9bec4cdd6e0d5ccc3bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b9bdc4ccd6e0d6ccc4bdb9b7b7b7b7b7b7b7b7b7b7b7b7b7b5a89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72685e564c443a322920262f3b444f59606d79839098a2aeb7c1ccd6dfd7cbc0b5aba1968e81756c61574d42392e23190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbfb2a5988c7f808d95a0aab4bfcad6dfe8dfd2c5b9ada1968f82786c60594f443b30261c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb9c2cdccc1b8b0aaa8aab0b8c1ccc6b9ac9f93877b6e6154483b30251a0e02000000000000000000000000000000000000000000000000000008131e28323e474f59616b6f7c838c92989fa4acacb2b7b9bdbfc1c4c5c6c7ccd2c9c9c8d1cbc7c5c4c2c0bfbab8b6b2acaca49f9c948f8780796f6a615a51493f372d23190f0500000000000000000000050b141b2227313940454f565e6167615f574e463e362d251c130600000000000000000000000000000000000000000000000000000000000000000000000000050f1a242f3941484c4e4d464540393028231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d0dfe0d4c8bcb1a79a8d8073675d51443a3023190d03000000000000000000000000000000000000000000000000000000000006111c262f3d47545f6a7683909caab4bfcbd6e3dacfc4b8ab9f9285796d6053473a2d20140a00000000000004101c2834404a546773808d9aabb4bfcbd7e2d6cabeb3a9988c7f7265574d422f261c11060000000000000000000000000000000000000004111d2935414b5564717e8a9aa4afbbc8d4e0d7cbc0b5ab9a8d817467564c4135291d11040000000000020a0e171f252a2d3036393a4145474b5153555c60615e564c4132281e1308000000000000000000000000000000000000000000000000000000020e1a25303d4a5663707d8996abb4bfcbd7dccfc2b5a99c8f8276695c4f4336291c1003000e1b2835414e5b6874818e9ba7aaaaaaaaaaaaaaaaaaaaaaaaaaaaabadb3bbc4cfd9cec3bab2acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacb2bac4cedacfc4bab2adabaaaaaaaaaaaaaaaaaaaaaaaaaaa89b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7aa9d91847a6e685e564c443a32282d38424d56616c74808d95a0aab4bfc9d3ded7cdc5bbafa39991847a6d605a50453b30271c110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb2a6998c7f79839098a2aebac1cdd6e2ded1c4b8ab9e91847a6d665b50473d32291e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66727f8c98a3aebac7d3c7bbb0a69e9c9ea6b0bbc7c8bbafa49a8b7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000020c16202c353e474f59606a6f787f858e939a9ea0a8aaacb2b2b4b7b8b9bbc0bbbcbcbcbbc0bbb9b7b5b4b4aeaca9a8a09d9a938f89827c736d67605850483f372d251b1107000000000000000000000000020a11171f272f353e444d52545b55534d453d342c241b130a00000000000000000000000000000000000000000000000000000000000000000000000000000008121d262f363c4041403a38342e271e17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0ded1c4b8aca095887c6f62554b4132281e1007000000000000000000000000000000000000000000000000000000000000000a141d2b37434e5865717e8b98a3aebac7d3e0dfd3c6baaea2988a7d7164574a3e31261a0f03000000000006121f2c3844515c667783909daab6c3d1dcdfd3c6baada297887c6f6255493c3122140a0000000000000000000000000000000000000000010d18242f3a4754616d7a87939facb9c6d2dfdcd1c4b7aa9d918477685d5245392c20130600000000000000050d14191e20252a2d2f35393a4045474b515354524c443b3020160c02000000000000000000000000000000000000000000000000000000000915222e3b4855616e7b8899a3aebac7d3ddd0c4b7aa9d9184776a5e5144372b1e0700000e1b2835414e5b6874818e9b9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a9b3bec9d4c8bdb2a8a09e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9ea1a8b2bdc9d5c9bdb2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9b8e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0ddded1c5b8aca09691837a6e685e564c443a32333f4a545e69707d8a929da7b1bcc6d0dbdbcfc5bbb0a69f92877c6f675d51483e332a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d80737b86929fa5afbbc4d0d9d6c9bcb0a396897d70685e544a41382d22171309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919eaab4bfcbd0c3b7aa9e948f949eaab7c7ccc0b6ac9c908376695e52463a2d201409000000000000000000000000000000000000000000000000000000040e1a232c353d464f585f666d727a81878c91969a9ea0a8a5a8aaabacafb5aeafafafaeb5afacaaa9a7aaa29f9c9996918c87827c756f6a605c554e463e362d251b1309000000000000000000000000000000060d151d2429323b4146474e4846423b332b221a110901000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b303335342d2c28231d150c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9cabb4bfcbd7e3d7cbc0b5ab9d9083776a5f53433a2f20160c0000000000000000000000000000000000000000000000000000000000000000020b1b26323c4754606d7a86929facb8c4cfdae2d6cabeb3aa9b8e817568584e43372b1f120600000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d1dcdfd2c6b9ac9f93867a6d6054473a2d211407000000000000000002090e1114191d2024292c2f35393a4045464746413b32291e0e0400000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2ded1c4b8ab9e9185786b5e52452e23180c00000e1b2835414e5b6874818e919191919191919191919191919191919197a1adb9c7d2c5b9aca096919191919191919191919191919191919191919196a1acb9c4cec5b9ada196919191919191919191919191919191918e8275685b4f4235281c0f020000000000000000111e2b3744515e6a7784919daab7c4d0dde1d4c8bdb2a8a09591837a6d685e564c443a3a44505b666e7b85929ea4aeb9c3ced8ded6cabeb3a99f948c7f736a60554c41362d21180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b4a79a8d8174717e8b939ea9b3bdc7d2ddcfc2b5a99c8f82796d665c53493f3327251b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a96a1adbcc6d1cabeb3a99c8f828f9cacb6c0ccc6b9ac9f93877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000008111a232c343d464e545c60686e747b7f84898d919696989b9d9f9fa4a1a2a2a3a2a2aba39f9e9c9a9898928f8c89847f7b756f6a625f58514b433d342c241b13090100000000000000000000000000000000030b121820293036393b413b3a36312921191008000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a2024272827201f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dce0d3c7bbafa3998b7f7265584e4331281d0e050000000000000000000000000000000000000000000000000000000000000000000a15202c3945525d6875818e9ba9b2bec9d5e1dbd0c4b8ab9e9185786a5f53473a2e21150800000000000915222f3c4855626f7c8898a3aebac7d3e0dbcec2b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000000000005111e2a36414c566774808d9aabb5c0cbd7e0d4c8bbafa49a897c706356493d30231606000000000000000000000205080d1113191d2024292c2e34383a3b3936302920170d00000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885919eabb8c4d1ded2c5b8ab9f9285786c544b4034281c1004000d1a2733404d5a667380848484848484848484848484848484848485919eacb6c0ccc4b7aa9e918484848484848484848484848484848484848484919ea8b2bdc9c4b7ab9e9184848484848484848484848484848484848074675a4d4134271a0e010000000000000000111e2b3744515e6a7784919daab7c4d0dde5d9cec3bab1a8a09590837a6d685e564c44434e58606c78828f97a1adb6c0cbd5e0d5ccc3baada2979082786c60584e433a2f241b0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746c75818e97a1abb5c0ccd7d0c3b7ab9f948f81786d655b504440372d241b1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9ca8b2bdcfd2c6b9ada1978a7d8a9aa4afbbc8c8bbafa49a8c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000008111a222b343c424a50565e61696e73777c818487898c8e91929399949596969595949992918f8d8b8986827f7c77736e69626058534e454039312b221a12090100000000000000000000000000000000000001070e171f252a2d2e342e2d2a261f170f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1a1313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2aebac6d3e2dfd2c5b9ac9f92867a6d6154473c3121160c0000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a97a1adb9c6d2dfdfd2c6b9ada197887b6f6255483c2f22150900000000000b1825313e4b5864717e8b97aab4bfcbd7e1d5c9beb3a9988b7f7265544a3f33281c0f03000000000000000000000000000000000000000000010d1925303d4a5764707d8a99a3afbbc7d4e0d8ccc0b6ac988c7f7265594c3f2e23170b000000000000000000000000000105080d1113181d1f23282c2d2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7784919eaab7c4d1ddd2c5b9ac9f928679665c5145382c1f1306000c1926323f4b57636e7377777777777777777777777777777777777d899aa4afbbc8bcafa295897c7777777777777777777777777777777777777a8796a1acb9c5beb1a4988b7e77777777777777777777777777777777746e64584c3f33261a0d000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae0d5ccc3bab1a7a09590837a6d685d564c4c55606a727f8c949fa9b3bec8d2ddd8cfc3baafa59f92857b6e665b50463d31281e120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b5a89b8e8275686d7a859199a4afbbbfc8d3c7bbb0a69e938e81776c605b52493f362d241a1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2935414c56626f7c88949fabbac4cfd1c5b8ab9e92857a86939facb9c6ccc0b6ac9d908376695e53463a2d2114090000000000000000000000000000000000000000000000000000000000081019222a30383f444c52575e61666a6f74777a7c7f81848586878788898989888787868482817f7c7976736f6a66615e57544e47433c342f271f19100800000000000000000000000000000000000000000000050d14191e20212822211e1a140d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0e0e0d070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99aab4bfcad6e2d7cbbfb5ab9b8f8275685e5246392d20130400000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606d7984919eabb8c4d1dce1d5c9beb3a9988b7f7265584c3f30251a0e02000000010e1b2734414e5a6774818d9aa7b4c0d1dcdfd2c6b9ada197887b6f6255483c2d22170b00000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d2dfddd2c1b4a89b8e817568544a3f34281c10030000000000000000000000000000000104070c1013181c1f2021201e19140d0500000000000000000000000000000000000000000000000000000000000000000b17222d44515d6a7784909daab7c3d0ddd3c7bbafa39986796d6053463a2d201307000a17232f3b47525c63666a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6d7a86939facb9c6beb1a5988b7e726a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a687884919eabb7c4c0b4a79a8d81746a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67645c52473c3024170b000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae7ded5ccc3b9b1a7a09590837a6d685d56515d676f7c87929fa6b0bbc5cfdadcd1c6bdb2a89d938a7e71695e544a3f342b1f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcfc2b5a89c8f82756968707d87939fa3adb6bfc8ccc2b8afa59d938d80746d635b51483e362c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3945525d6874818d9aa6b0bbccd6cfc2b6a99c8f837784919eaab7c4d2c7b8ab9f95877b6e6154483b31251a0e0200000000000000000000000000000000000000000000000000000000000710181e262e343b41464d535458606267686d7072757778797a7b7b7c7c7c7b7b7a79777674726f6d666662605854534d47433d373229231d150d0700000000000000000000000000000000000000000000000002080e1114141b1514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3d0dbe0d3c7bbaea3998a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505c6673808d9aaab4bfcbd7e3dacfc2b5a89c8f827569574d42362a1e120500000004101c2934404b55697683909ca9b6c3cfdcded1c5b8ab9e9285786a5f53473a2e1c110600000000000000000000000000000000000000000000000613202c3945525d687683909da9b6c3d0dcddd0c4b7aa9d918477665c5044382b1f12060000000000000000000000000000000000000004070c1013131414110d0802000000000000000000000000000000000000000000000000000000000000000000061e2a3744515d6a7784909daab7c3d0ddd3c7baaea39986796d6053463a2d2013070007131f2a35404a52575a5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5d687784919daab7c4c1b4a79b8e817468555e5e5e5e5e5e5e5e5e5e5e5e5e566875828e9ba8b5c1c3b6aa9d908377665c5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362b1f1307000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf0e7ded5cbc3b9b1a7a09590837a6d685d5a606d7a849199a3afb8c2cdd7dfd7cbbfb4aba0968e81746c61574d42382d22190d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b6a99c8f837669616b717e8b919ba4adb6c0c9cac1b7afa59d928c7f736d625a50483e352b221910060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a86929facb8c2cdd8ccc0b6ac9a8d8075828f9ba8b5c2d2c7bcb1a7988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000000000000060c151c232830363b4246484e5456565d606365686a656c6d6e6f6f706f6f6e6d6d6669676563605c5456544e4846423b37322b262018120b03000000000000000000000000000000000000000000000000000000020507080e08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfdfd2c5b9ac9f92867a6d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54636f7c8998a3aebac7d3e0ded2c5b8ab9f928578695e52463a2d20140700000006131f2c3845515c677885919eabb8c4d1dedccfc2b5a99c8f827669584e43372b1f0a00000000000000000000000000000000000000000000000004111d2935414c566774818e9aa7b4c1cddadfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000020507080b0e100a0a08040000000000000000000000000000000000000000000000000000000000000004101c2834404b556b7884919eabb7c4d1ded2c5b9ac9f928679665c5144382c1f120600020e19242e3840474b4d51515151515151515151515151514c566874818e9ba7b4c1c4b7aa9d918477675d515151515151515151515151515966727f8c99acb6c0c5b9ac9f9286796d60535151515151515151515151514d4c4740382f24190e03000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e7ddd5cbc3b9b1a7a09590837a6d68616c75818e96a0abb5c0cad4dfd6cdc5baaea3999184796d605a50453b2f261c1007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a59626c727f8c929ca4aeb7c0c9c9c1b7aea49c928b7f726c625a50473d342b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d4d4c8bbafa49a8b7e73808c99abb5c0cccdc2b6a99d908376695e53463a2d21140900000000000000000000000000000000000000000000000000000000000000030a11171e252a31363a3d4348494c525456595b535b60606162636362626161605c545a585653514b4947433d3a36312b27201b150c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a3afbbc7d3e0dcd0c3b6a99d908376675d514539291e1308000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7986929facb9c5d2dfdfd3c6baada297877b6e6154483b2e2115080000000714202d3a4753606d7a86939facb9c6d2dfdacdc0b4a79a8d8174675a4e4131261a0f010000000000000000000000000000000000000000000000010d19242f3f4c5966727f8c99a5b2bfccd8e0d3c7bbaea399877b6e6154483b2e2115080000000000000000000000000000000001040707090e121415181a1d171614100b05000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1ded1c5b8ab9e9285786b544a4034281c1004000007121c262e353b3f4044444444444444444444444444444b5865727e8b98aab4bfc6b9ac9f93867a6d60544744444444444444444444495663707c899aa4afbbc7baaea399887c6f6255494444444444444444444444413f3c362f261d130800000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f9f0e7ddd5cbc3b9b1a79f9590837a6d69717e8b939ea8b2bdc7d1dcdacfc5bbb0a69f92867c6f675d51483e33291d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d5a626d73808c929da5afb7c1cac9c0b6ada49f93887e716c61594f463d342a21180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d2c6b9ac9f93877a707d8a99a4afbbc7d1c4b8ab9f95877b6e6154483b31261a0e020000000000000000000000000000000000000000000000000000000000000000060c14191f252a2d32383b3c414547494c4e49505354545556565655545453514a4e4c494645403c3b37322d2a251f1b150f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0b0b0b0b0b0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0f0f12121212121212120c0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7e3d9ccc0b3a6998d807366554b403529170c020000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677683909ca9b6c3cfdce2d6cabeb3a9968a7d7063574a3d3024170a0000000815222f3b4855626e7b889aa4afbbc8d4e0d8cbbfb2a5988c7f7265594c3f3226190a00000000000000000000000000000000000000000000000000081724313e4a5764717d8a97a4b0bdcfdae3d7cbbfb5ab96897c706356493d3023160a000000000000000000000000040607080d111314171a1e212224272a2423201c171008000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2ded1c4b7ab9e9184786b5e51452e23180c000000000a141c242a2f3233373737373737373737373737373c4955626f7c8898a3aebac7bbafa499897c706356493d37373737373737373a4754606d7a86939facb9c6bfb4ab988b7e7265584b3f2f3737373737373737373433302b241d140b0100000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fff9efe7ddd5cbc3b9b1a79f959083796e7b86929fa5afbac4cfd9ddd5c9beb3a99f948c7f726a5f554b40362c21170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e515b636d73808d939da5afb8c1cac8bfbbafa49a92877e706b60584e463c332a20170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5763707d8a96a0acbcc6d0dbd0c3b6aa9d9083776d7a86939facb9c6d2c8bcb1a7988c7f7265574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000002080e141a1e21272c2e3035393a3d3f423f4446474848494949484847464440413f3c3a38342e2e2b27211e1a140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080d1113141516161717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f181815110c0600000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d1dce2d6cabeb3a9968a7d7063574a3d2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556673808c99a6b3bfd1dce6dbcfbfb2a5998c7f7266594c3f332619070000000a1724303d4a5763707d8a96acb6c0ccd8e4d6cabdb0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000915222f3c4855626f7c8895a9b3bec9d5e1dcd1beb1a4988b7e7165584b3e3225180b00000000000000000000070c10121316191d202123262a2d2e31343731302d28221a12080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8899a4afbbc7d4ddd0c3b7aa9d9084776a5d5144372a1e0700000000020a12191f2326272b2b2b2b2b2b2b2b2b2b2b2b2d3a4653606d7986929facb8c5c0b5ab988c7f7265594c3f30252b2b2b2b2b2c3945515d677784919daab7c4c1b4a79a8e817467554b4034292b2b2b2b2b2b2b2b2726241f19130b020000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7fffff9efe7ddd5cbc3b9b1a79f9590827a839098a2aeb7c1ccd6e0d5cbc3b9ada1978f82776c60584e43392f241a0f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51525b646e74818e939ea6b0b8c2cbccc0b6aca39992867d706a60584e453b322920160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7d5c9bdb2a8998d8073687783909daab6c3d1cdc2b6a99d908376695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000003090e12161b1f2224292c2d30322d3337393a3b3c3c3d3c3c3b3a3a38342e32302d2c2823221f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d202122222324242424242422211f1b150e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556976838f9ca9b6c2cfdcdfd2c6b9ada297877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a97aab4bfcbd7e3dbcec1b5a89b8e8275685b4f422f24180d0100000c1825323f4b5865727e8b98a5b1bed2dde1d5c9beb3a995887c6f6255483c2f221509000000000000000000000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000030b12181c1f202224292c2d3031363a3b3e41433d3c39332c241a0c0300000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97abb5c0ccd7dbcfc2b5a89c8f8275695c4f4236291c0f030000000000070e1317191a1e1e1e1e1e1e1e1e1e1e1e1f2c3844515c667683909da9b6c3c1b5a89b8e827568564c41362a1d1e1e1e1d2935414c556874818e9ba7b4c1c3b6aa9d908377675c5145382c1f1e1e1e1e1e1e1e1a1a17130e0801000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7faf4efece9e6ddd4cbc2b9b1a79f94908590959faab4bfc9d3ded8cec3b9aea49e92857a6e655b50463c31281d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5249525c606c78818e949ea6b0b9c2cbc7beb5aba39892867c6f6a5f574d443b32281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd2c5b9ada196897c6f6673808d99aab4bfcbd1c4b8ab9f95887b6e6155483b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000002050a0f1315191d2021232622272b2d2d2e2f30302f2f2e2e2d2c28232523201f1c1815130f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f11171c1f202324292c2d2e2f303131313131312f2e2b262018100600000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c313436393939393939393932312e29231b1209000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677885929eabb8c5d1deded1c5b8ab9e928578685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3b4855626e7b8898a3aebac7d3e0ddd0c3b7aa9d9084776a554b4035291d110400000d1a2633404d596673808c99a6b3bfccd9dfd2c6b9ada197867a6d6053473a2d201407000000000000000000000000000000000000000000000000000613202c3945515d677885919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000000070c151c23282c2d2f3035393a3d404246484b4d504a49443e362c1e150b0000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aa7b3c0d2dddacdc0b3a79a8d8074675a4d4134271a0e0100000000000002070a0c0d11111111111111111111101c2834404a546774808d9aa7b3c0c4b7ab9e918478685e5246392d2013110d19242f3f4c5865727f8b98abb5bfc5b9ac9f9286796d6053473a2d20141111111111110e0d0b07030000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaf7f0e9e3dfdddcdfddd4cbc2b9b0a69f9792979fa7b1bcc5d0dbdbd0c6bcb1a79d928a7d70685e53493f342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524544505b666d78828f949fa7b1b9c3ccc7bdb4aaa29892857c6f695f564d443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774808d9aa4afbbc8d4ded1c4b7ab9e9184786c63707d8998a3aebac7d3c8bcb1a7998c7f7266574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000307080d1113141619171b1f20212122232323222121201f1c1819161313100c070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f151b1c22282b2d302f35393a3b3c3d3d3e3e3e3e3e3c3a37312a22180e0400000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545453f3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798697a1adb9c6d2dfdccfc3b6a99c90837669564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfded2c5b8ab9f928578675d5145392c20130600010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578675d5145392c2013060000000000000000000000000000000000000000000000000004111d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c070000000000000711191e272e34383a3c3f4145474a4c4d5355575a5d575550483e30271c12070000000000000000000000000000000000000000000000000a15212e3a47535f6a7884919eabb7c4d1ded8ccc0b6ac988b7e7265584b3f3225180c000000000000000000000000040404040404040404000c18232e3e4b5764717e8a97a9b3bec5b9aca196877a6d6154473a2e2114070816232f3c4956626f7c8999a3aebbc7bbafa399897c6f6256493c2f231607000404040401000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaeee6ded8d3d0cfd2d4d8d4cbc2b9b0a9a19ea1a9b1b9c3ced7dfd6cabfb4aaa0958d80746b61564c41382d22180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463f4a545c666d79828f959fa7b1bac3ccc6bcb4aaa29791857b6e695e564c433a31271e150b0200000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb6c0ccd8d4c8bcb1a79a8d807365606d7986929facb9c5d2cdc2b6aa9d908377695f53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a060b0f12131415151616161515141312100c0709070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d151a20272b2d3338393d404145474849494a4a4a4a4a4a4847433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f52525252525252524b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3bec9d5e1dacdc0b4a79a8d8174675a4e413025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daab7c3d0dddfd3c6baaea298867a6d6053473a2d20140700020f1c2835424f5b6875828e9ba8b5c1cedbdcd0c3b6a99d9083766a554b4035291d110400000000000000000000000000000000000000000000000000010d18242f414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c0000000000040f19232b3039404446494b4c52545659575f6164676a64615a5042392e23180d040000000000000000000000000000000000000000000006111c26303c4855626f7b8896a1acb9c5d2ded4c8bbafa49a897d7063564a3d3023170a000000000000000000000000000000000000000000000715222e3b4855616e7b8897a1adb9c6bdb2a8968a7d7063574a3d302417090713202d3a4653606d7986929facb9c5c0b5ab988b7e7265584b3f2f24180c000000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeae6dcd4cdc7c4c2c6c8ccd2d4cbc2bbb3adabadb3bbc3cbd4e0d6ccc4baaea2989083796d60594f443b2f261b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f524638424a545c676d79839095a0a8b2bac4cdc5bcb3a9a19791847b6e685e554b433930261d140a000000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5965727e8b97a2adbec7d2ddd1c5b8aca095887c6f625c6776838f9ca9b6c2ced1c4b8ab9f95887b6e6155483c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070809090a0909080707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920262b3237383f4446494c4c515455555657575757575755534e463c31261b0f03000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b545a5c5f5f5f5f5f5f5f5f585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbccfdae6d8ccbfb2a5998c7f7266594c3f332619080000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbe2d6cabeb3aa95887b6e6255483b2f2215080003101d293643505c6976838f9ca9b6c2cfdcdbcec2b5a89b8f8275685c4f422f24180d010000000000000000000000000000000000000000000000000000071a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544a4034281c1004000000000b16212b353d424a51535558565d60636669696e717476706c61544a4034281f160c040000000000000000000000000000000000000000030d17232e38424f5966737f8c99a8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211407000000000000000000000000000000000000000000000714212d3a46535f697885929eabb8c5bfb2a6998c7f7366594c4030251a0e06131f2c3845515c677783909daab6c3c1b4a79a8e817467554b4035291d10040000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddeaded4cac2bbb7b6b9bbc0c7d0d4cdc5beb9b8b9bec5cdd4ddd9d0c4baafa59f92867c6e675c51473e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52462f39424b555d676d7a839096a0a8b2bbc4cdc5bbb2a9a09690837a6d675d554b42382f261b11060000000000000000000000000000000000000000000000000000000000000000000000010b16222f3b4854606b7783909da9b3bed0d9d6cabfb4aa9d9184776a5f5566727f8c99a8b2bdc8d4c8bcb1a7998c7f7266574d42372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d161e242931373c43474a50535659555d60616263646464646464625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65696c6c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7e4d7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e414e5a6774818d9aa7b4c0cddae6dbd0bcafa396897c706356493d3023160a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9ded2c5b8ab9f928578665c5144382c1f120600000004101b27323d474f545c60626568686d707375787b7e80837e70665c51443c31281e160d05000000000000000000000000000000000000030c151f28343f4a54616b7783909daab6c3cedaddd0c3b7aa9d908377685e5246392d2013070000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b5c2c2b5a89c8f827569574d42362a1e1205101c2834404b556774818d9aa7b4c0c3b7aa9d908477675d5145382c1f13060000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dde3d8cdc2b8b0aba9acafb6bec7d0d7cfcac6c5c6cacfd7dfddd2c7bdb2a89e938b7f726a5f554b40352c20170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246393039434b555d686d7a849196a1a9b3bbc5cdc4bbb2a8a0959083796d675c544a41382d221713090000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d5763707d8995a0acbcc5d0dfd3c6baaea2988b7f72655855626f7b8896a0acb9c5d2cdc3b6aa9d908377695f53463a2d2115090000000000000000000000000000000000000000000000000000000000000000000000000000000001040607080705020000000000000000000000000000000105070709090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f282f353c43474e54545b60636668676d6e6f707071717171716f6a5f53473a2e211507000000000000000000000000000000000000000000000000000000000000000000000000020f1b2834414d5a6570757878787878787878726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e3d6c9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000006192633404c5966737f8c99a6b2bfccd9e4d7cabeb1a4978b7e7164584b3e3125180b0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8dfd3c6baaea29886796d6053463a2d2013070000000713202c38444f5960666d6f7274777a7d7f8285888a8d9084796d60584e433a30281f170e0701000000000000000000000000000000050b151e27313944505c66707d8a959fabb8c4d1e0d6cabeb4aa9a8d807467564c4135291d110500000000000000000000000000000000000000000000020e1a2631404c5966737f8c99a6b2bfc4b8ab9e918578695e52463a2d2014070c18232e3e4b5865717e8b98aab4bfc5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0dddfd3c7bbb0a69f9c9fa4acb6bec7d2dad6d2d1d2d6dae1e3d7ccc0b5aba1968f82756d62584e43392e231a0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f52463927313a434c565e686e7b849197a1a9b3bcc5cdc4bab1a79f958f82796d665c53493f3327251b12090000000000000000000000000000000000000000000000000000000000000000000c18232f3a46535e6975828f9ba7b1bcced7dfd2c5b8ac9f92867a6d6054535f6a7784919eaab7c4cfd1c4b8aca095887b6e6155483c31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141514120e0903000000000000000000000002080d1113141615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129313a41454e53586062666c707375787a7b7c7c7d7d7d7d7d7d7c6f6255483c2f24180d010000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c69758285858585858585857f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb2a5988b7f7265584c3f3225190c0005121f2c3845525f6b7885929eabb8c5d1dedacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e2d6cabeb3aa93877a6d6054473a2d2114070000000916222f3b4854606b70797c7e818486898c8f9297979a968b7f726a5f564c423a31292018130c0701000000000000000000000003090e171d273039434c56606d7884919da7b1bcc8d4dfd3c6baaea2988a7d7064574a3d3025190d010000000000000000000000000000000000000000000000091724303d4a5763707d8a96a8b2bdc6b9ada197877b6e6154483b2e2115060715222f3c4855626f7b8898a2aebac6bbafa399897c6f6256493c2f2316070000000000000000000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddddd0c4b7ab9f948f939aa4acb6c0ccd8d9dfdedfe2e6ece0d4c7bbafa49991847a6d615b51463c30271d11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c28313a444c565e696e7b859197a2aab4bcc6ccc3b9b1a79f948f81786d655b504440372d241b12080000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b87929facb9c3cedfd3c7bbb0a69a8d8174685d524e586673808d99a9b2bdc9d4c8bcb1a7998c7f7266574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000040c13191d202121211e1a140d05000000000000000000040c13191d202123221f1b160d0802000000000000000000000000000000000000000000000000000000000000000000000000050f18212a333b434c52585f626a6f74787d7f8284878888898a8a8a8a8a8a817568554b4035291d1104000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9292929292928b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb2a5998c7f7266594c3f3326190c0006121f2c3945525f6c7885929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e6dbd0baada094877a6d6154473a2e2114070000000a1623303d495663707d86888b8e91939a999c9ea1a9a89f92867c6e685d544b433a3229241d18120e090503000000000104060a0f141a20292f39424b555e68727f8b95a0acb9c3cdd8ded2c5b8ab9f9285796d6053473a2d2014080000000000000000000000000000000000000001010303030714212e3a4754616d7a8796a0acb9c5beb3a9978a7d7064574a3d2d22170b0713202d3a4653606d7985929facb8c5c0b5ab988b7f7265584c3f2f24180c0003030303030303030303030000000000000000000000111e2b3744515e6a7784919daab7c4d0dddccfc2b6a99c8f8288939aa4afbbbfc7d1dae3eceeece0d4c8bcb1a79f93877d70685e52493f342a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f28323a444d575f696f7c859298a2aab4bdc6cbc2b9b0a69e938e81776c605c52493f362d241a110800000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc7d4ddd0c4b7ab9f94887c6f62564c4956626f7c8996a1adb9c5d2cdc3b6aa9d908377695f53473a2e2115090000000000000000000000000000000000000000000000000000000000000000000002080d161e24292c2d2e2d2a251f170f0500000000000000040e161e24292d2e302f2c272119130c0400000000000000000000000000000000000000000000000000000000000000000000020b17212a333c454d565d606a6e767c8084898c8f91969495969797979797918477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7b4c0cddae0d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d0006131f2c3946525f6c7985929facb8c5d2dfd9ccbfb2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e0d4c7baada194877a6e6154473b2e2114080000000916232f3c4956626f7c8998989b9d9fa4aca8abadb3aea29891847a6d665d554c443d352f29241d1a13120f0b060c070d1113141b1f252a323a414a545d676d7a85929fa8b1bdcbd4dfd4c8bdb2a89a8e8174675d5145382c1f13060000000000000000000000000000000003080b0d0e1010101013202d3946525e687784919eaab7c4c0b3a6998d80736653493f33271b0f10121f2b3844505c667683909ca9b6c3c1b4a79b8e817468554b4035291d101010101010101010101010100a09070400000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7f7e88939fa3adb5bfc8d1dae3eceaddd1c4b8ab9f958d80736b60564c41372d22180c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c162029323b454d575f6a6f7c869298a3abb5bdc7cbc2b8b0a69e938d80746e635b51483f362c231a100700000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d5c9bdb2a89c8f82766a5f53434653606c7884919eabb8c4cfd1c4b8aca095887b6e6255483c31261a0e020000000000000000000000000000000000000000000000000000000000000000050d14191f282f35393a3b3a36312921170b020000000000020c1620283035393a3c3b383229241e160e090300000000000000000000000000000000000000000000000000000000000000000a141d29333c464e575e686d747c82888d9197999b9ea1a8a2a3a3a4a4a49f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000001101d293643505c6976838f9ca9ababa5988b7f7265584c3f3225190c0401000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7b4c1cedae0d4c7bbafa49986796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2d9cdc0b3a69a8d8073675a4d4034271a0d0005121f2b3744505b657986929facb9c5d2dfd8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e1d4c7bbaea194887b6e6155483b2e2215080000000815212e3b4854616e7b8794aaa7aaacafb6b5b8b9beb4aaa0968f82786d675e564f45403a352f2a25201f1b1719191a181d2020272b30363e444c535c666d79829097a2adbac3cedddcd1c5b8aca096897c7063554b4035291d1004000000000000000000000000000001080f14181a1b1d1d1d1d1d1d2935414c566875818e9ba8b4c1c2b6a99c8f8276655b5044372b1f1d1d1d1c28343f4a546774808d9aa7b3c0c3b7aa9d908477675d5145392c1f1d1d1d1d1d1d1d1d1d1d1d1d1d171614100b050000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e727f8b919ba3adb6bfc8d1dae4e9dcd0c3b6a99d9083796d60594f443a30241b120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f172029333c454e58606a707d869299a3abb5bec7cac1b8afa59d928c80736d625a50483e352b2219100600000000000000000000000000000000000000000000000000000006131f2b38434e5864717e8b97a1adbdc7d1dcd2c5b9ada1968a7d7064584e4344505b6574808d9aa9b3becad4c8bcb1a7998c7f7366574e42372b1e120600000000000000000000000000000000000000000000000000000000000003090e171e252a313a4145474846423b33291d140a000000000008131e28323a4146474948443d353028201a150c0700000000000000000000000000000000000000000000000000000000000006111b262f3b454e585f696e7a80878f949a9ea1a9a8abacb2afafb0b0b0afa49a897c6f6256493c2f23160600000000000000000000000000000000000000000000000000000000000000000206080d111d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251913110d080603000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c6b9ac9f938679665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d3e0d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e1d4c8bbaea195887b6e6255483b2f2215080000000714202d3a4753606d7a8698a2aeb7b9bbc0c2c5c6c5bcb2a89e948f82796d686159514b45403936302d2b272226252624292c2d32383b42464f565e656d78828f949fa9b3beccd5dfd4c8bcb1a79d9184786c605346392f24180c0000000000000000000000000000020b131a202427282a2a2a2a2a2a25303f4c5865727f8b98abb5bfc5b8ab9f9285796c605346392d2a2a2a2a2a232e3e4b5764717e8a97a9b3bec5b9ac9f92867a6d6053473a2d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2423201c16100800000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72727f8c919ca4adb6bfc8d2dae4dacdc0b4a79a8d81746d635b51493f362d241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f0e17212a333c464e58606b707d879299a4acb6c0cccac1b7aea49c928c7f726c625a50473d342b22180f0600000000000000000000000000000000000000000000000000000b15222e3b4754606a7783909da9b3becfd9d7cbbfb4ab9e9184786d6053463c3f495363707d8997a2adb9c6d2cdc3b7aa9d9083776a5f53473a2e21150a0000000000000000000000000000000000000000000000000000000000060b141a202930363e434c515454534d453b2f261c1106000000020c1924303a444c525456544f46413a322b261f18120b03000000000000000000000000000000000000000000000000000000000b17222d38414d575f6a6e7b838d92999fa6abadb2b5b7b9bdbbbcbdbdc0b6ac988b7e7265584b3f2d22170b00000000000000000000000000000000000000000000000000000000000205090e1214191d20293643505c6976838f9ca9b6b2a5988b7f7265584c3f322521201d1913120f0b0603000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b8ac9f9285796c5f4a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1dacdc1b4a79a8e8174675b4e4134281b0e000713202d3a4653606d798693a0b5c0cbd7e3d7cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5e1d5c8bbaea295887b6f6255483c2f22150900000006131f2c3945515d677985929facb8c5c8ccd2d1d2cec3bab0a69e948f837a706b605d55514b46423b3937332d3232332f35393a3d43474d525961686d77818e949ea6b0bbc5cfded7cdc5b8aca0958a7e71655b5044372b1d120700000000000000000000000000010b141d252b30333436363636363636363c4956626f7c8999a3aebbc6baada297887b6e6255483b36363636363636363b4855616e7b8897a2adbac6bbafa399897c6f6356493c363636363636363636363636363636302f2c28211a1108000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726d727f8c929ca4aeb6c0c8d2dbdbcec2b5a99d928c7f736d625b51483f362c231a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130f18212a343d464f59616b717e87939aa4afbbbfc8c9c0b6aea49b918b7e716c61594f463d342a21180f0500000000000000000000000000000000000000000000000007121c2a36414c56626f7c89959fabbbc5cfe0d3c7baaea3998c7f72665c5044383a4653606d7985929eabb8c5d0d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000000000000000000000000020a11171f262a323b41464f555d60615e574d42382d22170b0300000a141e2935414c565d61636059524c443e373128231d150c070000000000000000000000000000000000000000000000000000030f1b27333f49535e696e7c8490959fa3abb0b8b9bec2c4c5c9c6c5c3c2c0b4a79a8d817467544a3f33281c0f03000000000000000000000000000000000000000000000000000002090e11151a1e2124292c2d3643505c6976838f9ca9b6b2a5988b7f7265584c3f32302d2c2924201f1c17120f0b0600000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbdfd2c5b9ac9f928679665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5e2dacdc0b4a79a8d8174675a4e4134271b0e000613202d394653606c798699a3afbbc7d4e0d7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e1d4c8bbaea195887b6e6255483b2f22150800000004101d2935404b556b7784919eaab7c4d1d8dddedfd5ccc2b8b0a69f9590857d746d67605d55524d4846443f403f3f40414045474a4e54575e616b707a818e939ea6b0b8c2cdd7dbcfc5bbafa59d9183786c6053493f33271b0b010000000000000000000000000008131d262f363c40414343434343434343434753606d7986929facb9c5beb3a9978a7e7164574b4343434343434343434346535f697885929fabb8c5c0b5ab988b7f7265584c434343434343434343434343434343433d3c38332c231a10050000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72656d737f8c929ca4aeb6c0c9d2dbd1c5b9aea49c918c7f726d625a50483e352c231a110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060f18222b343d474f59616c717e88939fa3adb6c0c9c8bfb6ada39f92877e716b60594f463c332a21170e0500000000000000000000000000000000000000000000000c18232e3946525e6875818e9ba7b1bccdd7dfd2c5b9ac9f92867a6d61544a3f343844505c6674818e9baab4bfcad4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000000020c141c232831363e444c525961676d6e695e544a3f33281f14090006111c26303846525d686d6f6b615d565047423c342e271e1910070000000000000000000000000000000000000000000000000005121f2b3744505b656e7b859196a0a7afb5bdc2c6c9c9c6c5bfbab8b6b5b4b4a99d908376665b5044382b1f1206000000000000000000000000000000000000000000000000030a0f141a1e20262b2e2f35393a3d43505c6976838f9ca9b6b2a5988b7f7265584c403f3d3a39352f2d2b28221f1b17110c060000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbe0d3c7baaea39886796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afbcc9d5e2dacdc0b3a79a8d8074675a4d4134271a0e0006121f2b3844505b667986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e1d4c7bbaea194887b6e6155483b2e221508000000000c18242f43505d6a7683909da9b6c3d0dce8ebe7ded3cac2b8b0a79f9791898179726d67615e57555350494d4c4c4d4e4b515356586062696e747d858f939ea5afb8c1cad4dbd6cabeb3a99e938a7d70665b5041382d22170b00000000000000000000000000030f1a252f3841484c4e50505050505050505050515c677783909daab6c3c0b3a79a8d807467544a50505050505050505050504d576976828f9ca9b5c2c1b4a79b8e817468554b505050505050505050505050505050504a48443e352c21160b0000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265636d73808d929da4aeb7c0c9d2d6cbc0b6ada49b918b7f726c625a50473e352c23191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1300061019222b353e47505a626c727f8b919ca4aeb7c0c9c8bfbbafa39992877d706b60584e453c332920160d0400000000000000000000000000000000000000000004101c2834404a54616e7a86929facb9c3cddfd4c8bcb1a79b8e8174685e5242382e343f4a5463707d8a98a2aebac6d3cec3b7aa9d9084776a5f53473a2e21150a000000000000000000000000000000000000000000000000000a141e262e343b424650565e616b707a7b6e665b50443b31251a0e040b17232e38424e58616d7a7c746d68615a534d454039302b22190f04000000000000000000000000000000000000000000000005111d2a36414c56606c77828f97a1a8b1bbc0c7cfcdc5beb9b8b4aeaca9a8a8a7a79f9285796c605346392d20130600000000000000000000000000000000000000000000040a0f151a1f252a2d31373a3b4145474a4c505c6976838f9ca9b6b2a5988b7f7265584f4d4c4a4745413c3938332d2b27221b17110c07010000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddae3d7cbbfb4a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e2d9ccc0b3a6998d8073665a4d4033271a0d00030f1c28333f4a5f6c7985929facb8c5d2dfd8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e1d4c7baaea194877b6e6154483b2e21150800000000071c2935424f5c6875828f9ba8b5c2cedbe8f9f0e5dcd3cac2b9b1a9a19e928d857f79726e696562605b535a5958595a555d6063666a6f757b818a91979ea5afb7c1cad3dcd3c9c1baada2978f82756c61544a3f2f261b1106000000000000000000000000000814202b36414a53595b5d5d5d5d5d5d5d5d5d5d5d556774818d9aa7b4c0c3b6a99d908376665c5d5d5d5d5d5d5d5d5d5d5d5d5d5d6673808d99a6b3c0c4b7aa9d918477675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d57554f473e33281c100400111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e72655b636e73808d929da5afb7c0c9d3d2c8bfb6ada39f93887e716c615a50473d352b221910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600071019232c353e48505a626d737f8c929da4aeb7c1cacbc0b5aba39992867d6f6a5f574d453b32281f160c01000000000000000000000000000000000000000006121f2c3844515c66737f8c99a3aebac7d3ddd1c4b8ab9f95897c6f62564c4130262e3a4753606d7985929facb8c5d1d1c5b8aca095887b6e6255483c31261a0f02000000000000000000000000000000000000000000000006111c2630383f444d535a62686e757d8483786c60574d42362a20160c101c28343f4a54606a748086817a716c625f57514b433d342b21160a00000000000000000000000000000000000000000000000713202d3946525e68727e8b949fa9b2bac3cbd1c9c0bbb3adabaaa29f9d9c9b9a9a9a98887b6e6255483b2f221508000000000000000000000000000000000000000001070d161b20262b30363a3c4247484c525457595b566976838f9ca9b6b2a5988b7f7265555c5a585754524c4946443f3937332d28231c18120b0300000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddae7dcd1baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6e3d9ccbfb2a6998c7f7366594c403326190d00000b17222d45525f6c7885929fabb8c5d2ded9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e0d3c7baada094877a6d6154473a2e211407000000010e1b2834414e5b6774818e9aa7b4c1cddae7ece4dcd6d1cecbc3bbb2ada49d97928c857f7b76726e6c6567666565666768676d7073777c81868e939ea1a9afb8c1c9d3dbd3cac1b7aea49f92857a6e615a5042382d1d140a00000000000000000000000000000b1824303c48535d646769696969696969696969696969717e8b97a4b1bec5b8ac9f9286796d69696969696969696969696969696969707d8a97acb6c0c6b9ac9f93867a6d6969696969696969696969696969696969696361594f44382c20140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265585c646e74808d929da5afb7c1c9d3d1c8bfbbafa49a93877e716c61594f473d342b2218100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000007111a232c363f48515b636d73808d929da5afb8c1c1c1bdb4aba29892857c6f695f574d443a31281e130800000000000000000000000000000000000000000713202d3a4653606d7984919eabb4bfcbd7d5c9beb3a99d9083776a6054443a301f2c3845515c6775828e9baab4bfcbd4c8bcb1a7998c7f7366584e43372b1f120600000000000000000000000000000000000000000000000b17232e38424a50575f616c717a818a918b7f72695e53463e32281e1319232b3844505c666f7c87938e857e766e69605c554f473d32271b0f03000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa6b0bbc4ccd7c8bfb7afa9a19e999892908f8e8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000040c131820272b31373b4246474d5355565d60636567696876838f9ca9b6b2a5988b7f72676a68676563605d565653504a46443f38342e29241d150d06000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd9e1d4c7baaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7e3d8cbbfb2a5988c7f7265594c3f3226190c0000121f2c3845525f6b7885929eabb8c5d1ded9cdc0b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8e2d6cabeb4aa93877a6d6054473a2d211407000000000d1a2633404d596673808c99a6b3bfccd9e6e4dad2cbc5c1c0c5c4beb9aea9a19e97918c87837e7b797674737272737475777a7d8083898e92999da5adb3bbc1cad3dbd6c9c1b8afa59c928a7e71685e52483e2f261c0b0200000000000000000000000000010d1a2733404c59646f7476767676767676767676767676767b8895a1aebbc7baaea398887c7676767676767676767676767676767676767b879aa4afbbc7bbafa499897d76767676767676767676767676767676767676706b6155483c2f23160900111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e726558525c606c77808e939da5afb7c1c9d3d8ccc0b6aca49992877e706b60594f463d342a22180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000008111a242d363f49515b646e74808d939ea6b0b4b4b4b4b4b4aaa29791857b6e695e564c433a2f24190d0100000000000000000000000000000000000006131f2b37434e5864717e8a96a1adbdc6d1dcd2c6b9ada1978b7e7164584e4332291e2934404b5564717e8a98a3aebac7d3cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000003101c28343f4a545c60696e767e858e939e92867b6e615a50443a3024191e2a36414d56606d7883909a97928b827b736d6760594f43382c1f130700000000000000000000000000000000000000000005121e2a36424d5765727f8b98a2aeb8c2cdd3c9bfb6ada59d97928d888583828181818181817d7063574a3d3024170a000000000000000000000000000000000001070d161d242932373c43474d5254575f6265686d70727476787a83909da9b6b3a6998d807a7877757372706d686662605b54535049443f38352f271f17110a0300000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0005121e2b3845515e6b7884919eabb7c4d1dedacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dfd3c6baaea29886796d6053463a2d201307000000000c1925323f4c5865727f8b98a5b2becbd8e5dcd2c8c0b9b5b3b9bbc0c0bbb3ada9a19e9a938f8b88858281807f7f8081828386898c90959b9fa3abafb9bec4cdd3d7d0cac0b7afa69e938c80736c61564c41362c1d140a0000000000000000000000000000010e1b2834414e5b677481838383838383838383838383838383909ca9b6c3cbbfb4aa9d91838383838383838383838383838383838383838288939facb9c6c0b5ab9d9184838383838383838383838383838383838383837d7063574a3d3024170a00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b505b656c77818e939ea5afb7c1cad3d2c7beb5aba39992877d706b60584e463c342a21180f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000008121b242d374049525c606c78818e939ea6a8a8a8a8a8a8a8a9a19791847b6e685e554c4135291d11040000000000000000000000000000000000000a15212e3b47535f6a7683909ca9b2bdcfd8d7cbc0b5ab9e9285796d6053463d322018232f3a4754606d7a86929facb9c5d1d1c5b8aca095887b6e6255483c31261b0f0300000000000000000000000000000000000000000006121f2b3844505c666d727b828b92979ea2988f82756c61564c4135291f27303946525e68727f8b95a0a19e948f867f796f6b6054483b2f2215090000000000000000000000000000000000000000000714212d3a46535f697683909daab4bfcad4d0c1b7ada39c938e85807c797675757474747474706b6155483c2f23160900000000000000000000000000000000040c13181f282f353d43474e53575e6166696e72767a7d7f8183858790959fabb8b4a89c928d87858382807f7d7a76736f6c6663605b53504a4540393128231c150c06000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9e3d6cabdb0a3978a7d7064574a3d3124170a0004111d2a3744505d6a7783909daab6c3d0dddbcec1b4a89b8e8175685b4e4235281b070000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9ded2c5b8ab9f928578665c5145382c1f1306000000000b1724313e4a5764717d8a97a4b0bdcad7e1d6cbc0b6aea9a7acafb5bdc5beb9b3adaca49f9c9897928f8e8d8c8b8c8d8e909299999d9fa7acafb5bdc0c9cfd6d5cdc5bebaaea59e948e81776c605a50443b30241a0b02000000000000000000000000000004111d2a3744505d6a7783909090909090909090909090909090949fabb7c4d0c6b8aca0959190909090909090909090909090909090909090939aa4afbbc8c7b8aca096919090909090909090909090909090909090908b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b49535b656c78818e939ea5afb8c1cad4d0c7bdb5aba39992867d706a60584e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000009121b252e374044505b666d78818f949b9b9b9b9b9b9b9b9b9b9b9691837a6d675d5145392c201306000000000000000000000000000000000006111c2935414c56626f7c88949fabbbc4cfe0d4c7bbafa3998d8073675c5145382c1f13202c3945515d6775828f9cabb5c0cbd4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000000000000000000000713202d3a4653606d787f868f949ea2a9aa9e948a7e71685d52453d31272e39424f59616e7b85929fa7ada69f98928c847d6f6356493c302316090000000000000000000000000000000000000000000815222e3b4855616e7b88959fabbcc5d0d2c7bdafa59c918c8179736f6d66696867676767676361594f44382c201407000000000000000000000000000000050d161d2429313a40454e54585f62696e73777b7f83868a8c8e9092979d9fa7b1bcb9aea49c999792908f8d8b8a86837f7c7975706c65605c54514b433d342e261e180f080000000000000000000000000a1724303d4a5763707d8a96a3b0bdd0dbe7d8cbbeb1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedae3d7cbbfb5ab95887c6f6255493c2f2216090003101c2936434f5c6976828f9ca9b5c2cfdcdbcec2b5a89b8f8275685c4f422e23180c0000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9ddd1c4b7aa9e9184776b544b4034281c1004000000000a1623303d495663707c8996a3afbcd1dcddd1c5b9aea49d9a9fa3abb5bfc6c4beb9b6afaca9a9a29f9c9a999898999a9b9d9fa3abaaabb1b9bbc0c7cfd5d5cec9c2bbb3ada49d938e82796d655b50483e32291e120800000000000000000000000000000004111d2a3744505d6a7783909c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bcc7d3c8bdb1a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa4acb6c0ccc8bdb2a8a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b4149535b666d78818e939ea6b0b8c2cad4d0c7bdb4aba29892867c6f6a5f584e453c332920170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000009131c2528333f4a545c666d79828e8e8e8e8e8e8e8e8e8e8e8e8e8e8e837a6d6054473a2d21140700000000000000000000000000000000000b17222d3946525d6874818e9aa6b0bccdd6dfd2c5b9ac9f92877b6e61554b4034281c111d2935414b5565717e8b99a3afbbc7d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000000916232f3c4956626f7c8992989fa6adb3b0a69e91857a6d60594f43392f34404b54606b75818e98a2aeb9b0aaa39f958a7d7164574a3e3124170b0000000000000000000000000000000000000000000c1925323f4c5865727f8b98a7b1bcced7ccc0b5ab9e938c7f746d6762605c545b5b5b5b5b5b57554f473e33281c10040000000000000000000000000000060e171f282f353d434b515860626a6e747b8084888c8f9299989a9c9ea1a9abb1b9c2bfb6aea8a9a29e9d9b9a989992908c8985827d78716d66605d554f443f383029211a110800000000000000000000000915222f3c4855626f7b8895aab4bfcad6e2d9ccc0b3a6998d8073665a4d402f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfdce0d3c7bbaea399877a6e6154473b2e21140800020f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b6a99c8f837669554b4034281c100400000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedadcd0c3b6a99d9083766a5d50432e23180c00000000000815222f3b4855626e7b8895abb5c0cbd7dbcec1b5a99d928d9299a3aeb4bcc3c9c7c0bbb9b6b3adaba9a7a6a5a5a6a7a8aaacafb5b6b8bcc3c7cbd1d4cec9c4bdb9b0a9a29f928d81786d675c53493f362c20170d0000000000000000000000000000000004111d2a3744505d6a7783909da9a9a9a9a9a9a9a9a9a9a9a9a9abb0b9c2cdd8cec3bab1acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9acafb6bec7d2cec3bab2acaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f414a545c666d78818f949ea6b0b8c2cad4cfc6bdb4aaa29892857c6f6a5f574d453b322920170e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000010a1317222d38424a545c676d79818181818181818181818181818181817e7265584b3f3225180c00000000000000000000000000000000030f1c28333f4a54616d7a86929facb8c2cddfd4c8bdb1a89b8f8275695e5343392e23180d18242f3a4754616d7a86929facb9c5d2d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000000000000000000000815222e3b4754606a75828f99a3afb9beb9ada1978e81746b60554b40343845515c66707d89939eaab3bebcb0a69d9083786c605346392d2013060000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd4c7bbafa4998f81756d605d5553504a4e4e4e4e4e4e4a48443e352c21160b0000000000000000000000000000070f182029313a40454f555d606a6f757b81868d9196989c9fa3aba7a9abadb3b8bcc2cbc8bfb9b4b3adabaaa8a6aba39f9c9997928e8a837e79726d676059504a423b332c231a1007000000000000000000000714212e3a4754616d7a8798a2aebac7d3e0dbcec2b5a89b8f827568554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677884919eabb7c4d1dedfd2c5b9ac9f9286796c605346392d20130600010e1a2734414d5a6774808d9aa7b3c0cddaded1c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfdcdbcfc2b5a89c8f8275695c4f4236291c0700000000000714212e3a4754616d7a8799a3afbbc7d4dacdc0b3a79a8d8087929fa2aab1babec5c9c8c6c2bebab8b5b4b3b2b2b3b4b5b6b9bbc0c3c4c8cdd3d2ccc8c4bdb9b2aca69f97928a80786d665c554b41382d241a0e050000000000000000000000000000000004111d2a3744505d6a7783909daab6b6b6b6b6b6b6b6b6b6b6b6b7bcc2cbd4ded5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7d0d9d5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f38424a545c666d78828f949fa6b0b8c2cbd4cfc6bcb4aaa29792857c6f695f574d443b322920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000006111c262f38424b555d676d74757575757575757575757575757575726d62564a3d3124180b0000000000000000000000000000000006121f2b3844505b66727f8c98a2aebac7d3ded1c5b8aca095897d7063574d4230271d120713202d3946525e6876838f9ca9b6c2cdd4c8bdb1a8998c807366584e43372b1f1206000000000000000000000000000000000000000006131f2b37434e58626e7b87929faab4bfbeb3a99d93897d70675c51453c424d57606d7984919da5afbcc5b7ab9f948a7d70655b5044372b1f12050000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2c6b9ac9f93877b6e625b514b46443f4241414141413d3c38332c231a100500000000000000000000000000071019212a323b434b515960676d747c82878e92999ea0a8a9acafb5b4b6b8b9bec5c8cdd4d1cac4c5beb9b8b6b5b3b5afaca9a9a29f9b95908b847f79706b605c544d453d352c22190f060000000000000000000713202d3946525d687985929facb8c5d2dfddd0c4b7aa9d918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfded1c4b7ab9e918478665b5044382b1f120600000d192633404c5966737f8c99a6b2bfccd9dfd2c6b9ac9f9386796d6053463a2d2013070000000000000000000000000000000000000000000000000006131f2c3845515d677884919eabb8c4d1dedbcec1b4a89b8e8175685b4e4235281b0f02000000000613202d394653606c7986929facb9c5d2d6cabdb0a3978a7d7e8a9298a0a7adb3b9bdc4c6c9cac6c5c2c1c0bfbebfc0c1c3c5c7cbd1d1d1cbc7c5c0bbb9b2aca8a19e948f857e736c665c544b43392f261b1208000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c3c3c3c3c3c3c3c3c3c3c4c7cdd4dde6ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c6c8ccd2d9e2ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3beb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f2f38424a545c666d79828f949fa6b0b9c2cbd4cec5bcb3a9a19791857b6e695e564d443a32281f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000a141d263039434b555d606768686868686868686868686868686865625b51453a2e221509000000000000000000000000000000000613202d394653606c7884919eaab4bfcad6d6cabeb4aa9d9184776b6054453b311e150b05111d2a36414c5665727f8b98a7b1bcc8d4cec3b7aa9d9184776a5f53473a2e21150a0000000000000000000000000000000000000000030f1b27323d47535f6a74818e98a2aebac4bbafa59e9184796d60584e4246535f69727f8c96a0acb7c1bbb0a69c9083766b6153493f33271b0f03000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfcfc2b5a99c8f8276695f5345403a38342e3434343434302f2c28211a110800000000000000000000000000071019222b333c444c555d606b707980878f939a9fa3abacb2b6b9bbc0c1c3c5c6c9cfd4d8dfdcd5d0cfcac6c5c3c2c0c0bbb9b6b3adaba7a09d96918b847d736d665f574f473d342b21180e05000000000000000005111d2935414c566a7784909daab7c3d0dddfd2c6b9ac9f93867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8d4e0dccfc2b5a99c8f827669544a3f33281c0f0300000b1825313e4b5864717e8b97a4b1bed0dbe0d4c7bbafa499887b6e6255483b2f221508000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd9ccc0b3a6998d8073665a4d4033271a0d000000000006121f2b3844505b667885919eabb8c4d1d7cbbeb1a4988b7e717e8691959fa2a9acb2b8b9bec1c3c5c7cbd1cacbcbcbcbcac9cfc9c5c4c2c0bbb9b6afaca8a19e96918a827b706c605b544a423931271d140a00000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cfcfcfcfcfcfcfcfcfcfd0d3d8d8dbdfe7dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfd2d4d8dddfe2e6e0d9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f323038424b545c676d79828f949fa7b1b9c3cbd5cec5bbb3a9a19791847b6e695e564c443a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000020b151e273039434b51535b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120500000000000000000000000000000006121e2b37424e5764707d8a96a1acbcc6d0dbd3c6baaea2988b7f7265594f4433291f0c03010d1925303b4854616e7b87959fabb8c4d1d1c5b8aca096887c6f6255483c32261b0f0300000000000000000000000000000000000000000a15202b37434e58616e7b86929fa9b3bec0b9aca0968d80736a5f544a505a616e7b86929fa8b2bdc7b7ab9f94897d7063594f41382d22170b00000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ccbfb2a5998c7f7266574d42352f2b282328282828282423201c16100800000000000000000000000000050e19222b343c454d565e676d747d848d939a9fa4acaeb4b9bdc2c5c7cbd1cfd1ced1d2d5dae0dcd5d0cdccc9caccced1cbc7c5c3bebab8b1aca8a19e96918780786e6960594f463d332a20170d0300000000000000010d192430414e5b6874818e9ba7b4c1cedae0d4c7bbafa499887c6f6255493c2d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97acb6c0ccd8e4d9cdc0b3a69a8d8073675a4d402d22170b000000091623303c4956636f7c8996aab4bfcad6e2d7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000915222f3c4855626f7b889aa4afbbc8d4e0d7cbbeb1a4988b7e7165584b3e3225180b0000000000030f1c28333f4a546a7784909daab7c3d0d9ccbfb2a6998c7f73717c838b92979ea1a8abadb3b4b7b9babfbdbdbebebfbebdbcbbbdb9b7b5b5afacaca49f9c96918b847d766e69615a504a423930271f150b0200000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacbcccfd4dae2e5e1ded6d1cecdcacacacacacacacacacacacacacacacacacacad2d3d6dbe1e5e1ded5d0cdcccacacacacacacacacacacabeb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32263039424b555d676d798290959fa7b1b9c3cbd5cdc5bbb3a9a19691847b6e685e564c433a31271e150c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000030c151e2831394045474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f372d23180c010000000000000000000000000000000a14212e3a47535f6a76828f9ca8b2bdced8ded2c5b8ab9f92857a6d6054473d3321170d00000814202d3a46525e697683909da9b6c3ced4c8bdb2a8998c807366584e43372b1f12060000000000000000000000000000000000000000040f1a26313c46525e6973808d97a2adb9c4bdb2a89f92877c6f665b5055616c75828f98a2aebac3bdafa59c8f82766b6054473e2f261b110600000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c9bcafa396897c706356493d31241f1c171b1b1b1b1b171614100b0500000000000000000000000000030d17202b343d464e575f686e79818991969fa4acafb6babfc6c8ced2d2d0cac6c5c2c4c5c9ced6d1cac4c1bfbcbec0c2c5c6cad0cfcac6c3bcb8b2aca9a199938d837b706b60584e453c32291f150b0100000000000000081926323f4c5965727f8c98a5b2bfcedae3d7ccc0b5ab988b7f726553493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aa7b4c0d2dde3d7cbbfb4ab978a7e7164574b3e312418060000000814212e3b4754616e7a8798a2aebac7d3e0ddd2beb2a5988b7f7265584c3f32251909000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97acb6c0ccd8e3d7cbbfb4aa96897c706356493d3023160a0000000000000b17222d434f5c6976828f9ca9b5c2cfdacdc0b4a79a8d81746a6f787f858c91969a9ea1a9a7aaacaeb4b0b1b1b2b2b1b0afaeb2adaba8aba39f9c9a938f8a847e79706c615f5750443f382f271e150d030000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbebfc3c9d0d9e2dad2cbc5c2c0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdc5c6cad0d7e0dad1cac4c1c0bdbdbdbdbdbdbdbdbdbdbdbdb1a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225273039434b555d676d798390959fa7b1b9c3ccd5cdc4bbb2a8a09691837a6d685d554c433930271e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000030c161f282f35393a414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000006111b2935414b55626e7b88949fabbac4cee0d3c7bbb0a69a8d8074675d5145392c201305000005121e2a36424d5766727f8c99a7b1bcc8d4cec3b7aa9e9184776a5f53473b2e21150a0000000000000000000000000000000000000000000915202a36424d57606d7a85929ea8b2bdc3bbafa3999083786c60575d67707d8a949eaab4bfc0b5ab9e93897c6f62594f44352c1d140a0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc8bbaea295887b6f6255483c2f2215100b060e0e0e0e0a0907040000000000000000000000000000010b151f29333d464e5860696e7a838e939ea1a8afb6bbc0c7cbd1d4cec9c5c4bebab8b5b7b9bdc4ccc8bfb9b4b3afb1b3b5b8babfc5c6cacfcec8c4bdb9b2aba49f9590867d706a60574d443b31271d1207000000000000000a1623303d495663707d8996a8b2bdc9d5e1ddd2c2b5a89b8f8275655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784909daab7c3d0dde0d3c7baaea399887b6f6255483c2f2215090000000613202d394653606c7985929facb8c5d2dfdacdc0b3a79a8d8074675a4d4131251a0e020000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfd2dde0d3c7baaea398877b6e6154483b2e211508000000000000061b2835424e5b6875818e9ba8b4c1cedbcec2b5a89b8f827568666d727a7f848a8e9197989b9d9fa3aaa3a4a4a5a5a4a3a2a2a8a19e9c999992908c87827e79726d67615a534d453e332d261d150c03000000000000000000000000000000000000000004111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b3b7bec7d0dfd2c8c0b9b5b4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b8babec5ced7d1c8bfb9b4b3b0b0b0b0b0b0b0b0b0b0b0b0b0a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f32251e273039434b555d676d7a839095a0a7b1bac3ccd5cdc4bab2a8a09590837a6d675d554b433930271e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000040d161d24292c2d3435353535353535353535353535353532312e29231b1209000000000000000000000000000000000b17222d3945515d6774808d9aa6b0bbccd6ddd0c3b7ab9f94887b6e62554b4135291d11040000020e1a25303b4855626e7b8895a0acb8c5d1d2c5b8aca096887c6f6255483c32261b0f030000000000000000000000000000000000000000030e1a25303b45525d68727f8c96a1acb9c3c0b5ab9f958b7f72695e606d7984919ea6b0bcc6bbafa4998f82756a6054473d32231a0b0200000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cec7baada194877a6e6154473b2e21140800000101010100000000000000000000000000000000000007121d27313b454e58606a6f7b8490959da5acb2bbc0c7ccd2d1cbc7c4bdb9b7b3adaba8abacb2bac4bfb6aea8a6a2a4a6a8acaeb4b8b9bec5c9cecec9c4bdb5afa79f9892867c6f695f564d43392f23180c040000000000000714212e3a4754616d7a8796a1acb9c5d2deded1c5b8ab9e9285796c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfdfd2c5b9ac9f9286796d6053463a2d20130700000005121f2b3744505b657784919daab7c4d0dddbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000000000000000000000000000004111d2935414b556774818d9aa7b4c0cddadfd2c5b9ac9f9286796c605346392d2013060000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d0c3b6a99d9083766a5c60686d72787d8185888b8e909298959797989898989796959496918f8c8a86837f7b76716d66605c555046423b3328221c140b0300000000000000000000000000000000000000000004111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7acb5becdd7cbc0b6aea9a7a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4abaeb3bcc5d0cabfb6aea8a6a4a4a4a4a4a4a4a4a4a4a4a4a4a4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225151e273139434b555d686d7a839095a0a8b2bac4ccd6ccc4bab1a8a0959083796d675d554b423930261d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000040c12181d2020282828282828282828282828282828282524221d18110900000000000000000000000000000000030f1b27333f4953606d7a85929fabb8c2ccded5c9bdb2a89c8f82766a5f53433a2f24180d010000000914212e3a47535f697784919daab7c4ced4c8bdb2a8998d807366584e43372b1f130600000000000000000000000000000000000000000009141f2935414c56606d7984919ea7b1bcc7bdb1a79f92867b6e616a73808d96a1acb8c1c0b5ab9f93877c6f62584e43352b2111080000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000050e18232f39434d57606a6f7c859196a0a7afb9bdc4ccd2d4cfc7c0bbb9b2acaaa9a29f9b9ea1a8b2bdb9aea49c999697999c9fa2aaabadb3b9bdc4cbd1d0c7c0bbb1aaa29892857b6e685e554b40342920150a0000000000000713202d3946525e687884919eabb7c4d2dddfd2c6b9ada197887c6f6255483c31261a0f01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464707d8a9aa4afbbc8d4e0dcd0c3b6a99d908376665c5144382c1f1206000000030f1b27333f49536875828e9ba8b5c1cedbded1c4b7ab9e918478695e53463a2d21140700000000000000000000000000000000000000000000000613202c3945515d677683909da9b6c3d0dcddd0c3b7aa9d908477665b5044382b1f12060000000000000c1926333f4c5966727f8c99a5b2bfccd8d1c4b7ab9e9184786b56565d60666d7074787c7e81848687888a8a8b8b8c8b8a898887868482807d7a76726e6964605c54514b433e3631292117110a020000000000000000000000000000000000000000000004111d2a3744505d6a77839097979797979797979797979797979797989ba3acbbc5cfc5b9aea49d9a979797979797979797979797979797979797979fa2aab3becac4b9aea49c999797979797979797979797979797978b7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f322518151f28313a434c565d686d7a839096a0a8b2bac4ccd5ccc3bab1a79f959082796d675c544a42382f261b110600000000000000000000000000000000000000000000000000000000000000000000000606060606060606060606060606060606060606060b1825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f3225180c0606060606060606060606060606060606060606060100000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000001070d1013141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120c06000000000000000000000000000000000005121f2b3744505b65727f8b98a2aebac6d3ded2c5b9aca1968a7d7064574e4231281d13070000000006121e2b37424d576673808c99a8b2bdc9d5cec3b7aa9e9184776a5f53473b2e21150a000000000000000000000000000000000001020203020d19242f3a45515c67717e8b95a0acb8c2c2baaea2988f82756c6e7c87929fa8b2bdc7bbafa3998e81756a5f53463d3223190f000303020100000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000020d17202934404b555e696f7c869297a0a8b1b9c0c9ced8cec8c2bdb5afaca8a09e9997928f9196a1acb9b4a89c928c898b8d8f92989a9ea2a9acb2bbbfc6cfd2ccc2bcb3aaa19791847a6e675c51453c31261b0f04000000000005111d2a36414c566774818e9aacb6c0ccd8e2d6cabeb3a9998c807366584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6674818e9bacb6c0ccd8e2d6cabfb4aa998c807366544a4034281c1004000000000b17222d3f4c5966727f8c99a5b2bfcedaded2c5b9aca196877b6e6154483b2e21150900000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d2dfdacec1b4a79b8e817468544a3f33281c0f030000000000000b1825313e4b5864717e8b97a4b1becad7d2c5b9ac9f928679685d5252545c6063656c6f727477797a7c7d7e7e7f7f7e7d7c7b7a79787573706d6766615e5753504a454039312a261f170f0600000000000000000000000000000000000000000000000004111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b919ba9b3becac2b5a99d928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9298a2aebac6c1b4a89c928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164584b3e3125180b00111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180d161f28313a434c565e686e7a849196a0a8b2bac4cdd5ccc3b9b1a79f948f82796d665c544a41382d2217130a010000000000000000000000000000000000000000000000000000000002070a0c0d121212121212121212121212121212121212121212121825323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322518121212121212121212121212121212121212121212120d0d0b0703000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000010406070e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0905010000000000000000000000000000000000000613202d394653606c7884919daab4becad6d6cbbfb4aa9e9184786d6053463c3120160c0100000000020e1a26313c4955626f7c8896a1acb9c5d2d2c5b9aca096887c6f6255493c32271b0f030000000000000000000000000407090a0e0f0f101008131e2834404b55606c7883909da6b0bbc7bfb4aa9e948a7e7176828f99a3aebac4bfb4aa9f92877b6e61584e43342b20110610100f0f0e0a090704000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfc9bcb0a396897d7063564a3d3023170a0000000000000000000000000000000000000000000009141f29333b45515c676e7b859198a1a9b2bac3cbd5d6ccc3bdb8b0aba39f9b96918c89858284919eabb7b3a6998c807c7e808285898d92979ea1a8aeb5bdc3cbd7cec5bcb3a9a1969083796d60584e43372b20150a0000000000010d1925303e4a5764717e8a9aa4afbbc8d4e0dacfc4b7aa9d9184776a5f5347392f23180c00000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d2dde0d3c6baaea298897c706356493d2e23180c0000000000061723303d4a5663707d8996a8b2bdc9d5e1d5c9bdb2a8978b7e7164584b3e31261a0e02000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3afbbc7d3e0d7cbc0b5ab988b7f7265584c3f2d22170b000000000000000a1724303d4a5763707d8a96a3b0bdc9d6d3c7baaea398877a6d6054474a5053535b60626568656c6d6f707171727271706f6f6e6d66696663605d5554534d46443f38342f271f1a140d0600000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e8b97a1adb9c6c0b4a79a8d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e85929fabb8c5c0b3a6998d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0d161f28313a444c565e686e7b849196a1a8b2bbc4cdd5cbc2b9b0a69f948f82786d665c53493f3327261c130a010000000000000000000000000000000000000000000000000000070e1317191a1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f25323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f32251f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e080100000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000010202020202020202020202020202020000000000000000000000000000000000000000000005121e2a36424d5763707d8996a0acbcc5d0dbd3c7baaea3988c7f72665c5044382b1f12040000000000000915212e3b47535f6a7884919eabb7c4cfd5c9bdb2a8998d807366584e43372b1f130600000000000000000000050b101416171b1b1c1c1d1d1e18232e3944505b66707d8a949fabb7c1c5bcb0a69e92857a7e8a949fabb5bfc7baaea3988e8174695f53463c31221c171e1d1d1c1b1b171613100b0500000000000000000000000000000916222f3c4955626f7c8895a9b3bec9cabeb1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000030c1a25303b45515b606d79839097a1aab3bbc4ccd5d0cac0bab2aca69f99928f89847f7c7976838f9ca9b6b2a5988b7f72717375797d80858b91969fa3abb1b9c2cbd4cec5bbb2a8a0958d80736a5f53473c32261b0f0100000000000814212e3a4754616d7a87939facb9c6d2dfded1c5b8aca095887b6f62554b4034291b110600000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8997a2adb9c6d2e4dfd2c5b8ac9f9285796d6053463a2d20130700000000000714212e3a4754616d7a8796a1acb9c5d2dedacec1b4a79b8e817468574d42372b1e120500000000000000000000000000000000000000000005111d2935414c566773808d9aabb5c0cbd7e0d4c7bbafa399897c6f6256493c2f231606000000000000000916222f3c4955626f7c8895a2afbbd0dbd7cbbfb4aa95887b6e6255483f44464950535558535b60616264646565656564636261605c54595754514b4846423b38342e29231d150d09030000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717885929eabb8c5c0b3a69a8d8073717171717171717171717171717171717176828f9ca9b6c2bfb2a5998c7f727171717171717171717171717171716e695e53463a2d21140700111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c040d161f28323a444c565e696e7b849196a1a9b2bbc5cdd4cbc2b8b0a69e948e81786d655b504440382e251c1309000000000000000000000000000000000000000000000000020a12191f2326272c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c323e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b02000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6975828f9ca8b2bdced7dfd2c5b8ac9f92867a6d61544a3f34281c100300000000000006131f2b37434e586773808d9aa9b3bec9d5cec4b7aa9e9184776a6054473b2e22150a000000000000000000080f161c202223282829292a2a2b2b2328333f4a54616b76828f9ca5afbdc7c1b9ada1978e8185919ea6b0bdc6bfb4aa9f92867b6e61574d42342d2c28232b2a292928282322201c160f08000000000000000000000000000714202d3a4753606d7a8697a1adb9c6ccbfb3a6998c807366594d4033261a080000000000000000000000000000000000000000000a151e2a36424d57626d75818e959fa9b2bcc5cdd6cec6bfbaafa8a09d948f87827d78736f6d76838f9ca9b6b2a5988b7f726566676d7074797f848c9299a0a7b1b9c2cbd4cdc4bab1a79f92877c6f62584e43372b1e130800000000000713202d3946525e687783909daab6c3cdd9e0d4c8bcb1a7998d8073675c5145382d22170b0000000000000000000000000000000000000000000000000000000000000000000b13202c3945525d6874818e9ba9b3becad6e2d7cbc0b5ab9c8f8276675c5145382c1f130600000000000713202d3946525e687884919eabb7c4d1deded1c4b7ab9e918478695f53463a2d2114080000000000000000000000000000000000000000000713202d3946525d687783909daab6c3d1dcdfd2c5b9ac9f92867a6d6053473a2d201407000000000000000815212e3b4854616e7b8794aab3becad6dcd1bcafa396897c706356493d383a3f4446494b49505354555757585859585756555453514b4d4a4745413b3a36312c28231c18120b0300000000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646975828f9ca8b5c2c2b6a99c8f8376656464646464646464646464646464646673808d99a6b3c0c1b5a89b8e8275686464646464646464646464646464615e574d42362a1e120500111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00040d162029323b444d575e696e7b849197a1a9b3bbc5cdd4cac2b8b0a69e938e81776c605c524a40372e251b120900000000000000000000000000000000000000000000000a141c242a2f3233393939393939393939393939393939393939393939393939393e4b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b3f393939393939393939393939393939393939393939393939393433302b241c140b010000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b87939facb9c3cedfd4c7bcb1a79b8e8174685e5242382e23170b00000000000000030f1b26323c4956636f7c8997a1adb9c6d2d2c5b9aca096887c6f6255493c32271b0f030000000000000008111a21272c2f3034353536363737382e34383a424f59626f7c89939eabb5c0c9beb3a99e938e9197a1adb8c2c6baaea2988d8073695e52453b3a3a38342e373736363534302f2c27211911080000000000000000000000000613202c3945515d677885919eabb8c4cec1b4a89b8e8175685b4e423025190e020000000000000000000000000000000000000006111c26303846525e69727f8b939ea7b1bbc4ced6ccc4bcb4aea59d96918a827c75706c65626976838f9ca9b6b2a5988b7f7265555c6063676d72787f8790959fa7b1b9c2cdd6ccc3bbaea3998f82756a5f54473a2f24190d010000000005111d2a36414c566673808d99a7b1bcc8d4e3d9cec3b8ab9e9285796d6053493f33271c12070000000000000000000000000000000000000000000000000000000000000007121d28333f4a54606d7a86929facb8c5cfdbe0d4c7bbafa3998b7f7265554b4034281c1004000000000005111d2935414c566875818e9ba8b4c1ced9dfd2c5b9ada196887b6e6155483b3024190d0100000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfddd0c3b6aa9d908377675d5145392c1f1306000000000000000714202d3a4753606d7a8698a2aebac6d3d7cabdb1a4978a7e7164574b3e312d3337393c3f3f444647494a4b4b4c4c4b4a494847464540403d3a39352f2d2a251f1c17110c070100000000000000000000000000000000000000000000000000000000000004101c27333d474f5456575757575757575757575757575757596673808c99a6b3bfc5b8ab9f9285796c60575757575757575757575757575764707d8a97a8b2bdc4b7ab9e918478685e5757575757575757575757575754534d453b31251a0e0200111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000040e172029323b454d575f696e7b859197a1a9b3bbc5ced4cac1b8afa59e938e80746e645c524940372d241b120900000000000000000000000000000000000000000007121c262e353b3f4045454545454545454545454545454545454545454545454545454b5865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265584b4545454545454545454545454545454545454545454545454545403f3c362e261c12080000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d99a4afbbc7d4ddd1c4b8ab9f95887c6f62564c4130261c110600000000000000000a13202d394653606c7985919eabb8c4d0d5c9bdb2a8998d807366584e43372b1f1306000000000000050f1a232b33383c3d414242434344444445404546474754606a75818e99a3afbbc6c5bbafa59e9b9ea1a9b3becabeb3a99f92867a6d61574d48484746443f454443434242413d3c38332b23190f05000000000000000000000004111d2935404b55697683909ca9b6c3cfc3b6a99d9083766a564c41362a1e1105000000000000000000000000000000000000000c17232e38424f59616e7b86929fa5afb9c3cdd5ccc4bab2aaa29f928e847d766f6a63605b536976838f9ca9b6b2a5988b7f7265585153555d60666d737c8390959fa7b1bbc5cfd7cbbfb5ab9e94887c6f62564c4135291d110400000000010d1925303b4855626e7b8895a0acb8c7d2dddfd2c6b9ada1978b7e71655b5044392e23180c020000000000000000000000000000000000000000000000000000000000000c18232e3844505b66727f8c98a2aebac7d7e1dfd2c5b9ac9f92867a6e6154473b2e23180c000000000000010d1925303e4b5865717e8b98a8b1bdc8d4e1d5c9bdb2a8988b7e7165564c4135291d11050000000000000000000000000000000000000004101d2935404b5564707d8a99a4afbbc7d4e0d6cabfb4aa998d807366554b4035291d10040000000000000006131f2c3845515c677885929fabb8c5d2d8cbbfb2a5988c7f7265594c3f3222272b2d2f2d3337393a3c3d3e3e3f3f3e3d3c3c3b3a38342e302d2c2924211e1a14100c06000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5763707d8a96a8b2bdc6baada297887b6e61554a4a4a4a4a4a4a4a4a4a4a4a54616e7a8796a1adb9c5b9ada196877a6e61544a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000050e172029333b454d575f696e7c859297a1a9b3bcc5ced3cac1b7afa59d928d80746e635b51493f362d241b120800000000000000000000000000000000000000020e19242e3840474b4d5252525252525252525252525252525252525252525252525252525865717e8b98a4b1becbd7e4d8cbbeb1a5988b7e7265585252525252525252525252525252525252525252525252525252524d4c4740382e24190e0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb5c0ccd7d5c9beb3a99d9083766a6054443a301e140a00000000000000000006121f2b3844505b6674818e9aa9b3becad6cec4b7ab9e9184786a6054473b2e22150a0000000000000b16212b353d44484a4e4e4f4f50505151524b515354545558616e7b87929faab4bfcac1b7afaaa8abadb3bbc4c6baada2978c8073685e565555545453504a515150504f4e4e4a48443d352b21160b0000000000000000000000010d18242f414e5b6774818e9aa7b4c1cdc5b8ab9f928578685e5246392d20140700000000000000000000000000000000000003101c28343f4a54606b75818e98a2aeb7c1cbd4ccc4bab2a8a198928a8179706b625f5853505c6976838f9ca9b6b2a5988b7f7265584c464b51545c606a6f7a8390959fa9b3becad6d1c6bdb0a69b8e8175685d5245392c20130600000000000814212e3a47535f6a7783909dabb5c0ccd7e2d6cabeb3a99d9083786c60544a4034281f1409000000000000000000000000000000000000000000000000000000000006101c2834404b54606c7884919eaab4bfcad6e2d6cabfb4aa9c8f8276685e5246392d1d1207000000000000000815212e3b4854616e7b8795a0acb8c5d1dedacfc2b5a89b8f8275685d5246392d20160b0000000000000000000000000000000000000006131f2c3945515d6774818e9babb5c0ccd7e0d3c7baaea298897d706356493d2f24180c000000000000000004101c2934404b556b7784919eaab7c4d1d9cdc0b3a69a8d8073675a4d4034271b1f202222272b2d2e2f31313232323231302f2e2d2c28232421201d1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e4754616d7a8796a0acb9c5beb3a9978a7e7164574b3e3e3e3e3e3e3e3e3e3e46525e697884919eabb8c4bdb2a8978a7d7064574a3e3e3e3e3e3e3e3e3e3e3e3b3a36312921170d030000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000050e172029333b454d575f6a6f7c859297a2aab3bcc5ced3c9c1b7afa59d928c80736d635b51483f362d241a110800000000000000000000000000000000000007131f2a35404a52575a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f65717e8b98a4b1becbd7e4d8cbbeb1a5988b7e72655f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38444f5965717e8b97a2adbdc7d2ddd2c6b9ada1978a7e7164584e4332281e0c02000000000000000000030f1c28333f4a5463707d8997a2adbac6d3d2c5b9aca196887c6f6255493d32271b0f000000000004101c27333d474f54565b5b5c5c5d5d5e5e5e5f5c6060616162626974808d98a2aebac6c9c1bab6b5b8b9bec4cdc5b8ab9f92857a6d64636362626160605c5f5e5e5d5c5c5b5b56544f473d33271c10040000000000000000000000071926333f4c5966727f8c99a5b2bfd2c6baaea298877a6e6154473b2e21140800000000000000000000000000000000000006121f2c3844505c66707d89939eaab4bfc9d3cdc4bab2a8a19691867e746d676159534e46505c6976838f9ca9b6b2a5988b7f7265584c3f40454a50585f686d7a839097a2adb9c2cdd8cfc1b9ac9f92867a6d6054473a2d22170b000000000006121f2b37434e5865727f8c99a4afbbc7d4e0dacfc5b8aca0958a7e71665c51443b3025191007000000000000000000000000000000000000000000000000000000060f1a242c3845515c66717e8b96a0acbcc6d0dbe0d3c6baaea2988a7e7164564c41362a1e0b00000000000000000714202d3a46525e697784919daab7c4cfdadfd2c5b9ac9f92867a6d6154473d32271b0b020000000000000000000000000000000000000714202d3a4753606d7985929facb8c5d2dddfd2c5b8ac9f9286796d6053463a2d2013070000000000000000000c18232f43505d697683909ca9b6c3cfdbcec1b4a89b8e8175685b4e4235281b121316171b1f20212224242525262524232221201f1c18171413110d07050200000000000000000000000000000000000000000000000000000000000000000000000000000007111921272c2f30313131313131313131313131313946525e687784919eaab7c4c0b3a69a8d80736753493f333131313131313136424d566875828f9ba8b5c2bfb3a6998c80736653493f333131313131313131312e2d2a251f170f05000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000050e172129333c454e575f6a6f7c859298a2aab4bcc6ced2c9c0b7aea49c928c7f726d625a50483e362c231a110800000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c717e8b98a4b1becbd7e4d8cbbeb1a5988b7e726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b15222f3b4854606b7783909da9b3bed0d9d7cbc0b5ab9e9285796d6053463c3220160c00000000000000000000000b17222d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d807367584e43372b1b1106000000000714202c38444f59606367686869696a6a6b6b6c666d6d6e6e6f6f70707a85929facb8c5d2ccc6c3c1c4c6c9cfccbfb2a5998c7f72717170706f6e6e6d6d666b6b6a6a696968676360594f44382c20130700000000000000000000000a1724313d4a5764707d8a97abb5c0cccabeb3aa96897c706356493d3023160a0000000000000000000000000000000000000713202d3a4653606d7883909da5afbcc6d0cfc5bbb2a8a09691847c716c605c554f474343505c6976838f9ca9b6b2a5988b7f7265584c3f35383f444e565d686d7a85929ea6b0bbc7d3d3c7baaea3988b7e7165544a3f33281c0f0300000000020f1a26313c4754616e7b87939facb9c2cdd8e1d4c8bcb1a79e9184796d60564d42362a22190e0500000000000000000000000000000000000000000000000000040d18212a36414c56606d7984919ea8b2bdced8e2d7ccc0b5ab9f92867a6d6053473b3025190d000000000000000005121e2a36424d576774808d9aa8b2bdc9d5e0d3c7baaea3998b7e7265594f44382c1d140a000000000000000000000000000000000008131f2b37434e5864717e8a98a2aebac6d3e3d7cbbfb5ab9c8f8276675c5145382c1f1306000000000000000000071c2935424f5c6875828f9ba8b5c2cedbcfc2b6a99c8f8376695c50432e23180c06060b0f12131416171818191918171615141313100c070706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161c2022232424242424242424242424242a36414c566875818e9ba8b5c1c2b6a99c8f8376655b5044372b242424242425303f4c5966727f8c99acb6c0c2b5a99c8f8276655b5044372b242424242424242421211e1a140d0500000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000050f17212a333c454e585f6a6f7c869298a2aab4bcc6cfd2c9c0b6aea49c918b7f726d625a50483e352c23191007000000000000000000000000000000000c1926323f4b57636e737878787878787878787878787878787878787878787878787878787878787e8b98a4b1becbd7e4d8cbbeb1a5988b7e787878787878787878787878787878787878787878787878787878787878736e64584c3f3326190d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57636f7c8995a0acbbc5cfe0d3c7bbafa3998c8073665c5145382c1f1305000000000000000000000006121f2c3844515c6675818e9baab4bfcad6cec4b7ab9e9184786a605447382d22170b000000000916222f3c4854606b707475757676777777787879797a7a7b7b7c7c7d7e828f9ca9b6c2cfd7d2cfced1d2d5daccbfb3a6998c807f7e7d7d7c7c7b7b7a79797878777676757574706b6054483c2f22160900000000000000000000000915222f3c4855626f7b8899a4afbbc7d0beb1a5988b7e7265584b3f32251807000000000000000000000000000000000006131f2b37434e5864717e8b95a0acb7c1ced1c7bdb3a9a09691847b6e6a615a514b433e3743505c6976838f9ca9b6b2a5988b7f7265584c3f322e343c434c565e68717e8b949fabb7c5d0d7cbbfb4aa9b8f8275665b5044382b1f120600000000000a15202d3a46525e6975828f9ba7b1bcc7d3dfd9cec3b9aca0968b7f72695e52463f342b20170d040000000000000000000000000000000000000000000000030d16202a333c46525e68727f8b96a1acbac3cee0e0d4c7bbafa4998e8174675d514539291e14080000000000000000020e1a25303d495663707d8996a1adb9c5d2dfd7cbbfb4ab9d9083776b6054483d2f261b1106000000000000000000000000000000050e1a242e3b4754606a7683909caab4bfcad6e0d3c7bbaea3998b7e7265554b4034281c10040000000000000000010e1b2734414e5a6774818d9aa7b4c0cddad0c3b7aa9d9084776a544b4034281c1004000003050607090a0b0b0c0c0b0a0909080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1013161617171717171717171717171925303f4c5965727f8c98abb5c0c5b8ab9f9285796c605346392d201717171723303d495663707c899aa4afbbc5b8ab9f9285796c605346392d20171717171717171514120e09030000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000060f18212a333c464e58606a6f7d869298a2aab4bcc6cfd2c8bfb6ada39b918b7f716c615a50473e352b231910070000000000000000000000000000000d1a2733404d5a66738085858585858585858585858585858585858585858585858585858585858586929facb8c5d2dfebdfd2c5b8ac9f92868585858585858585858585858585858585858585858585858585858585858073675a4d4034271a0d00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a46525e6975828e9ba7b1bccdd7dfd2c5b9ac9f92867b6e61544b4034281c1004000000000000000000000004101c2834404a5464707d8a98a2aebac7d3d2c5b9aca196897c6f6253493f33271b0f030000000a1723303d4a5663707d8181828283838484858586868787888889898a8a8f949fabb7c4d0dddedcdbdedfe1dacdc1b4a89c928c8b8b8a8a8988888787868685848483838281817d7063564a3d3023170a00000000000000000000000714202d3a4753606d7a86939facb9c6cdc0b3a79a8d8074675a4d412f24180d01000000000000000000000000000000000815222e3b4754606a7683909da7b1bcc9d7cbc0b5aba19791847b6e695f5850454039313643505c6976838f9ca9b6b2a5988b7f7265584c3f322328313a434c56626c76828f9caab4becad6d1c5b8ab9f9285796c605346392d201306000000000005111e2a36424d56636f7c89959fabb7c3ced9dfd4c8bdb2a89f92857b6e615a50463c32291f160e05000000000000000000000000000000000000000000040d151f28323c46505a616e7a85929fa8b2bdccd5e0d9d0c6b9ac9f93877b6e62554b4035291d11040000000000000000000913202d394653606c7884919eabb8c3ced9dcd1c6b8ab9f95897d7063584e41382d22170b0200000000000000000000000000020b17202b37434e58626f7c89949fabbcc5d0dbdfd2c5b9ac9f92867a6d6154473a2e23180c000000000000000000000d1a2633404d596673808c99a6b3bfccd9d1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b081623303c4956636f7c8999a3afbbc6baaea298887b6e6155483b2e2215060b14212d3a4754606d7a86939facb9c6baada297887b6e6255483b2f2215070b0b0b0b0b0807050200000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000060f18212a343c464e58606a6f7d869298a3aab4bdc6cfd1c8bfb5ada39f93877e716c61594f473d352b2219100600000000000000000000000000000e1a2734414d5a6774808d92929292929292929292929292929292929292929292929292929292929298a2aebac7d3e0ece0d3c7baaea2989292929292929292929292929292929292929292929292929292929292928d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b86929facb9c3cedfd4c8bcb1a79b8e8275695e5242392e23180c000000000000000000000000000c18232e3a4753606d7986929facb8c5d1d5c9bdb2a89a8d8073655b5044372b1f12060000000d192633404c5966737f8c8e8f8f909091919192929993949495959696979c9fa6b0bbc7d3dfebe8e8ebebe9ddd0c4b9aea49c999898979696959594939992929191908f8f8e8c7f7266594c3f3326190c000000000000000000000006131f2c3845515c677884919eabb7c4cfc2b5a99c8f827669554b4035291d110400000000000000000000000000000004111d2935414c56626f7c88959fabb9c3cecec6bbafa39992857b6e695f574e463e342f273643505c6976838f9ca9b6b2a5988b7f7265584c3f32251f28313a44505a64717e8a98a2aebac6d3d3c6baada297887c6f6255493c2f2216090000000000020e1925303b4854606b7683909da7b1bcc8d4e1d9cec3baada2978f82756c62584e443b312820170e0600000000000000000000000000000000000000060d161f27313a444e58616c75828f97a2adbac4cededdd2c7beb0a69b8f8275695f53433a2f24180d0100000000000000000006121f2b3844505b6673808d9aa7b1bcc8d4e1d4c8bcb1a79c8f82766a6053493f33271d140a000000000000000000000000000a141d29323b47535f6a75828e9ba6b0bbced7e2d6cabeb4aa9c8f8275685e5246392d1d1207000000000000000000000c1825323f4b5865727e8b98a5b1becbd8d2c6b9ada29786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5beb3aa978a7e7164574b3e2d22170b0613202c3945515d677784919daab7c4beb3a9978a7e7164574b3e2e23180c00000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000060f18222a343d464e58606b707d869298a3abb5bdc7cfd1c7bfbbafa49992877e716b61594f473d342b22180f06000000000000000000000000000e1a2734414d5a6774808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa2aab4bfcad6e2efe2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6673808c99a3afbbc7d3ded1c5b8aca095897c7063574d4230271d12070000000000000000000000000007131f2c3945515d6775828f9babb5bfcbd7cec4b7ab9e9184786c605346392d22170b0000000d192633404c5966737f8c999b9c9c9d9d9e9e9f9fa3a0a1a1a2a2a3a3a4a9abb0b8c2cdd8e4eff5f4f7f8ede1d5cabfb6aea8a6a5a4a4a3a3a2a1a1aba39f9e9e9d9d9c9c998c7f7266594c3f3326190c000000000000000000000004101c2934404b556976828f9ca9b5c2cfc4b7ab9e918478675d5145392c2013060000000000000000000000000000000613202c3945525d6874818e9aa7b1bcc4ccc6bcb0a69f92877d70695e574d453c332923293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225161f29323e4753606d7985929fabb8c5d2d6cabeb3a9978b7e7164584b3e3125180b00000000000009141f2c38434f5964707d8a95a0acb8c1cfd8e0d6cabeb3a99e948b7e716a60564c433a32292017110a02000000000000000000000000000000030910181f283139434c565f6a717e8a939ea9b3beccd6e0d8ccc0b6ac9f94897c6f63574d4231281d130700000000000000000000030f1c28333f4a54626f7c8895a0acb8c4cfdad8cdc3b7aa9f94897c6f655b50443b2f261c1107010000000000000000000007111b262f3b44505a626f7c87939facb9c2cddfdfd3c6baaea2988a7e7164564c41362a1d0b00000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7d6cabeb3a994877b6e6154483b2e211508060606060606060606060606060606060606060606060606060606060606060606060606060606040402000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677783909daab7c3c0b3a69a8d80736753493f33271b0f04111d2935414c556874818e9ba7b4c1c0b3a79a8d807467544b4034281c1004000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000061018222b343d464f59606b707d869299a3abb5bdc7d0d7ccc0b5aba39992877d706b60594f463d342a21180f060000000000000000000000000e1a2734414d5a6774808d9aa7abababababababababababababababababababababababababababacaeb4bcc6d0dbe7f3e7dbd0c6bcb4aeacabababababababababababababababababababababababababababa79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb5c0cbd7d6cabeb3a99d9083776b6054453b301e150b000000000000000000000000000004101d2935404b5564717e8b99a3aebbc7d3d2c5b9ada196897c6f6253493f33271b0f0300000d192633404c5966737f8c99a6a9a9aaaaaaababacafb5adaeaeafafb0b0b6b7bbc2cad4dee9f4fffffffdf2e6dcd1c8bfb9b4b3b2b1b0b0afafaeaeb4aeacababaaa9a9a5998c7f7266594c3f3326190c0000000000000000000000000c18232f414e5a6774818d9aa7b4c0cdc5b9ada196867a6d6053473a2d2014070000000000000000000000000000000714212d3a4754606d7a85929fa4adb2bac1bfb4aa9e948c7f726b60574d453b332a2118293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251917202c3945515d6775828f9ba8b5c2cedbd0bfb3a6998c807366594d4033261a0d000000000000020f1b27323d4653606c7884919da6b0bdc6d1dcdbd0c5bbb0a69f92867c6f685e564c443b3228221c140b0a04010000000000000000000004090e151a222a313a434b555d686e7c86929fa5afbbc5d0deddd4c8bbafa49a9083766b6054453c311f160c0100000000000000000000000b17222d3847535f6a7783909da9b3bec9d5dfd3c7bbb0a69d9083786c60564d42382d2218120b0300000000000000030b1218222d38414c56616c76828f99a4afbbc7d4e0d7cbc0b5ab9f9285796d6053473a3025190d00000000000000000000000a1623303d495663707c8996a3afbcd1dcdbcfbcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121211100e0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aa7b4c1c2b6a99c8f8376655b5044372b1f12050d19242f3f4b5865727e8b98aab4bfc3b6a99d908376665c5145382c1f1306000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000071019222b343d474f59606b707d879299a3abb5bdc7d0d2c7bdb5aba39992867d706b60584e463c332a21180f0500000000000000000000000e1a2734414d5a6774808d9aa7b3b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8babfc6ced8e2edf8ede2d8cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5864717e8a97a1adbdc7d1cecec6baada2978b7e7265594f4433291f0c030000000000000000000000000000000c18242f3a4754606d7a86929facb9c5d2cec9bdb2a89a8d8073655b5044372b1f120600000d192633404c5966737f8c99a6b2b6b6b7b7b8b8b9bbc0babbbbbcbcbdbdc2c4c7cdd4dce6f0fbfffffffff8ede3dad1cac4c1bfbebebdbdbcbbbbbabfbab9b8b7b7b6b2a5998c7f7266594c3f3326190c000000000000000000000000071926323f4c5965727f8c98a5b2bfcbc9bdb2a895887c6f6255493c2f2216090000000000000000000000000000000815222e3b4855616e7b848d929ea1a8afb9baaea3988f82756d62594f453b332921181d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519101d2935404b556773808d9aa6b3c0cdd9cec1b4a89b8e8175685b4e4235281b0f000000000000000a161f2b3744505b65707d8a949eabb5bfcbd7e1d7cdc1baaea29891847a6e685d564c443d332d261d1b15110d0707050100010507070c10151a20262b343c434c555d676d7a849198a2aeb7c1cdd7e0d6cabfb4aa9f93877c6f62594f43332a1f0d0400000000000000000000000006111c2b37434e5865717e8b97a1adb9c6d0dbd8ccc2b8ab9f958b7e71695e544a3f3329231d150d0a06040104060a0c151c2328333f49535e68717e8a949fabb5c0ccd7e0d3c7bbafa3998d8073675d514539281e130800000000000000000000000815222f3b4855626e7b8895abb5bfcbd7d6cabdb0a3978a7d7064574a3d31241f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1d1b17110b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3e4b5865717e8b98aab4bfc5b8ab9f9285796c605346392d2013060816222f3c4955626f7c8898a3aebac5b9ac9f9286796d6053463a2d201307000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000071019222b353d474f59616b707e879299a3abb5bec7d2d0c7bdb5aba39892867d6f6a60584e453c332a21170e05000000000000000000000e1a2734414d5a6774808d9aa7b3c0c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cad0d8e0eae3e3e3eae0d8d0cac7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfdcd2c5b8ac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7683909da9b3bec1c1c1c1c0b6ac9f9285796d6053473d3220170d000000000000000000000000000000000713202c3945525d6876828f9cabb5c0c1c1c1c1b7ab9e9184786c605346392d22170b00000d192633404c5966737f8c99a6b2bfc2c2c3c4c4c5c5c7cbd0c7c8c9c9cacfd0d3d8dee6eef8fffffffffffdf3eae1dad3cecbcac8c7d1cbc7c5c5c4c4c3c3c2c2c1bfb2a5998c7f7266594c3f3326190c0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcfcfbdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000714212d3a46535f696e79808991969da5adb2a89f92867b6e615b51473d332921170f1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c18242f3f4c5965727f8c98a5b2bfcbd8cfc2b5a99c8f8276695c4f4336291c1000000000000000030f1b27333f4953616b75828f99a3aebbc3cfd8dfd6cabfb4aaa19690837a6d685e564f443f382f2b26201d181413110d080d111314181d1f262b31373e464e565d676d79828f96a0aab4bec9d3dfd7cec5baaea2988e81746a6054463d3221180e00000000000000000000000000000f1b26323c4653606d7985919eaab4bfcad6ded4c7bcb1a79e92857b6e665b50443f342f271f1b1413110d1013131b1e272e343f44505b656e7a85929ea6b0bdc7d2ddd8cec5b9ac9f92867b6e61554b4035291d100400000000000000000000000714212e3a4754616d7a8799a3aebbc7d3d8cbbeb1a5988b7e7265584b3f322c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b2a27221d160e05000000000000000000000000000000000000000000000000000000000000000000000000000000000715222f3c4855626f7b8898a2aebac6baaea298887b6e6155483b2e2215060713202d3a4653606d7986929facb9c5baaea398887c6f6255493c2f221608000000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000071019232b353d474f59616c717e879299a4acb6c0ccd8cfc6bdb4aaa29892867c6f6a5f574e453b332920170e050000000000000000000e1a2734414d5a6774808d9aa7b3c0cdd2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d6dbd6d6d6d6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3cfd6d2c5b8ac9f9285796c5f5246392c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56626f7c89959fabb4b4b4b4b4b4b4afa49a8d8074675d5145392c2013050000000000000000000000000000000004111d2935414c5665727e8b99a4afb4b4b4b4b4b4ada196897c6f6353493f33271b0f03000d192633404c5966737f8c99a6b2b5b5b6b6b7b7b8b8babfbabbbbbcbcbdc2c4c7cdd4dce6f0fbfffffffff6ebe1d8cfc8c2bebdbbbbbabfbab9b8b8b7b7b6b6b5b5b4b2a5998c7f7266594c3f3326190c0000000000000000000000000915222f3c4855626f7b8895a9b3becaccbfb2a6998c7f7366594c403326190700000000000000000000000000000005121e2a36424d575f676d747d848e939ea1a9a1968c7f73695f53493f352b21170f101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519071825313e4b5864717e8b97a4b1becad7cfc3b6a99c908376695d5043362a1d1000000000000000000b17222d38414f59626e7b87929fa8b2bdc6d1dcdbd0c6bcb2a89f9590837a6e686059504a423d37322c292421201e191d191e202124292c31373c424750585f686d79828f949fa8b2bcc5d0dbdbd0c5bcb1a79f92867b6e61584e43342b210f0600000000000000000000000000000a151f2c3845515c67737f8c98a2aebac4cfdad8cdc2b9ada1978f82786c605b51454039312c2720201d181c1f20272b30394044515b606c77828f97a1adb8c2d0d9dcd0c6bcafa59b8e8175695e5343392f24180c0000000000000000000000000613202d394653606c7986929facb9c5d2d9ccbfb2a6998c7f7366594c40393939393939393939393939393939393939393939393939393939393939393939393939393939393939393736332e2720170e040000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5beb3aa978a7e7164574b3e2d22170b06131f2c3845515c667683909da9b6c3bfb4aa988b7e7265584b3f2f24190d010000000000000000000000000000111e2b3744515e6a7784919daab7c4d0ddd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000071119232c353e47505a616c717e87939aa4afbbbfc7d1cfc6bcb4aaa29892857c6f6a5f574d453b322920160d0400000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6c3c9c9c9c5b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874818e9ba7a8a8a8a8a8a8a8a8a89f93877b6e61554b4035291d100400000000000000000000000000000000010d19242f3b4754616e7a86939fa8a8a8a8a8a8a8a8a89a8d8074655b5044372b1f1205000d192633404c5966737f8c99a6a7a8a8a9a9aaababacaeb4adaeafafb0b0b6b7bbc2cad4dee9f4fffffffbf0e4dacfc6bdb7b2b0aeaeadb4aeacababaaaaa9a9a8a8a7a7a5998c7f7266594c3f3326190c0000000000000000000000000714212d3a4754606d7a8797a2adbac6cec1b4a79b8e8174685b4e412f24180c000000000000000000000000000000020e1a26313b454d555d606b707a818a91979e9e9184796d60574d42372d23190f05101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c1926323f4c5965727f8c98a5b2bfcbd8d0c3b6aa9d9083776a5d5044372a1d11000000000000000006111b262f3e47535f6a73808d96a0abb5bfcbd7ddd8cec4bab1a79f9590837a6f6b605b544e47433c39352f2e2d2a252a252a2d2e2f35383c42474e535a616a6f7a828f949fa6b0bac3ced7ddd6cabfb4aa9f958c7f72685e52463d3222190f00000000000000000000000000000004101c2834404b55616d7a86929fa8b2bdc9d5e0d5c9beb3a99f948d80736d635b514b433d38322d2c2924282c2d32373d424a515b626d73808c949fa9b3becad4e2d6cbbfb4aa9e93887c6f62574d4231271d120700000000000000000000000005121f2b3744505b657885919eabb8c4d1dacdc0b4a79a8d8174675a4e454545454545454545454545454545454545454545454545454545454545454545454545454545454545454544433f39322920160b00000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667683909ca9b6c3c0b3a69a8d80736753493f33271b0f04101c2834404b546774808d9aa7b3c0c1b4a79b8e817468554c4135291d11040000000000000000000000000000111e2b3744515e6a7784919daab7c4d0d6d6cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000007111a232c353e48505a616c717e88939fa3adb5bfc8d1cfc6bcb3aaa29792857c6e695f574d443b322820160d04000000000000000e1a2734414d5a6774808d9aa7b3bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b6bdbdbdbdbdb8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929b9b9b9b9b9b9b9b9b9b9b9b8f8276695f5343392f24180d0100000000000000000000000000000000000814202d3946525e687683909b9b9b9b9b9b9b9b9b9b9b9184786c605346392d201306000d192633404c5966737f8c999a9a9b9c9c9d9d9e9e9fa3aaa1a1a2a2a3a4a9abb0b8c2cdd8e4eff4f4f8f9eadfd3c8bdb4aca6a4a2a1a1a0a39f9f9e9e9d9d9c9c9b9b9a9a998c7f7266594c3f3326190c0000000000000000000000000613202c3945515d677885929fabb8c5cfc3b6a99c90837669554b4035291d100400000000000000000000000000000009141f2a333b434b515960686d747d858e93988b7f72675c51453b31251b110700101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190f1b27333f49536673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d100000000000000000000a141d2b37424e57606d79849199a3aebbc2cbd5dfd6ccc2b9b1a79f9590847d726c666058534e4745413d3a393630373036393a3d4045474d53575f626c717c848f949fa6b0b8c2ccd5ded4cbc2baaea2989083786d60564d41342b201007000000000000000000000000000000000c18232e3946525e6873808c96a1adb9c2ced7dacfc5bbb0a69c928c7f726d605c554f48433d3a39352f34383a3c43474f545c606d727f8b929ca6b0bbc5cfdcd9d0c7baaea3988e81756a5f53453b311f150b01000000000000000000000000030f1b27333f49536a7783909daab6c3d0dbcec2b5a89b8f8275685c525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252514f4a443b32271d1106000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0c2b6a99c8f8376655b5044372b1f12050c18232e3e4b5764717e8a97a9b3bec4b7aa9d918477675d5145392c2013060000000000000000000000000000111e2b3744515e6a7784919daab7c4c9c9c9c9beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000008111a232c363e48505a626c727f8b919ba3adb6bfc8c9cec5bcb3a9a19791847b6e695e564c443a32281f160c010000000000000e1a2734414d5a6774808d9aa7b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a79a8d8174675a4e4134271b0e00101d2a3643505d697683909ca9b0b0b0b0b0b0b0ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8e8e8e8e8e8e8e8e8e8e8e8e8e8a7d7063574d4231281d120700000000000000000000000000000000000005111e2a36414c5665727f8c8e8e8e8e8e8e8e8e8e8e8e8e897c6f6356493c30231609000d192633404c5966737f8c8d8d8e8e8f8f909191929298939494959696979c9fa6b0bbc7d3dfeae8e7ecece6dacec2b7aca29a9795949493999292919190908f8f8e8e8d8d8c8c7f7266594c3f3326190c00000000000000000000000004111d2935414c556a7783909daab6c3d0c4b8ab9e918578675d5145382c1f1306000000000000000000000000000000030e18212a313940454f565d606c707a818a92857a6d60554b4033291f13090003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519121f2b3744505b6575818e9ba8b4c1cedbcec2b5a89b8f8275685c4f4235291c0f000000000000000000020b1a26313c45515d676f7c87929fa6b0b9c3cdd6ded4cbc2b9b1a7a09691877f786f6a625f5854514b4a4746414443444146474a4b5153575f616a6e767e8691969fa6b0b8c2cad4ded5ccc2b9afa59f92867b6e665c50443b3022190f000000000000000000000000000000000007121d2935414c56606d7984919ea7b1bcc6d0dbd7cdc2b8aea49c918c7f746d676059544e4947454043404546494e545960666d747f88939fa4aeb8c2cdd6ddd2c7beb2a99f92867b6e61584e4333291f0d0300000000000000000000000000000b17222d434f5c6976828f9ca9b5c2cfdcd0c3b6a99d9083766a5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5e5b554d44392e22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3e4a5764717d8a97a9b3bec5b8ab9f9285796c605346392d2013060715222f3b4855626e7b8897a2adbac6b9ac9f93867a6d6054473a2d2114070000000000000000000000000000111e2b3744515e6a7784919daab7bdbdbdbdbdbdb1a5988b7e7265584b3f3225180c000000000000000000000000000000000008111a242c363e48505a626d727f8b919ca3adb6bdbdbdbdbdbbb3a9a19691847b6e685e564c443a31281d13070000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8174675a4e4134271b0e00101d2a3643505d697683909ca3a3a3a3a3a3a3a3a39f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a677380818181818181818181818181818181786c6053463c3120160c01000000000000000000000000000000000000020e1925303b4854616e7b81818181818181818181818181817e7164574a3e3124170b000916232f3c4956626f7c7f8080818282838384848585868787888889898a8f949fabb7c4d0dddedbdadfe0e3d7cbbeb2a69a908a8888878786868585848483838282818180807f7c6f6256493c2f231609000000000000000000000000010d19242f424f5b6875828e9ba8b5c1cec6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000060f181f282f353d434c525a61686d757e858074675d5143392f21170d010003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251919202d394653606c7885929eabb8c5d1dacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000915202935404b555f6a727f8c949fa7b1bbc4ced7ddd4cbc3b9b1a9a199928c837c756f6a64605d555654524c5150514c525456555d6064696e747b828b9298a0a8b0b8c2cad4dcd6cdc3bab1a79e938b7e71695f544a3f32291f10070000000000000000000000000000000000000d1925303a45515d67717e8a959faab4bfcad6ded4cac0b6ada39b918c8179706b6260585653514b504b5153565860626b6f78818b939aa4afb6bfcad4dfd8ccc0b6aca1968c8073695e53463c3221170d000000000000000000000000000000061b2835414e5b6874818e9ba7b4c1cedad1c4b7ab9e9184786c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000615212e3b4854616e7b8797a1adb9c6baaea298887b6e6255483b2f2215060613202d394653606c7985929fabb8c5bbafa49a897c706356493d302316090000000000000000000000000000111e2b3744515e6a7784919daab0b0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00000000000000000000000000000000000008121a242d363f48515b626d727f8c919ca4aeb0b0b0b0b0b0b0b2a9a19691847a6e685e564c433a2f24180d0100000000000e1a2734414d5a6774808d9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968d8174675a4e4134271b0e00101d2a3643505d6976839096969696969696969696969285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737575757575757575757575757575746c665b5044382b1f120400000000000000000000000000000000000000000814212d3a46535e696e7575757575757575757575757575716c6155493c3023170a000815222e3b4754606a6f727374747575767677787879797a7a7b7c7c7d7e828f9ca9b6c2cfd6d2cfcdd2d3d7dccabdb0a4978a7e7b7b7a7a7979787877777676757574747373726f6a6054473b2e22150800000000000000000000000000081a2734404d5a6773808d9aa6b3c0cdc8bbafa49a887b6e6255483b2f2215080000000000000000000000000000000000060d161d2429313a414550565e616c717a7b6e61554c4131271d0f06000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32251a232a36424d57626f7c8997a1adb9c6d2d9ccbfb3a6998c807366594d4033261a0d00000000000000000000030d18242f39434e58606c77828f95a0a9b2bcc5ced6ddd4cbc3bbb2aba39f959087817c76716d676563615e565d5d5d565e616365676d70757b81868f949fa2aab2bac2cad4dcd6cdc4bbb2a89f958e81756c62574d42382e20170d0000000000000000000000000000000000000008131e2935404b55606c77839098a2aebac1ccd5dcd1c8bfb5ada39b938e837d756f6a6663605d555d555c6063666a6f757c838e939fa4acb6c0c8d1dcd7cdc5bbafa49a9184796d60574d42342a200f050000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d2c5b9ac9f92867978787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787771675b4f43362a1d100400000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8bdbeb3aa978a7e7164574b3e2d22170b05121f2b3744505b6576828f9ca9b5bdc0b6ac998c7f7266594c3f3025190e0200000000000000000000000000111e2b3744515e6a7784919da3a3a3a3a3a3a3a3a3a3988b7e7265584b3f3225180c0000000000000000000000000000000000000008121b242d363f49515b636d737f8c929ca4a3a3a3a3a3a3a3a3a3a8a09690837a6d685d554b4035291d110400000000000e1a2734414d5a6774808a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675a4e4134271b0e00101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a86796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c6467686868686868686868686868686867605b544a3f33281c0f03000000000000000000000000000000000000000005121e2a36424d575e61686868686868686868686868686864615a5045392d2114080006131f2b37434e586062666667676869696a6a6b6b666d6d6e6e6f6f707a85929facb8c5d2cbc6c2c1c5c7cbd1cdc1b4a79a8e81746e6e6d6d666c6b6b6a6a69696868676766666260584e43372b1f1306000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbccc0b6ac968a7d7063574a3d3024170a000000000000000000000000000000000000040c12181f282f353e444c525a61686e6e695e53433a2f1f150b00000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225232c353d46535f6974818d9aa9b3bec9d5d6cbbfb4aa988b7e7265584b3f3225180c000000000000000000000007121d28313c44505b656d7a839196a1aab3bcc4cdd5ddd5cdc4bdb5aea7a099938e88827e7a7572706d686b6a6a6a6b686d707275797d82878d92999fa6aeb4bcc3ccd4dcd5ccc4bbb3a9a0969083796d605a50453b30261c0e0500000000000000000000000000000000000000020c18242f3944505b656e7b86929fa5afbac3ccd6dad1c7bfb5ada59e959089817c7773706d676a6a6a676d6f72777c818790959da5afb6bec7d2dad7cec5bbb1a79f93887d70675d51453b3122180e000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccd8d3c7baaea3998985858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858583776a5e5144372b1e1104000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9ca8b0b0b0b0a69a8d80736753493f33271b0f030f1b27333f49536673808c99a6b0b0b0b0a89b8f827568564d42362a1e110500000000000000000000000000111e2b3744515e6a7784919696969696969696969696968b7e7265584b3f3225180c000000000000000000000000000000000000000009121b242d373f49515b636d73808c92969696969696969696969696969590837a6d675d5145392c20130600000000000815222f3b4855626e7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6f6255483c2f22150900091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2a36404a52585a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b53504a42382d22170b000000000000000000000000000000000000000000020e1a25313b454d53545b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110500030f1b27323d464e5456595a5a5b5b5c5c5d5e5e5f5c60606161626974808d98a2aebac6c9c0bab6b4b9babfc6cfc5b9ac9f92877b6e6160605c5f5e5e5d5d5c5c5b5b5a5a595956544e463d32271b0f03000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000001070d161e2429323a414650565e61615e574d4231281e0d0300000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a353e47515b616e7b86929facb9c5cfdad3c7baaea398897d7063564a3d3023170a0000000000000000000000010c161f27333f49535d686e7b849198a2aab3bbc3ccd7dcd6cfc6bfbbb1aba49f9b948f8a86827f7d7a787877767778787a7d7f82858a8f93999fa3abb0babfc5ced5dcd6cbc3bab2a9a19791847a6d675d51483e332a1e150a00000000000000000000000000000000000000000007121d27333f49535f69717e8b939ea8b1bac4cdd7d9d1c7bfb7afa7a09d938e89837f7c7a7877767778797c7f83888e939aa0a7afbbc0c7d0d9d8cfc6bcb3a9a0958d80736b60554b4033291f1006000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d7cbbfb4aba29792929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000020e1a2531404c5966737f8c99a3a3a3a3a3a39c8f8376655b5044372b1f12050b17222d3d4a5764707d8a97a8a3a3a3a3a39e918478695e52463a2d20140700000000000000000000000000111e2b3744515e6a77848a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7265584b3f3225180c00000000000000000000000000000000000000000009121b252d373f49515b636e7380898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a837a6d6053473a2d20140700000000000814212e3a47535f6a6e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473a2e211508000915222f3b4854606b6f70707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e19242e3840474b4d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e46443f382f261c11060000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c0000000a16202b343d4347494c4d4d4e4f4f505051514a5053545458616e7b87929faab4bfcac0b7afa9a7acaeb4bcc6c7bbafa3998e81746a5f53504a52515150504f4f4e4e4d4d4c4947433d342b20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d000000000000000000000000000000000000000000040c1319202830363e444d525454534d453b311f160c0000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f475059626d75818e99a3aebbc7d6dfd2c5b8ac9f92867a6d6053473a2d201407000000000000000000000000040d17222d38414c565e696f7c869298a1a9b2bac2cbd1d9d8d1cbc3bdb5afaca69f9c98928f8c89878584848384848587898c8f92989b9fa4abaeb4bdc2cad0d7d8d0cbc1b9b1a8a09791857b6e685e554b40362d21180c03000000000000000000000000000000000000000000010b17222d38414d57626c75818e95a0a8b2bbc5cdd6d9d1c9c1b9b1aca59e9b95908c8986858483848586898c90959b9fa4acb1b9c0ccd2d9d7cfc6bdb4aaa1979083796d60594f43392f21170d00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dcd1c6bdb3a9a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000091724303d4a5763707d8a96969696969696969285796c605346392d2013060614212e3b4754616e7a87969696969696969696877a6e6154473b2e211408000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e2115080000000000000000000000000000000000000000000009131b252d374049525c636e737d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000006121f2b37434e585f626363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f12060007131f2c38434f596063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121c262e363b3f404242424242424242424242424242413938332d261d140a0000000000000000000000000000000000000000000000030d17212931363a3b42424242424242424242424242423e3c39332c241a1005000000040f19222b32373b3c3f4041414242434344453f44464754606a75818e99a3afbcc6c3b9afa59d9a9fa3aab4bfcbc0b5ab9f92877b6e62584e4345444443434242414140403f3c3b37322b22190f0400000000000000000000000000000916222f3c4955626f7c8895a2afbbc8cdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000001080e161e252a323b4146474846423b33291f0d040000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f343b4246515a616b727f8b939eabb5bfcbd7dccfc2b5a99c8f8276675d5145392c1f13060000000000000000000000000006111b262f3a444d575f6a6f7d869197a0a8b0bbc0c7cfd7dcd7d0c7c0bbb9b0abaaa39f9c989698929190909091929896989b9fa2aaacafb5babfc6cfd6dbd6cec6bfbab0a7a09691857c6f695f564c43392f241b0f06000000000000000000000000000000000000000000000006111b262f3c45505a606d7a839196a1a9b3bbc4ccd7ddd2cbc3bcb8afaaa7a09d99999392919091929299999d9fa7acafb6bec3cbd8ddd5cdc5bdb4aba29892857b6e665c51473d31281d0f0500000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd0dbe2d8cfc5bcb3adabababababababababababababababababababababababababababababababababababababababababababababab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a878a8a8a8a8a8a8a8a8a887b6e6255483b2f2215080714202d3946525e6878848a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a000000000000000000000000000916222f3b4854606b7070707070707070707070707070706e695e53463a2d211407000000000000000000000000000000000000000000000009131c252e37404a525c636b7070707070707070707070707070707070706e695f53463a2d2114070000000000020f1a26313c464e5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c31261b0f0300030f1b27323d464f54565757575757575757575757575756554f473d33271c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f33343535353535353535353535353535342d2b28221c140b02000000000000000000000000000000000000000000000000050f171f252a2d2e353535353535353535353535353531302d28221a1208000000000007101920272b2e2f3333343435363637372e3438424f59626f7c87939fabb5c0c7beb1a79d938e9298a3aebac4c7bbafa3998e81756a5f53473d32373736363535343433332f2e2b27201910070000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000000000000000000050c131920293036393b3b3a36312921170d000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3f444d525b626c707d87929fa5afbdc6d1dcd4c8bcb1a7988b7f7265554b4035291d100400000000000000000000000000000a141d28323b454e58606b6f7c8591969fa6afb5bdc4cbd1d8d9d2ccc7c2bbb7b4aeaca8a5aaa29f9e9d9d9d9e9fa2aaa5a8acaeb4b9bbc0c7cbd1d8d7d0cac3bcb4aea69e9590847b6f6a5f574d443a31271d1209000000000000000000000000000000000000000000000000000a141d2a333f45525d686e7b849197a2a9b2bac2ccd2d9d5cec8c1bab6b1acaaaba49f9e9d9d9d9e9fa3abaaabb1b9bbc0c7d0d5dad5ccc4bbb3aba39992867c6f695f544b40352c1f160c0000000000000000000000000000000000000815212e3b4854616e7b8794a9b3becad6e2e1d7cec5bebab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e21140705111e2a36414d56626f7c7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e221508000000000000000000000000000713202c38444f5960636363636363636363636363636363615e574d42362a1e12050000000000000000000000000000000000000000000000010a131c252e37404a525960636363636363636363636363636363636363615f574d42362a1e12050000000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a0000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a12191f232627282828282828282828282828282828201f1c17110a020000000000000000000000000000000000000000000000000000050d141a1e212128282828282828282828282828282423211c17100800000000000000070f161b1f2223262727282829292a2b28333f4a54616b76828f9aa4afbdc7c0b6aca0958e8186929fa8b2bdc9c0b5ab9f93877c6f62584e43372b2a292928282727262623221f1b150f07000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cfc3b6a99c908376695d5043362a1d100300000000000000000000000000000000000000000000000002080e171f252a2d2e2e2d2a251f170f05000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584c444a50575e616d727e869299a3aeb7c1cfd8dbd1c4b8ab9f95887b6e6255483b2f24180c000000000000000000000000000000020b162029333c464f59606a6f7b848f949fa3abb2babfc6ccd2d7d7d4ccc7c6bfbab9b5b2b4aeababaaa9aaababaeb4b2b5b8babfc6c7ccd2d7d7d2ccc5bfbab1aaa39f948f837a6e695f584e453b32281f150b0000000000000000000000000000000000000000000000000000020b18212935414c565e696f7c859297a0a8b1bbc0c7d0d6d9d4ccc6c3bcb8b7b5afacabaaa9aaabacafb5b6b8bcc3c8ccd2d9d7cfc9c1bab2a9a29992877d706a60574d42392e231a0d040000000000000000000000000000000000000713202d3a4653606d798697a2adbac6d3dfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c4b7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56606b70707070707070707070706d685e5246392d201307020e1925303b4854606a6f707070707070707070706e695f53463a2d2114070000000000000000000000000004101b27323d474f5456575757575757575757575757575754534d453b31251a0e02000000000000000000000000000000000000000000000000010a131c252e3840474f5456575757575757575757575757575757575755534d453b31261a0e02000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e1317191a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b13120f0b06000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000000040a0f131516191a1a1b1c1c1d161f2b3844505b66707d89949facb6c0c8bbafa49a918379808c96a0acb9c1c7bbafa49a8f82756a6054473d32271b1c1c1b1b1a1a191615130f0a0400000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000050d14191e202121211e1a140d0500000000000003101d293643505c6976838f9ca9b6b2a5988b7f7265584950545c60696e757f879298a2abb5bfc9d3ded3c7bbb0a69d908376695f53473a2e1d120700000000000000000000000000000000040d17212a343d474f585f696e7a828c9299a0a8aeb4bbc0c7cbd1d5d8d3d1cbc7c5c2bfbebab8b7b7b6b7b7b8babebfc2c5c6cad0d4d7d5d1cbc7c0bbb4aea7a098928b82796e685f574e463c332920160d03000000000000000000000000000000000000000000000000000000060f1924303a444d575f6a6f7d8591969fa7afb5bdc3cad0d5d7d2cec8c5c3c0bbb9b8b7b6b7b8b9bbc0c3c4c8cdd4d8d6d1cbc4beb9afa8a09792877e716b60584e453c30271d11080000000000000000000000000000000000000006131f2c3845515c667885929fabb8c5d2d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d1c4b7ab9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444f59606363636363636363636363615e564c41362a1d11050008141f2c38434e58606263636363636363636363615f574d42362a1e120500000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000000000000000000000000010a131c262e353d44484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000060f1820262b2e2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b2620181006000000000007101921272c2f3030303030303030303030303030302f2c27211a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070b0d0d0f0f0f0f0f0f0f0f0f0f0f0f0f0f0e060603000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000000030608090c0d0e0e0f08131e2834404b54606c7883909da6b0bec7beb2a99f93887c6f7984919ea5afbcc5c0b6ac9e93897c6f62594f43382c21160b0e0e0d0d0c09080603000000000000000000000000000001040607090915222f3b4855626e7b8895a1aebbc8d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000000000000000000000000002080e1114141514120e09030000000000000003101d293643505c6976838f9ca9b6b2a5988b7f726558535b60666d727b828b9399a2aab4bdc6d1dbd5ccc3b7ab9f94897d7063574d42372b1e0b010000000000000000000000000000000000050f18222b353d464e575f686d787f8791969fa3aaafb6bbc0c7c9cfd2d5d7d3d2cfd0cac6c5c4c3c3c3c4c5c6cad0ced2d3d6d5d2cec9c6bfbab5afaaa29f9590867f756d675e564d453c342a21170e04000000000000000000000000000000000000000000000000000000000008131e28323b454e58606b6f7c8490959fa4abb2babec5c9cfd3d7d4d1d2ccc7c6c5c4c3c4c5c5c7cbd1d1d4d7d4d0cac6bfbab3ada59e9691857d716c61594f463d332a1e150b000000000000000000000000000000000000000004101c2834404b546a7784919daab7c4c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c4b7ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f55565757575757575757575754524c443a3025190d0100020f1b27323d464e54565757575757575757575755534d453b31261a0e020000000000000000000000000000040f19232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d03000000000000000000000000000000000000000000000000000000010a141c232b33383c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921180d03000000000000000000060e151a1f2122242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e0600000000000000070f161b1f2223242424242424242424242424242323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101010d19242f3845515c66717e8a95a0acb8c2c5b9ada1978d80746b707d8a939eaab4bfc7beafa59c8f82766b6054483d32271c1005010100000000000000000000000000000000000001070d111314151516232f3c4956626f7c8995a2afbcc8d0c4b7aa9d9184776a5e5144372b1e11040000000000000000000000000000000000000000000000000000000000020507080807050200000000000000000104071d293643505c6976838f9ca9b6b2a5988b7f72655c60656c71787e858f949fa4abb4bcc6cfd8d7cec3baafa59c8f82766b6054453c31261a0e00000000000000000000000000000000000000061019232b343c454d565e666c737c848d92989fa4acafb5b9bec4c5c9cfd1d2d4d7d6d3d2d1d0d0d0d1d2d3d6d7d3d2d0cec9c5c4bdb9b4aeaba49f98928c837c726d605d554c443b332a22180f06000000000000000000000000000000000000000000000000000000000000020c162029333c464f59606a6e7a838d9399a0a8adb3b9bec5c7cbd1d2d4d7d4d2d1d0d0d0d1d2d3d7d5d2d2ccc7c6bfbab4aea9a19e938e847b706b615a50473d342b21180c030000000000000000000000000000000000000000000c18232e43505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb7ab9e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202c353d44484a4a4a4a4a4a4a4a4a4a4a4746413a32291e13080000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4846423b33291f14090000000000000000000000000000000007111921272c2f3030303030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000020a111921272c2f3030303030303030303030303030303030302e2d2a261f180f060000000000000000000000030a0f12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171515120f0a04000000000000000000040a0f13151617171717171717171717171717171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090b0c0c0d0d0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000004111d2935414c55606d7984919ea7b1bcc5bcb0a69e91847a6d606b75828f98a2aebac3c1b7aa9e94897c6f63594f44382c21160b00000000000000000000000000000000000000040c13181d202122222223313d4a5764707d8a97a3b0bdcad0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111318293643505c6976838f9ca9b6b2a5988b7f7265676d71787e848b92979ea6afb5bdc6ced8d9d0c5bcb2a89e93897c6f63594f44332a2015090000000000000000000000000000000000000000071119222a333b444c545b606a6f7980868e939a9fa3abadb3b7b9bdc2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c1bdb9b7b2acaba39f99938e867f796f6a625b514c433b322a211810060000000000000000000000000000000000000000000000000000000000000000040e17212a343d464f575f686d79808791969fa2a9adb3b9babfc4c6c7ccd2cdcdcecfcececdcccec9c5c4c0bbb9b4aeaaa39f97918a817a6e69605950483e352c22190f0600000000000000000000000000000000000000000000071c2935424f5c6875828f9ba8b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9e9184786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1a232c33383c3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c02000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3b3a36312921180d030000000000000000000000000000000000070f161b202223242424242424242424242424242421211e1a140d050000000000000000000000000000000000000000000000000000000000000000080f161c202223242424242424242424242424242424242422211e1a140d060000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707070c10131415161718191a1a1b1b1b191815120d0600000000000000000000000000000000000000000000000000030e18212c3945515d67727f8b96a1acb9c3beb4aa9e938a7e71685d616e7b86929fa7b1bec7bbb0a69c8f82766b6054483e33281c0b020000000000000000000000000000000000040d161d24292c2d2f2f2f2f36424d576673808c99a6b3bfcccfc2b5a99c8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d2024293643505c6976838f9ca9b6b2a5988b7f726e73797e838a91969fa2a9b0bbc0c7d0d8d8d0c7bdb3a9a0968e81756b6054473d3321180e030000000000000000000000000000000000000000000710182129323a424a505860676d737b81878f92999ea1a9abadb2b5b7b9bbc0bfbfc0c1c2c2c1c1c0bfbfc0bbb9b7b5b2acaaa8a19e99928e87817a736d675f585145413a312920180f0600000000000000000000000000000000000000000000000000000000000000000000050f18222b343d454e565e676d737c848c92979ea1a9acaeb4b7b9bbc0bfc0c1c1c2c2c1c0bfbebdb9b7b5afacaaa29f98928d857d756d685f574f473e362c231a100700000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39e9184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30303030303030303030302e2d2a251e170e05000000000007101921272c2e2f303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000040b1013161617171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000050b1013161717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105080d11131417181c1f20222324252626272727282524221e1811090100000000000000000000000000000000000000000000000915202a36414d56606d7a85929ea8b2bdc7baaea2988f82756c61565e69727f8c95a0acb6c0c2b7ab9f94897d7063594f44382c1d140a00000000000000000000000000000000010c161f282f35393a3c3c3c3c4046535f6976838f9ca9b6c2cfcec1b4a89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12181c1f24292c2f353843505c6976838f9ca9b6b2a5988b7f767b80858b90959ea0a8adb3bcc1ccd2d9d6cec6bdb5aba2979184796d60594f43352b210f060000000000000000000000000000000000000000000000060f1720292f383f444e555d60696e757c82878c91979a9ea1a8a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a09e9a96918c86817c746e68605c554e463f352f281f170e06000000000000000000000000000000000000000000000000000000000000000000000000061019222b333c444c555d606b6f7980858c92979c9fa3abaaacafb5b2b3b4b5b5b5b4b3b3b1b2acababa49f9c98928d86817a706c615e564d453d352c241a11080000000000000000000000000000000000000000000000000d1a2633404d596673808c96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969184786b5e5145382b1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232424242424242424242421201d19130c0500000000000000070f161b1f22232424242424242424242422211e1a140d06000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a0602000000000000000000000000000104060707070707070707070707070707070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114191d20212423292c2d2e30313233333434343432312e29231b130900000000000000000000000000000000000000000000020e1a26313946525e6873808c97a1adbac4bdb1a79f92867b6e615a5057606d7883909aa4afbbc5bbb0a69d9083766b6155483e2f261b110600000000000000000000000000000007131d28313a414547484848494b515a616e7b87939facb9c6d2cbbfb4aa998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000060b0f161b1d23292c2f35393a4045474a5c6976838f9ca9b6b5a99c8f8283878c92979da0a7acb2babec5ced7dbd6cdc4bcb4aba49992857b6e675d51463d32231a0f00000000000000000000000000000000000000000000000000060e171d262d333d434b51575e616a6f757b80858a8e9196989b9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918d8a847f7a756f6a615e56514b433c3429241e160d050000000000000000000000000000000000000000000000000000000000000000000000000000071019212a323a434b515960676d737a7f858b8f92999b9d9fa4aba6a6a7a8a9a8a7a7a6a5a8a19e9b9993908b86807b746d68615a524c443c332b231a1208000000000000000000000000000000000000000000000000000c1825323f4b5865727e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a84786b5e5145382b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617171717171717171717171413110d0802000000000000000000040a0f131516171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000001080d111314141414141414141414141414141413100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e14191e20252a2d2e312f34383a3b3c3e3f3f40404141413f3e3a342d251b110600000000000000000000000000000000000000000006121e2b37424d57616e7b86929fa9b3bec0b5ab9f958b7f72695e5244505c666f7c88939fa9b3bec2b7ab9f958a7d70635a5041382d22170b0000000000000000000000000000010d18242f3a434b515455555556555c606c75818e9aa4afbbc8d3c7baaea398897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000060c11171b1f272c2f34383a4145474b5153545b6976838f9ca9b6b7ab9f948f90939a9ea1a9acb1b9bdc3cad0d7d8d0cac3bbb3aaa29993877d70695f554c41342b2111080000000000000000000000000000000000000000000000000000050b141c2228313a41454d53586062696e73797d8184888c8f9193999799999a9b9b9c9b9b9a9999979992918e8b8884807d78726e68625f58524c454039312a2219130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000070f182029313940454f555c60676d72797e82868a8e91939998999a9a9b9c9b9b9a99989696918f8b86837f7a736e68605d565046413a322a2119110800000000000000000000000000000000000000000000000000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0707050100000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313121211100f0d0b0906060300000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000040c13191d20212121212121212121212121212120201d18120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e252a2d3036393a3d4040454748494a4b4c4d4d4e4e4e4c4a463f372d23180d0100000000000000000000000000000000000000000814212e3a47535f6974818e98a2aebbc5bbafa3999083786c60574d424a54606b74818e97a2adb9c2bcb1a79d9083776c6153493f33271b0f030000000000000000000000000004111d2935414b555d606262626364676d737e8b939eacb6c0cccfc5b8ac9f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000030a11171b22272b3238394045474c5254555d6063666c76838f9ca9b6bbb0a69f9c9d9fa4acadb3b8bcc3c8ced6dad5cec6bfbab1a9a19892877f726b61574d433a2f22190f00000000000000000000000000000000000000000000000000000000020a11171f282f353b42464e54575e61666d7074787b7f828486888a8c8c8d8e8f8f8e8e8d8c8c8a888684827f7b7774706d66615e56534e46413b342f271f18100801000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171f272f353d434b51555d60676d71757a7e818486898b8c8d8e8e8f8f8e8d8c8b898784827e7a76726d68615e56524c443e35302820180f070000000000000000000000000000000000000000000000000000000714202d3a46525e696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1f1e1d1b1a181513120f0b0607050200000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a000000000000040d161e24292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262a3036393b4146474a4d4b51535556575859595a5a5a5b585651493f34291e12030000000000000000000000000000000000000006131f2b38434e58626e7b87929faab4bfbdb2a89f92877c6f665b50453b424f59616d7a85929ea7b1bdc2b8ab9f958a7d70655b5044372b1f1205000000000000000000000000000613202c3945515d676d6f6f6f6f7174797f88939fa5afbec7d1c6bdb0a69b8e8275675d5145392c2013060000000000000000000000000000000000000000000000000000000000000001070c151c23282d33373d44484b5153565d6064676d7074797c84919eaab7c2b8b0aba9a9acafb6b9bec5c8ced4d9d4cec9c2bcb4aea7a09791867e726d62594f453c31281e1007000000000000000000000000000000000000000000000000000000000000060d161d242931363d43474d52545c6064676a6f7275777a7b7d7f8080818282828180807f7d7b797775726e696763605c54524c47433c363029231d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d2429313940454c51555d6065686d7175777a7c7e7f80818282828180807e7c7a7875726e6865615d56524d45413a3229251e160e060000000000000000000000000000000000000000000000000000000005111e2a36424d575e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c171414110e080400000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c110700000000020c161f282f35393a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39352f281f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141c222831363b4146474c5254575a555c606163646566666767676765625b51463a2e1f1409000000000000000000000000000000000000000815222e3b4754606a75828f99a3afbcc1b9aca0968d80736a5f544a3f333d46525e68717e8b959fabb5c0bcb1a79d9083786c605346392d201306000000000000000000000000000714212d3a4754606d797b7b7b7c7d80848c939aa4afb7c1d0c7bfb4ab9f948a7d7063554b4135291d1104000000000000000000000000000000000000000000000000000000000000040c12181e262e34383f44464f54555c6064686d7175797d8185899196a0acb8c5c2bbb7b5b6b9bbc0c7c9cfd4d8d4cec8c4bdb9b0aaa29f9590857c706c625b51473e332a1f160c0000000000000000000000000000000000000000000000000000000000000000040c13181f252a32373b42464a515357585f626568676d6f717273747475767574747372716e6d666865625f575753504a46413b37312a251e18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f272f343a41454b5153565d606468676d6f71737374757675747473726f6d686865615e5654524c46413b3530282019130c040000000000000000000000000000000000000000000000000000000000020e1a25303b454d52545757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020202020202020201b1a18140f080100000000000000000000000000000000000000000000000008111a22282d303139393939393939393939393939393939393939393939393939393939393939393939393939393939393939383837363534322f2d2b282221201e1914100c07010000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d020000000a141e28313a414547474747474747474747474747474745403931281d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d262d333b42464c5254565e61646669676d6e6f7172727373747474726d62564a3b31261a0e020000000000000000000000000000000000000916232f3c4956626f7c89939fa2aaafb9afa59e9184796d60584e42382d36414c56606c78839099a3afbab2aca69f958a7e7164574a3e3124170b000000000000000000000000000a1724313d4a5764707d888888898a8d91969fa4acb6c0c7c3bdb5aea3999083766b6155433a2f24180d010000000000000000000000000000000000000000000000000000000000070d161d242930383f44495053596063676d71757a7e82858a8e91979ea0a8b2bdc8ccc7c3c2c3c6c8ccd2d5d5d2cdc8c3bcb8b2aca69f98928c837b6f6a615a51493f352c21180d0400000000000000000000000000000000000000000000000000000000000000000001070d141a20272b3036394044464a4e535559555c60626466666768686968686766666462605c545855534d4a46443f3836302b262019140c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d151d23292f35394045474c525457555d6062656667676869686867666563605d565854524c4746413a363029241e160e08020000000000000000000000000000000000000000000000000000000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000005101a232c33393c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464545444342403e3c3938332d2e2d2a251f1d18120f0a0400000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e1206000006111c26303a434c52545454545454545454545454545453514b43392f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e262f383f444d53565e6165686d707376787a7b7c7d7e7f80808181817f7265574d42362a1e12050000000000000000000000000000000000000915222f3c4855626f7c838b92989ea5ada99e93897d70675d51463c2f26303a44505b656f7c87929fa9aea8a09e948f877f7266594c3f3326190c000000000000000000000000000a1724313d4a5764707d8a959596979a9ea1a8afb6bec0bbb9b2aba49f92867c6f62594f4431281d130700000000000000000000000000000000000000000000000000000000000810191f282f353d424a50535b60646b6f74797d82868b8f92989a9ea1a9acb2bac3ced8d3d0cfd0d2d4d6d3cfc9c6c2bcb8b1aca8a19e948f867f786e69605850473f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000003090e161b1f252a2e34383a3d4347484c4b5153555759595a5b5c5c5b5b5a5959575553514a4c4847423d3a38342e2a251e1b150e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292f35393a4145474b4b51535658595a5b5b5c5c5b5a59585654524c4b4746413b3935302a251f19130c04000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1720282e333637393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535352525251504e4d4b4846443f3d3b3936302c29241d1b15100b05000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a00000b17232e38424c565d6060606060606060606060606060605d554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e273038424a50575f61686e72767a7d8082848688898a8b8c8c8d8d8d8e8478695f53463a2d2114070000000000000000000000000000000000000815212e3a47535f6a6f787f868f939ea1a1978e81746b60554b40342a1d27333f49535f6a74808d97a1a29f96918a827c726d63574b3e3225180c000000000000000000000000000a1724313d4a5764707d8a97a2a2a4a7abadb2bbc0bdb5afaca8a099938b7e716a6054473e331f160c010000000000000000000000000000000000000000000000000000000009111a222b313940454e545c60656c70767c81858a8f92989b9fa2aaabadb3b8bdc3ccd5e0dfdddbd6d3d0cbc7c5beb9b8b1aba7a09d96918a827b726d665e574e463e352d251b1108000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2d31373a3c3f404547484a4c4d4d4e4f4f4f4e4d4d4c4a484644403f3b3a37312d2b28231c19140f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d24292c2f35393a3e404547494b4c4d4e4f4f4f4e4d4d4b494745413f3b3936302d29241e19140d08020000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16202932393f43444646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5f5e5e5c5b5a585553504a4a4746413b38352f2b26201c160d080200000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c0003101c28343f4a545d686d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039424a545b60696e747a7f83878a8d8f91939996979899999a9a9a96887b6e6155483b2e22150900000000000000000000000000000000000006121f2b37434e585f666c727b828a91969e92857a6d61594f43392f2217222d38414e58606d7a84919e98928c847d766f6a635b51463b2f22160a000000000000000000000000000a1724313d4a5764707d8a97a3afb0b3b8b9bdc4c0b5aba49f9b9691877f726c62584e43352c210d040000000000000000000000000000000000000000000000000000000109121b232c343d434b515860666d71787d83898e92989b9fa3aaacaeb4b8b9bec4c8ced5dedad5d2d0cac6c5bfbab8b3adaba79f9d95918b847e766e69605c544d453c342c231b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f20262b2e2f2f34383a3c3e3f4041414243424141403f3e3b3a38342e2f2e2b26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d12181d1f24292c2d2f35393a3c3e4040414243424141403f3c3a39352f2e2d2a25201d19130e08020000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242322201c160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111d28323b444b4f51535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a6968676562605b545754524c4745403937312c272119130c0400000000000000000000000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c0006121f2b3844505c66767a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18232e39424b545c666c737b81868c90939a999c9e9fa4aba4a5a5a6a6a7a8978b7e7164584b3e30251a0e020000000000000000000000000000000000030f1b26313c464e545b60696e757d848d928b7e71685e52473d31271d111b262f3c45515d67717e8a938e867f79706c625f58514940352a1e1206000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc0c4c5c9c7bbafa499938f8a847d726d625a50463c32231a100000000000000000000000000000000000000000000000000000000009131b242d353e464f555d606a6f787e838a90959b9fa2aaacaeb4b8babfc4c6c9cfd4d9ded6cfc9c5c4bebab8b4aeaca9a19e9a95908a837e78716c615f57504a423b332b221a110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131b1f212223292c2d2f313333343535363535343333312f2d2c282322211e1a1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d202124292c2d2f3233343435363535343332302d2c292421201e1914110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141417171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222e39444d565b5e606060606060606060606060605b58534a41362b201408000000000000000000000000000000000000000a1623303c4955616c7079797979797979797979797979797979797979797979797979797979797979797979797979797979797979787877767573716f6c666664615e5653514b47433c383329241e160e08020000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000713202d3a4653606d7886878787878787878787878787878275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2834404b545c666d787f868e92989c9fa4aca9abacafb5b0b1b2b3b3b4a79b8e817468574d42362a1e12050000000000000000000000000000000000000a15202a343c424a50575e616c7079808682766c61564c41352b1f150b141d2935414c55616c768286817b726d67615a534e4640372e23180d02000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad1d2d2c6b9ac9f9386827e78706b625b51483f342b20110800000000000000000000000000000000000000000000000000000007111b252d363f474f5960676d737c838b90959d9fa7abaeb3b9babfc5c6cad0d2d5dae1e0d6ccc4bdb9b7b3aeabaaa39f9b97928d89837d78716d66615a534d443f383029211910080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060a0f121515181c1f20222426262728292928282726262422201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314181d1f202325262728282929282726252321201d191414110e080501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000a1724313d4a5764707d868686868686868686868686868686868686868686868686868686868686868686868686868686868686858585848381807e7b797673706e6864605d55534e48443d3530282019140d0500000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515c666d78818c92989fa3aaacafb6b5b7b9bbc0bdbebfbfc0b7aa9e918477695e52463a2d201407000000000000000000000000000000000000030e18222a2f383f444d525961676d737c7b6e615a50443a3023190d030b19242f3a43505a616e7b7c746e68605c555047433c342e251c120700000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad0d1d4c7bbafa4999184807a726d605c544a3f34281e150b0000000000000000000000000000000000000000000000000000050e19232d373f485059616b6f79808790959da0a7abb1b8babec5c7cbd1d3d4d1d0d1d2d5dacfc4bab2adabaaa29f9b98928e8a85807c76706c65605c545046423b342e261e170f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608070c1013141517191a1a1b1c1c1c1b1a1a1917151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c1013141618191a1b1c1c1c1b1a1a18161413110d0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a36434f5b67717779797979797979797979797979746f64584c4033271a0d010000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939a93929291918f8e8d8b888583807d7a76716d67625f58544f45413a322a251e170e06000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c000713202d3a4653606d798693a0a0a0a0a0a0a0a0a0a09c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424f59606d78818e939fa3aaaeb4b9bbc0c2c4c6c7ccd2cbccccc5b9aca096877b6e6154483b2e211509000000000000000000000000000000000000000610181d262d333b42464f555d606a6f6e695f53483e32281e11080008131e28313e46535f696e6f6a615e56514b433e37312a221c130a0000000000000000000000000000000a1724313d4a5764707d8a97a3b0bcbfc4c5c8ccc0b5aba096918d867f756d665c50443e30271d1207000000000000000000000000000000000000000000000000020c16202b353f49515a626c707d848d9399a0a7acb1b8bcc2c6cad0d3d4d1cdc8c4c3c4c6c9cfc9bdb2a8a19e9a98928e8a86817d79746f6a64605b53504a423e363128231c150c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0d0e0f100f0e0e0d0c0907060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090d0f0f13131313131313131313131313131313131313070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7783868686868686868686868686868174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9e9d9c9b9a9898928f8d8a87837e79746f6a636059524c443e36302920180f070000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acadadadadadadada89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c75818f939ea5aeb4babfc6c8ccd2d1d2d1d0cdcbc9d2c9bdb2a8978a7e7164574b3e3025190e0200000000000000000000000000000000000000060b141c222830363e434b51585f62615f574d42362d20160c0000010c161f2a36424d575f61626058524d454039302b262018100a010000000000000000000000000000000a1724313d4a5764707d8a97a3aeafb2b7b8bdc3c7bdb2a8a09e98928c81786d605a5043392e23180c00000000000000000000000000000000000000000000000008131e28323d47515b626c717e8691969fa4abb1b8bcc3c7cdd3d6d3cec8c5c3bcb8b7b8b9bec4c5b9ada196918d8985827e7a75706d66626058535049443f38302a261f17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c202020202020202020202020202020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a77849193939393939393939393938e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb6afacacababaaa9a8a6aaa29f9c999794908b85807c76706b605d565046413b322a2119100700000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9bababababab5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66707d8a939ea5afbabfc6cbd1d4d8d2cdc8c4c3c0bebcbbc0bbb4a79a8e817467564d42362a1e11050000000000000000000000000000000000000000020a11171f252a313a40454e545555534d453b31241b0e05000000040d1a26313b454d535556544e46413b342e271e1b150e0600000000000000000000000000000000000a1724313d4a5764707d8a97a1a1a3a6aaacb2bbbfc4bab2acaaa29f938d80746c61554b4034281c100400000000000000000000000000000000000000000000010d1925303a444f59626d727e879298a1a8afb5bdc3c8ced4d6d0cac7c3bcb8b7b1acaaabadb3bbc4b7ab9e9184807d7975716d6763605c54544e46443f38342e261e1a140c0600000000000000000000000000000000000000000000000205070809090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080806020000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0909070300000000000000000000020507080a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000000000000000000000306060a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0bbb9b8b8b8b7b6b4b3b3aeaba9a6a69f9c97928d88837d746d68615a524c443c332b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7883919da5afb7c1cbd0d7dcd3ccc6c3bcb8b6b4b1afaeb6afacaa9e918477695e52463a2d20140700000000000000000000000000000000000000000000060b141a1f282f353c4347494846423b33291f1209000000000009141f2a333b4246484947433d363028231d150c0a030000000000000000000000000000000000000a1724313d4a5764707d8a94949596999da0a8aeb5bdc4bdb9b4aea59d928a7e71675c5145382c1f14090000000000000000000000000000000000000000000005111d2a36414c56606b727f8b9299a2aab2bbc0c7d0d4d7d0cac6bfbab8b1acaaa7a09d9ea1a9b3beb2a5988b7f74706d6664605d5553514a47433d37332d28231c150c09030000000000000000000000000000000000000000000003090e121415151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514120e09030000000000000000000000050b101316161717171717171717171615130f0a0400000000000003090e121415171717171717171717171413100c070100000000000000000000000002080d1113141717171717171717171717171614100b050000000000000000000000000000000000000000060b0f1213171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c161e262c313536393939393939393939393939393939393939392e2d29251e160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daaacacacacacacaca79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d2ccc8c6c5c5c4c4c2c1c0bebab8b6b3b0aba9a29f9a959089817a716c615e564d453d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d3cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864717e8b95a0acb8c1c9d6dcdad1c9c1bab6b1acaaa7a5a3a1a0a49f9f9f96877b6e6154473b2e211408000000000000000000000000000000000000000000000002090d161d242932373b3c3b3a36312921180d000000000000030e18212a31363a3b3c3b37322a251f18120b0300000000000000000000000000000000000000000a1724313d4a5764707d87878788898c91969fa3abb5bec7c5bfbaaea49e9184796d6053463b3025190e020000000000000000000000000000000000000000040f19222d3946525e686f7d87929fa3abb4bcc4ccd2d9d5cec5bebab4aeaca7a09d9995909197a1adb9b2a5988b7f7265605c5454514c4644403938322b27221b17110a030000000000000000000000000000000000000000000000050d141a1e21212222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222211e1a150e06000000000000000000070f161c20222324242424242424242423221f1b160f0700000000060d141a1e212224242424242424242424201f1d18120b0300000000000000000000050c13191d202124242424242424242424242323201c1610080000000000000000000000000000000000020a11171c1f202423201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1e2830373d4142464646464646464646464646464646464646463a3935302820160c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7b9b9b9b9b9b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3d2d2d1d1d0cfced0cac6c5c2c0bcb7b3adaba79f9d938e857e756e685f574e463d332a20170b0200000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919ea7b1bccad3dbdcd1c8bfb7afaaa7a09d9a989695949a939292928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000040c131820262b2e2f2e2d2a261f180f0600000000000000060f181f262a2d2e2f2e2b272019140c07000000000000000000000000000000000000000000000714202d3a4753606d797b7a7b7b7c7f848b9299a3acb6c0cccac0b9aca1968b7e7265564d42362a1e110500000000000000000000000000000000000000000a15202c38444f59616d7a849199a3afb5bdc6ced7d6cec9c0bcb4aeaaa29f9a95918c888385919eabb8b2a5988b7f726558514a4745413a38342e2b271f1b17110c06000000000000000000000000000000000000000000000000050f171f252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620180f060000000000000007111921272c2f303131313131313131312f2e2c27211910070000060f181f262a2d2e313131313131313131312d2c29241d150d030000000000000000050e171e252a2d2e3131313131313131313131302f2c27211a1108000000000000000000000000000000030b141c22282b2d302f2c282119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620303a42494e4f535353535353535353535353535353535353534746413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4c6c6c6c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6dfdfe9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1c8cacdcfd2d3d6d3d2cfcdc7c5bebab8b1aba59d97918a827a6e6960584e453c32291d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8896a0acb9c3cedcded3cabfb6aea59e9b95908d8b8988878686868585858073675a4d4034271a0d000000000000000000000000000000000000000000000000000001070d151b1f222222211e1a140d06000000000000000000060e141a1e212223221f1b150e0802000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e7073787f87929aa4afbbc7d1c9bdb2a89c908376695e52463a2d20140700000000000000000000000000000000000000030f1b27323c4855606b75828f96a1abb5c0c7cfd8d4ccc4bdb9afaaa29f98928e89847f7b77828f9ca9b6b2a5988b7f7265584c403a39352f2c28231c1b160f0b0600000000000000000000000000000000000000000000000000030d17212931363a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000050f19232b33383b3d3d3d3d3d3d3d3d3d3d3c3b38322b22190f04030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3a38352f271f150b01000000000000020c1720293036393a3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a100500000000000000000000000000030c151d262d3338393d3c383329241e160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2832424c545a5c6060606060606060606060606060606060605f54524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0d2cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d7cec6bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9babfbbbcbdc0c3c5c6cad0d3d6d8d3d0cac6c2bcb8afa9a19e938f847b6f6a60574e443b2f261c1106000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a8b2bdcbd5dfd7ccc1b8aea49c938e8883817e7c7b7a7a7979797878736e64584c3f3326190d00000000000000000000000000000000000000000000000000000000040a0f1315161514120e0903000000000000000000000003090e1214151615130f0a040000000000000000000000000000000000000000000000000004101c2934404b555c606161616263666d727d88939fabb5c0cbcec4b9ac9f93877b6e6154473b2e2114080000000000000000000000000000000000000006131f2b37434e5863707d89949ea8b2bdc7d1d9d4cbc2bab2aca59d98928d86817c77726e76838f9ca9b6b2a5988b7f7265584c3f2e2c29241f1c18120f0a0300000000000000000000000000000000000000000000000000000009141f29333b424648484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847423c332a20150900000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4948433d342b21160a09141f29333b4246484a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b000000000000000000000000040d151e262f383f44464a48443e35302820170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a44545e65696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c615e564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c6bcb4aeacacacacacacacacacacacacacacacacacacacacacacacacacaeb4aeafb1b3b6b8babfc5c6cad0d4d9d6d3cdc7c1bbb3ada69e9691857c6f6a5f564d42382d22170b030000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8b5c1cedbdfd3c7bbb0a69c928c817c777472706e6d6d676c6c6c6c67645c52473b2f23170b00000000000000000000000000000000000000000000000000000000000003060809080705020000000000000000000000000000000205070809080603000000000000000000000000000000000000000000000000000000000c18232f39434b515354545455545c606b74808d99a3afbbc7d3c8bbafa49a8a7d7064574a3d3124170a000000000000000000000000000000000000000815222e3b4754606a76828f9ca6b0bac4cfd9d4cac2b9b1a8a09e938e85807a746f6a666976838f9ca9b6b2a5988b7f7265584c3f32251d1913100c070000000000000000000000000000000000000000000000000000000000020e1a25313b454d53545555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555534d453c31261a0e0200000004101c27333d474f545657575757575757575756544e463d32271b0f0e1a26313b454d53555757575757575757575753514b43392f24180c0000000000010d1925303a444c5254575757575757575757575756554f473d33271c100000000000000000000000050d161f273038424a505357554f45413a322921170f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566570757979797979797979797979797979797979797975685e5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aaa1a2a4a6a9acaeb4b8babec5c8cdd6dbd8d4cdc4beb9b0a8a19792857c6e685e544a3f33282015090000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784919daab7c4d0dddcd0c3b7aa9e948c80756f6a6765636261605c5f5f5f5f5a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139404547474748484a5059616e7b86929facb9c5d2ccc0b6ac998c807366594d4033261a0d000000000000000000000000000000000000030f1c28333f4a54626f7c88949fabb8c1ccd6d5ccc2b8b0a79f969189817a736d686260586976838f9ca9b6b2a5988b7f7265584c3f3225190d08040000000000000000000000000000000000000000000000000000000000000005121e2a36424d575e6162626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262625f574d42372b1e12060000000713202c38444f5960636464646464646464646260584e43382c1f13121e2a36424d575f6164646464646464646464605d554b4035291d10040000000005111d2a36414c565e6164646464646464646464646361594f44382c1c1106000000000000000000050e171f283139424a545b60636159524c443b332921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687582868686868686868686868686868686868686877a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea2989292929292929292929292929292929292929292929292929298949595979a9c9fa2aaabadb3b8bcc3cad0d7dfd6cfc9c1bab2a9a19791847a6e665b50443c31261a0e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd6cabeb3a99c8f82756e6260585856555453514b5252524d4c4740382e24190e020000000000000000000000000000000000000000000000000000000000030607090a0b0c0d0e0e0d0d0c0b09070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3f46525e6875828f9ca8b5c2cfd2c1b5a89b8e8275685b4f4235281c0f02000000000000000000000000000000000006121f2b3844505b6675818e9ba6b0bbcad3d9d0c3bab0a69f9590847d746d68615e56545c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000000004080a0b07060400000000000000000000000000000000000000000714212d3a46535e696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2e2114080000000916222f3b4854606b707070707070707070706f6a6054483b2e221514212d3a46535f696e707070707070707070706d675d5145382c1f1306000000000713202d3946525e686d7070707070707070707070706b615548382d22170b0000000000000000050e172029313a434b545c666c706b605d564d453b33291f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a869293939393939393939393939393939393998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f9286858585858585858585858585858585858585858585858586868788898a8d9092989a9fa2a9abb1babec5ced3dcdad5ccc4bbb3a9a1968f82786c60574d42372b20160a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3aebbc7d3dfd3c6baada297897d70635b544e4b494847474540464545403f3b362e261c120800000000000000000000000000000000000000000000000000000306060c101213151718191a1b1b1a191918161413110d070705020000000000000000000000060606060606060606060606060000000000000000000000000000030d151d23292c2d2e2e2e2e36414d5666727f8c99a5b2bfcccfc2b6a99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7985929fabb8c2cdddd2c7beb2a89f948f827a706b615e56524c505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00000000050b101416171413100c070100000000000000000000000000000000000815212e3b4854616e7b7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6255483b2f2215080000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231615222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d796d6053473a2d201407000000000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7063544a3f33281c0f03000000000000020d172029323a434c555d666d787d756d685e574d453b31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a797979797979797979797979797979797979797979797979797a7b7c7e808385898d92979da0a7aeb3bcc1cad2dbded6cdc5bbb2a89f948c7f72695f53473d32271b0f02000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895abb5bfcbd7ded2c5b8ab9f9285786b605447433f3d3b3a3a38342f393934332f2b241c140a01000000000000000000000000000000000000000000000000060b0f1213171c1f2022232425262728272626242220201d181514120e0905020000000004080a0a131313131313131313131313130b0a08040000000000000000000000030b12181c1f2021212125303d4a5663707d8996a3b0bcc9d0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000916222f3c4955626f7c8897a2adbac6d4d8ccc0b6aca0968f82796d686059524c4641505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0000000810171c212324201f1d18120b03000000000000000000000000000000000f1c2935424f5c6875828888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888883776a5d5144372a1e11000005111e2b3844515e6b77848a8a8a8a8a8a8a8a8a8276695c504336291d1926323f4c5965727f8a8a8a8a8a8a8a8a8a887b6e6255483b2f221508000000000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8578665b5044382b1f120600000000000009141f29323b444c555d676d78818a827a6e695e574d43392f24180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5acacacacacacacacacacacacacac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6d6e6f717376797c81858a90959fa2aab0b8c1c9d2dbdfd7cdc4bab0a69f92867b6e62584e43382b1e1408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000040607090b0c0d0e0e0e0d0d0b0908070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcd1dcdccfc3b6a99c90837669594f443732302f2e2d2c29232c2c2726231f19120a020000000000000000000000000000000000000000000003090e11171c1f2023282c2d2f303132333434343332312f2d2c292422211e1a14120e0903050b1014161720202020202020202020202020171614100b050000000000000000000001070c101314141416222f3c4955626f7c8895a2afbbc8d0c4b7aa9d9184776a5e5144372b1e110400000000000000000000000000000000000c1925323f4c5865727f8b98a9b3becad6d4c8bbafa49a91847a6d675e564f46413a43505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c000008121a22282d30312d2c29241d150d060000000000000000000000000000000f1c2935424f5c6875828f95959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959083776a5d5144372a1e11000005121f2c3845525f6b788592979797979797979084776a5d51442d2217192633404c5966737f8c9797979797979796897c6f6356493c30231609000000000b1724313e4a5764717d8a9797979797979797979386796c605346392d2013060000000000020e1925303b444d565e676d79828e938f847b6e695e554b4035291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9b9b9b9b9b9b9b9b9b9b9b9b9bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000002020505050505050505050505050505050505050505050505050505050505050505050505050505050505111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e050505050505050500000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f555c606162626467666c6f74797e838b92989ea6afb7c0c9d2dcdfd6ccc2baaea3998e82756a6054473b3025190e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0406070c1013141618191a1b1b1a1a1918161414110e080806030000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dacdc1b4a79a8e8174675b4e413327232221201f1c181f1f1a1917130e0801000000000000000000000000000000000000000000030a0f141a1c22282b2d2e34383a3c3d3e3f40414140403f3e3c3a39352f2e2d2b26201e1a141010171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000040607080815222e3b4855616e7b8894a1aebbc7d0c3b7aa9d9084776a5d5144372a1e110400000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d0dbd2c6b9ac9f93877c6f685d554c443d353043505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c00040d1a242c33393c3e3a39352f271f18100801000000000000000000000000000f1c2935424f5c6875828f9ba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9084776a5d5144372a1e11000005121f2b3744505b657985929fa3a3a3a3a39e9184786b544a3f33281c1a2734404d5a6773808d9aa3a3a3a3a3a3968a7d7063574a3d3024170a000000000b1825323e4b5865717e8b98a3a3a3a3a3a3a3a49a877a6d6054473a2d211407000000000005111e2a36424d565e686d79828f949e9691847b6e675d51453e30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7c6c6c6c6c6c6c6c6c6c6cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1212121212121212121212121212121212121212121212121212121212121212121212121212121212121e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1212121212121212120a090704000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154525252525252525252525252525252525252524b515354555657545b6062676d71787f858f949ea5afb7c0cad3e0ded7cbbfb4ab9e93897c6f62564c41362a1e11050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0c101314181d1f20222426272728272726252321201e191515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccc0b3a6998d8073665a4d4033271a15141413100c07120d0d0b070200000000000000000000000000000000000000000002080d151b1f252a2d3338393c3f4446484a4b4c4d4e4e4d4c4c4b494745403f3b3a37312d2a251f1b1a22282d30313939393939393939393939393931302d28221a12080000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a99b8e81756a60564c433a32293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c010c16202c363e44494a47454039312a2219130c040000000000000000000000000f1c2935424f5c6875828f9ba8aeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa9d9084776a5d5144372a1e1100000613202d394653606c7986939facb0b0b0ab9f928578665b5044382b1f1b2734414e5a6774818d9aa7b0b0b0b0a4978a7e7164574b3e3124180b000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b6a194877b6e6154483b2e21150800000000000714202d3a46525e696e7a8390949ea6a0969083796d605a5042392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7d2d2d2d2d2d2d2d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000000000002090f15191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281f1f1f1f1f1f1f1f1f1f171614100b0500000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154474646464646464646464646464646464646464045464748494b4a5053555c60666c727b828e939da5afb8c1ced7e1dcd1c6bdafa59b8f8275685e5246392d2014080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c181d1f2024292c2d2f313333343434333331302e2d2a2522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d9ccbfb2a6998c7f7366594c403326190d0707060400000601000000000000000000000000000000000000000000000000050d131920262b3136383f4446494a505355565758595a5b5a5959575553514b4b4846423c3a36302c27232c33393c3d464646464646464646464646463e3c39332c241a100500000000000000000000000000000815222e3b4855616e7b8894a1aebbc7cfc2b6a99c8f8376695c504336291d10030000000000000000000000000000000004101d2935404b556b7885919eabb8c4d1d2c6b9ada197897c6f62584e443a3129293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c08131e28323e4850555753514b433c3429241e160d0700000000000000000000000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb7aa9d9084776a5d5144372a1e1100000714202d3a4753606d7a869aa4afbbbdb9ac9f9386796c605346392d201b2835414e5b6874818e9ba7b4bdbdb2a5988b7f7265584c3f3225190c000000000c1926333f4c5966727f8c99a5b2bdbdbdbbafa295887c6f6255493c2f22160900000000000814212e3b4754616e7b8490959fa6b0a8a0958e81746c61544a4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7dfdfdfdfdfdfdfe0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000030c141b202528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342c2c2c2c2c2c2c2c2c2c2c2322201c160f08000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a393939393939393939393939393939392e34383a3a3b3c3e3f44464b51545b60686e78818e929da6b0bcc5d0dbe2d8cfc1b9ac9f92867a6e6154473b2f24190d0100000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291f24292c2d2f35393a3c3e3f4041414140403e3c3b3936302f2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000060e171e252a31373b42464a505355545c60626364656667676766656462605d555855534d4846423b38322b353e44494a535353535353535353535353534a49443e362c22170b00000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000000000000006131f2c3845515d677985929facb8c5d2d1c5b8ab9e9285796c6053463c32281f293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c0d19242f3a44505a6164605d554e463f352f281f191008020000000000000000000f1c2935424f5c6875828f9ba8b5c2c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c3b7aa9d9084776a5d5144372a1e1100000814212e3b4754616e7a8794a1b6c0c8bbafa49a877a6d6054473a2d211c2835424f5b6875828e9ba8b5c1bfb2a6998c7f7366594c403326190d000000000d1a2633404d596673808c99a6b3bfcac9bcafa396897c706356493d3023160a00000000000713202d3a4653606d7980889197a1a9b1a79d938a7d70665c5144382c1f160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e3edececececececefe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000000020c151e252c31343538383838383838383838383838383838383838383838383838383838383838383838383838383838383838383844515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41383838383838383838383838302f2c27211a11080000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c23282c2d2e2f2f2d33383940454a50565e666d78808e949eaab3becad6dfe0d3c7bbafa3998c7f7266564c4135291d110400000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236282b2f35393a3d404547494b4c4d4e4e4d4d4c4b494746413f3c3b37322d2a261f1b150e08020000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000000020a1117202930363c43474d53545b606265666d6f707172737474737372716f6d676865615f5754524d48443d373e4750555760606060606060606060606060575550483e33281c1004000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cfc2b5a89c8f8275665b5044382b2016293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190c111d2935414c56616c716d675f585045413a312b2219130c0400000000000000000f1c2935424f5c6875828f9ba8b5c2c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c3b7aa9d9084776a5d5144372a1e1100000815222e3b4855616e7b8894a1aebbccc0b6a194887b6e6155483b2e221c2936424f5c6975828f9ca8b5c2c0b3a79a8d8074675a4d4134271a0e010000010d1a2734404d5a6773808d9aa6b3c0cdcabdb0a3978a7d7064574a3d3124170a000000000006131f2c3845515c666d737d859197a1abafa59e9184796d6053463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6876828f9cabb5bfcbd7e3f4ece8e6e5e6e8ece8dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000000000000009141e2730373d414245454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e454545454545454545454545453d3c38332b231a0f0500000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211f1f1f1f1f1f1f1f1f1f1f1f1f1f181c1f2021222322282b2f34383f444d545c666c75828f98a2aebac3ced9e3d7cbc0b5ab9d908376685d5245392c20130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f422d3338394045474a4b51535557595a5a5b5a5a59585654524c4c4847433c3a36312b262019140b0600000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000030c141c2328323a41464e53575e61666c6f7275797b7d7e7f808181807f7f7e7c7a7875726e6966615e57544f474244505a61646c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d211408000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9ccbfb3a6998c807366594d4033261a0d00000000000000000000000000000000000814212e3b4754616e7a8794aab4bfcad6cdc1b4a79a8e817467544a3f3328191d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225190b17212c3945525d68717d796f6a625a514c433c3429241e160e07000000000000000f1c2935424f5c6875828f9ba8b5bababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab7aa9d9084776a5d5144372a1e1100000915222f3c4855626f7b8895a2aebbd2bbafa295887c6f6255493c2f221d293643505c6976838f9ca9b6c2c1b4a79b8e8174685b4e4135281b0e020000010e1b2734414e5a6774818d9aa7b4c0cdcabeb1a4978b7e7164584b3e3125180b000000000004101c2834404b545c606b707b859199a3afaca0968b7f7265594f44382c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c5d1dce7e6e0dcd9d8d9dce0e6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000040f1b25303942494d4f52525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525e6a7784919daab7c4d0dacdc1b4a79a8e8174675b52525252525252525252525252524a48443d352b21160b00000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114131313131313131313131313070c101313141516171c1f23292d333b424a545b616e7b85929fa7b1bcc8d4e0dcd1c5b9ac9f92867a6d6054473a2d21140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42383f44464b515357555d606264666667676766666463615e565955534e4846423b37312a251f17110a020000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000000000030c151e262e343d444c52585f62696e74797c7f828588898a8b8c8d8e8d8c8c8a888684827e7b77736e69636059534d4955616c7079797979797979797979797979716c6155493c3023160a000000000000000000000000000b1825313e4b5864717e8b97a4b1becacbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000714212e3a4754616d7a8794aab4bfcad6cdc0b3a69a8d8073675a4d402d22171d293643505c6976838f9ca9b6b2a5988b7f7265584c3f322519141d2834404b54606d7a86837c716d605d554e463f353028201910070000000000000f1c2935424f5c6875828f9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9084776a5d5144372a1e110000091623303c4956636f7c8996a2afbcc9bcafa396897c706356493d30231d2a3744505d6a7783909daab6c3c2b5a89b8f8275685c4f4235291c0f020000020e1b2835414e5b6874818e9ba7b4c1cecbbfb2a5988c7f7265594c3f3226190c0000000000000c18232e39424b51596069707d87929fa7b1a89d9184776b6054483b2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8b99a3aebbc7d3e3e3dbd5d0cdcccdd0d5dbe3d7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000000000000915202c37424b53595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6a7784919daab7c4d0dacdc1b4a79a8e8174675f5f5f5f5f5f5f5f5f5f5f5f5f5f5f56544f473d33271c1004000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060600000406070708060b0f12181c22283038424a525e69727f8b95a0acb8c5d1dee0d4c7bbafa3998a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f40454a5053555d606367676d6f7172737474747373716f6e686865625f5855534d47433c363027221b140b0400000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000000020b151e2730383f444f565e616a6f747b8085888c8f9298969798999a9a9a9998979a93918f8b8884807b75706b625f57505764707d868686868686868686868686867e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5b2bfccccc0b6ac968a7d7063574a3d3024170a00000000000000000000000000000000000714202d3a4753606d7a8698a2aebac7d3cec1b4a79b8e817468544a3f33281c1d293643505c6976838f9ca9b6b2a5988b7f7265584c3f3225191b262f3845515c66727f8c91867e756d6760585146413a322b22190f0400000000000f1c2935424f5c6875828f9ba1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a19d9084776a5d5144372a1e1100000a1723303d4a5663707d8996a3b0bcc9bdb0a3978a7d7064574a3d31241e2b3744515e6a7784919daab7c4c3b6a99c908376695d5043362a1d07000000020f1c2935424f5c6875828f9ba8b5c2ceccbfb3a6998c807366594d4033261a0d00000000000007121d27303940454f56606b727f8c95a0acaca095897c6f6356493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3d9d1cac4c0bfc0c4cad1d9dcd1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000000c1925313d49535d65686b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7784919daab7c4d0dacdc1b4a79a8e81746b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6360594f44382c201407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000003070c11171e262f38424d57606c7884919daab7c3cdd9e3d7cbc0b5ab998c7f7366594c403326190d00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4b51545b6063676d7073777a7c7e7f80818180807f7e7c7a7875726f6a66615f57534e46413b332d261d160d06000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000a141d273039424a505960686d757c81868d9297989c9fa2aaa4a5a6a7a7a6a6a5aca49f9e9b9896918c87827d756e69605c5464707d8a93939393939393939393938a7d7164574a3e3124170b000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc8bbafa49a887b6e6255483b2f221508000000000000000000000000000000000006131f2c3845515d677985929facb8c5d2cfc2b6a99c8f8376665b5044382b1f14293643505c6976838f9ca9b6b2a5988b7f7265584c3f322517222d38414d57606d79849198928b817a6f6a625b524c443d342b21160a00000000000f1c2935424f5c6875828f94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949084776a5d5144372a1e1100000a1724313d4a5764707d8a97a3b0bdcabeb1a4978b7e7164584b3e31251e2b3845515e6b7884919eabb7c4c3b7aa9d9084776a5d51442e23180c00000003101c2936434f5c6976828f9ca9b5c2cfcdc0b3a79a8d8074675a4d4134271a0e010000000000000b151e272e343d444f59606c7883909daab1a89a8e817467574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d1c7bfb8b4b2b4b8bfc7d1ded3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787884919daab7c4d0dacdc1b4a79a8e817878787878787878787878787878787878706b6054483c2f221609000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000060c141d26303b44505b65737f8c99a7b1bcc8d4e0dcd1c1b4a89b8e8175685b4e4235281b0600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c50555d60666c7075797d808386888a8c8d8d8e8d8d8c8b898785827f7c77736e69625f58524d443f382f281f180f060000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000000006111b262f39424b545c606b707a82878e92999ea2a9a8acaeb4b1b2b3b4b4b3b2b2b6afacaba8a8a09e99928f89827b736d665e64707d8a979f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000004101d2935404b556a7783909daab6c3d0d1c4b8ab9e9185796c6053463c30261c293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252427333f49535e69727f8c96a19f938e847c726d615d564f473d32271b0f03000000000f1c2935424f5c6875828787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878784776a5d5144372a1e1100000b1825313e4b5864717e8b97a4b1becabfb2a5988c7f7265594c3f32261f2c3845525f6b7885929eabb8c5c4b8ab9e9185786b544b4034281c1004000003101d2a3643505d697683909ca9b6c3cfcec1b4a79b8e8174685b4e4135281b0e020000000000020a11171d2328323d44505b65727e8b98a2aeaa9e918477695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d9d0bfb5ada7a5a7adb5bfccd6d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000000f1c2935424f5c687581858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858587929facb9c5d2dfd2c5b9ac9f928685858585858585858585858585858585857d7063564a3d3023170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000020b141f27333f4953616e7b8895a0acb8c4d1deddd0c3b6aa9d9083776a5d50442d22170b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569545b60676d72787d81858a8d90939a9799999a9a9a9999979697928f8c88847f7b756f6a615e565049413a312a2118100600000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000000060f17222d38414b545c666d737d858f939a9fa3abadb3b5b8babfbdbebfc0c1c0bfbfc0bbb9b7b5b2acaba39f9c938f8780786d6864707d8a97a3acacacacacacaca4978a7d7164574a3e3124170b00000000000000000000000005111d2935414c566a7784909daab7c3d0c4b7ab9e918478675c5145382c1f13060000000000000000000000000000000000000c18242f424e5b6875818e9ba8b4c1ced2c6b9ada197897d7063584e42382e23293643505c6976838f9ca9b6b2a5988b7f7265584c3f32252a363e44505b656e7b86929fa8a59e9691867f756d6860594f43382c1f1307000000000714212e3a4754616d7a7b7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6e6154473b2e21140800000c1825323f4b5865727e8b98a5b1becbbfb3a6998c807366594d4033261f2b3844505b667985929facb8c5c5b8ac9f928579665c5145382c1f1306000004111d2a3744505d6a7783909daab6c3d0cec2b5a89b8f8275685c4f4235291c0f0200000000020c141c23282b3939333f4953606d7a86929facaca096887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7ddd2c7bdada39c999ca3adbac4cedad1c5b9ac9f92867a6d6154473a3025190d010000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929299a3afbbc7d4e0d3c7baaea39892929292929292929292929292929292928a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000020b17222d3847535f697783909daab6c3d0ddded1c4b8ab9e9185786b5e4a3f33281c0f03000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960666c71797e84898e92989a9d9fa4aca5a6a7a7a7a6a6a4a9a19e9b9895918c87817c756e68605b534c433c332a22181006000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000000030e182127333f49535c666d78808791979fa4acafb5b9bec2c5c6cad0cbcccdcdcdccd2ccc8c6c4c2bdb9b5afaca69e99928c827a6e69707d8a97a3b0b9b9b9b9b9b0a4978a7d7164574a3e3124170b0000000000000000000000000713202d3946525e687885929fabb8c5cfc3b6a99c90837669554b4034281c1004000000000000000000000000000000000000071925323f4c5865727f8b98a8b2bdc8d4c9beb3a99b8e81756a5f544a3f342e263643505c6976838f9ca9b6b2a5988b7f7265584c3f3230363f48505a606c77828f98a2aeafa8a099928b827a6f6b6054483b2f221509000000000713202d3946525e686d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d20140700000c1926323f4c5965727f8c98a5b2bfcbc0b3a79a8d8074675a4d413427202d394653606c798698a2aebac7c6baaea29886796d6053463a2d201307000004111e2b3744515e6a7784919daab7c4d0cfc3b6a99c908376695d5043362a1d0600000000000a141e262e34384646464645515d6774818e9ba7b2a8978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcd7ccc0b5ab9c918c919ca8b2bdc9d5d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9c9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa3abb5c0cbd7e3d7cbbfb4aaa39f9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000006111b2b37424d576774818d9aa7b4c0cddadfd2c5b8ac9f928579665b5044382b1f1206000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696a6f787e858b91969b9fa2aaaaacafb6b2b3b4b4b3b3b2b1b3adaba8a8a09d99928e87817b726c655d564e453c342a22180f050000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000915202a333c44505b656d78828c9399a1a9afb6bbc0c7cacfd2d3d6d4d2d0cccac9c8c7c7c8c9cbcec9c7c0bbb9b0aba39f948f847b6e707d8a97a3b0bdc6c6c6bdb0a4978a7d7164574a3e3124170b0000000000000000000000000714212e3a4754616d7a8798a2aebac6cec1b4a79b8e8174685b4e412e23180c000000000000000000000000000000000000000815222f3b4855626e7b8896a0acb8c6d1cfc4b9ac9f92877c6f665c50443f38303643505c6976838f9ca9b6b2a5988b7f7265584c3f343a4146515a616c73808c949eaab4bab2aba39f948f847d6f6356493c302316090000000005111d2935414c565e6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161615e564c41362a1e110500000d1a2633404d596673808c99a6b3bfccc1b4a79b8e8174685b4e413528202d3a4753606d7a8693aab4bfcacabfb4aa94877a6e6154473b2e211408000005121e2b3845515e6b7884919eabb7c4d1d0c3b7aa9d9084776a5d51442e23170b0000000006111c2630383f4453535353534c5565717e8b98a4b1a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e0d4c7bbafa4998c7f8c96a1acb9c5d2d7cbc0b5ab9c8f8276685e5246392d2013080000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9abababababababababababababababababababababababababababababababababababababababababababababababacafb5bdc7d1dce7dcd1c6bcb4aeacababababababababababababababa3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000e1a2631404c5966737f8c99a6b2bfccd9dfd3c6baaea29886796c605346392d201306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c727c838b92979ea0a8acaeb4b7b9bbc0bfc0c0c1c0c0bfbebeb9b8b5b1acaba39f9a938e857f776d685f574e463c342a21170c0300000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000020b1a26313c46515b606c77818e949fa4abb2bbc0c7cbd1d6dad5d2ccc7c6c3c0bdbcbbbababbbcbec1c3c6c7c7c1bdb5aea69f9691847b707d8a97a3b0bdcad2cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000916222f3c4955626f7c8895aab4becaccbfb2a6998c7f7366594c4033261907000000000000000000000000000000000000000814212e3a47535f697784919eabb4bfcbd4c7bbafa3999083786d605b504a423b3543505c6976838f9ca9b6b2a5988b7f7265584c3f3f444c525b626c717e88939fa6b0bcc4bdb4aea69e968e8175685b4e4235281b0f02000000010d1925303a444c52545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454524c443b3025190d0100010d1a2734404d5a6773808d9aa6b3c0cdc2b5a89c8f8275695c4f423629212e3a4754616d7a8794a0adbad0d0bbaea195887b6e6255483b2f221508000005121f2c3845525f6b7885929eabb8c5d1d1c4b7ab9e9184786b544a3f34281c10030000000b17232e38424a505f60606060606063707d8996a3b0a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7dfd2c6b9ac9f93867a84919eabb7c4d1dcd1c5b9ac9f92867a6d6154473a3025190d0100000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9bbc0c7cfd9e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000091825313e4b5864717e8b97a4b1becad7e0d4c7bbafa399867a6d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275777f8790959ea1a9acb2b8babfc3c6c8ccd2cacbcdcdcccccfc9c6c5c2bdb8b5afaca49f97928b827a6e6a5f584e463c33291e150b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000000a141d2b37434e58626d73808d939ea6afb5bdc4ccd2d7dcd7cfc9c7c0bbb9b6b3b0afaeadaeaeafb1b4b7b9bbc0c7c6bfbbb0a8a19691847a7d8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000b1724313e4a5764717d8a97a4b0bdd0ccc0b6ac978a7e7164574b3e3124180b0000000000000000000000000000000000000006121e2b37424d5766727f8c99a3aebac4cfcbc0b5ab9f958d80736d605c544d454143505c6976838f9ca9b6b2a5988b7f7265584c454a50565e616d727e87929aa4afb8c1cec6bfb9ac9f93877c6f6255483c2f221509000000000008131e28323a414647474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746413b32291e14080000010e1b2734414e5a6774818d9aa7b4c0cdc3b6a99c908376695d5043362a222e3b4855616e7b8894a1aebbc7c8bcafa295897c6f6256493c2f231609000006121f2b3844505c667986929facb9c5d2d2c5b8ab9f928578665c5044382b1f1206000003101c28343f4a545c6c6c6c6c6c6c6c6c6e7b8895a1aea99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcddd0c3b6aa9d908377818e9ba7b4c1cedad3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c7cbd1d9e1ebf4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dfd2c5b9ac9f928679675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8279818c9299a0a7adb3b9bdc3c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d1cec8c7c0bbb6afa9a29f948f847c6f6a5f584e453b30271d1207000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000006111c262f3847535f6a727f8b929da5afbbc0c7d0d8ddd8d1cbc5beb9b5afacaaa6a3a2a1a0a1a2a3a4a7aaacafb5b8bcc3c2bab2a8a0968e817e8a97a3b0bdcad6cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa49a887c6f6255493c2f22160900000000000000000000000000000000000000020e1a26313c4754616e7a86929fa9b2bdc9d1c7bdb1a79d928c7f736d665e57524c47505c6976838f9ca9b6b2a5988b7f7265584b51545c60686d757f889299a3acb6c0cad0c5bbb0a69c8f82756a5f53473a2e2115080000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d020000020e1b2835414e5b6874818e9ba7b4c1cec3b7aa9d9084776a5d51442e23222f3c4855626f7b8895a2aebbc8c9bdb0a3968a7d7063574a3d3024170a00000713202d3a4653606d798698a3aebac7d3d3c6baaea29886796d6053463a2d201307000006121f2b3844505c66767979797979797979798693a0ada99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3d7cbc0b5ab9a8d80737e8b97a8b2bdc9d5d7cbc0b5ab9c8f8276685e5246392d20130800000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfd1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d2d4d7dce3ebf3fcf3eae2dcd7d3d2d1d1d1d1d1d1d1d1d1d1d1c9bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ded2c5b8ab9f9285786c554b4034291c1004000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f82828f939fa3abb1b9bec5c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced4d1cbc7c0bbb3ada69e9691857c6f6a5f574d43392e23180d040000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000000b17222d38424f59626e7c87929fa4aeb7c1ccd2d9ded6cfc6bfbab3adaba49f9d9997969594949596989a9d9fa4abacb1b8bcc3bab2a89e938d818d9aa7b4c0cdd7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc6b9ac9f93867a6d6053473a2d20140700000000000000000000000000000000000000000915202d3946525e6873808d96a1adb9c2cdcfc3b9aea49c918c80786e69605d56534e5c6976838f9ca9b6b2a5988b7f726558555c60666d717a818b939aa3abb5bec7d2cabeb3a99e94897c6f62584e43372b1f1206000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000020f1c2935424f5c6875828f9ba8b5c2cec4b7ab9e9184786b544a3f3428232f3c4956626f7c8995a2afbcc8cabdb1a4978a7e7164574b3e3124180b00000714212d3a4754606d7a8793aab4bfcbd7d6cabeb3aa94877a6d6154473a2e21140700000713202d3a4653606d788686868686868686868b95a2b7aa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e0d3c7bbafa3998a7d707b8796a1acb9c5d2dcd1c5b9ac9f92867a6d6154473a3025190d01000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcdededededad5d2d1c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8d1d2d5dae0e8f0f7eee5ddd7d2cfcec8c8c8c8c8c8c8c8c8c8c8c8bdb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ded1c4b7ab9e9184786b5e51452f23180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3ddd0c4b7ab9f948f8f949ea5aeb5bdc3bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d2ccc5bebab0a8a09792857c6f695e554b4034281f160c0100000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1c28333f4a54606b75828f99a3afb6c0c9d7ddddd5ccc4bcb4aea9a19e9993908d8a8988878788898b8e9093999da0a7acb1babfbaafa59f9386939facb9c6d2d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b556976838f9ca9b6c2cfc4b7ab9e918478675d5145392c1f1306000000000000000000000000000000000000000005111e2a36414c56606d7984919ea6b0bbc5cecbc0b6ada39c928d837b736d68625f585c6976838f9ca9b6b2a5988b7f72656064676d71787e858f939fa4acb5bdc6d0cbc3baada2978f82756a6054463c31261b0f0300000000000000040c13191d20212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201e19140d050000000003101c2936434f5c6976828f9ca9b5c2cfc5b8ac9f928579665c5044382c23303d495663707c8996a3afbcc9cbbeb2a5988b7f7265584c3f3225190c00000814212e3b4754616e7a8794a1adbad1dcdbd0bbaea194887b6e6155483b2e22150800000713202d3a4653606d79869393939393939393959da7b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dcdfd2c5b9ac9f92867a6d7884919eabb7c4d1ded3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e9dfd7cfc9c6c5bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc4c5c9ced6dee8efe5dbd3ccc6c3c2bbbbbbbbbbbbbbbbbbbbbbbbbbb0a3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7dccfc2b6a99c8f8376695c504336291d0700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd3c7bbb0a69f9c9c9fa6afbbbfbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d8d0cac1bab2a9a19792857b6e675c51453e31281d120700000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b66707d89949eabb5c0c8d2dbdfd5cbc3bab2aaa39f97928c8783807d7c7b7a7b7b7c7e8183868c91959da0a7aeb4bcbbafa49a939aa4afbbc8d4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000613202c3945515d677885919eabb8c4cfc2b5a99c8f827669554b4035291d10040000000000000000000000000000000000000000010d1925303b45515d67717e8a949fa9b3bcc5cfc8bfb5ada49c949085807a736f6a66646976838f9ca9b6b2a5988b7f72676d7074797e848b92979ea5afb6bec6cfccc3b9afa59f92857b6e61584e43342a20150a00000000000000000002080d111314141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414110d0802000000000003101d2a3643505d697683909ca9b6c3cfc6baaea29886796d6053463a2d24303d4a5763707d8a96a3b0bdc9ccbfb2a6998c7f7366594c403326190d00000815222e3b4855616e7b8894a1aebbc7d4d5c8bbafa295887c6f6255493c2f22160900000713202d3a4653606d7986939f9f9f9f9f9fa0a2a7afb7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dccfc3b6a99c9083766774818e9ba7b4c1cfdad7cbc0b5ab9c8f8276685e5246392d201308000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce8e1d7cdc5beb9b8afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeb7b9bdc4ccd6e0e8ddd3c9c1bbb6b5aeaeaeaeaeaeaeaeaeaeaeaeaeaea3968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000007121e2a36424d576773808d9aa6b3c0cdd9dacdc1b4a79a8e8174675b4e4134281b0e01000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d8ccc2b8b0aba9a9abb0b8bfbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6ccc3bbb3a9a1979083796d60594f43392f24180d02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7883909da6b0bdc7d1dae1d6ccc3b9b1a8a098928c857f7a7773706f6e6d6e6f707174777b7f848a90959fa2aab2bab6aca49fa4acb6c0ccd8d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000714212d3a4754606d7a8797a1adb9c6cdc0b3a69a8d8073675a4d402f24180c0000000000000000000000000000000000000000000008141e2935404b55616c76828f97a1aab4bdc6d0c8bfb6aea69f98928c85807b7773706e76838f9ca9b6b2a5988b7f7477797d81858b91969ea1a9afbbc0c7d0ccc3bab1a79e938a7e71695e52463d3222180e03000000000000000000070e1317191a1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b1a18140f09010000000004111e2a3744515d6a7784909daab7c3d0cabfb4aa94877a6d6154473a2e24313e4a5764717d8a97a4b0bdcacdc0b3a69a8d8073675a4d4034271a0d01000915222f3c4855626f7b8895a2aebbc8d5d6c9bcafa396897c706356493d3023160a00000713202d3a4653606d798693a0acacacacacadaeb2b9b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e2d6cabfb4aa998c807366717e8b97a8b2bdc9d5dcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdce6dacfc5bbb3adaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2abacb2bac4cedae3d7ccc1b7afaaa8a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2968a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000040d19222d3a46535f6976838f9ca9b6c2cfdcd4c8bcb1a7988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfded4cac2bbb7b6b5b7bbbcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d5cdc5bbb3a99f958e81746b61554b4035291f1408000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000003101c28343f4a5464707d8a95a0acb8c1cfd9e3d9cfc4bab1a7a09691867f79726d6866646362616162636567696e72777d838b9298a0a8b0b8b6afacafb6bec7d2ddd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000916222f3c4955626f7c8895a9b2bec9cbbeb1a4988b7e7165584b3e3225180700000000000000000000000000000000000000000000020d18242f3a43505a616e7b859298a2abb4bdc5cdc8c0b9b0aaa29f97928c8884807d7b78828f9ca9b6b5a89b8f818183868a8e92979ea0a8adb3bbc1ccd2cbc3bab2a8a0958f81756c61574d42342b2110060000000000000000010a12191f23262629292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929282724201a130b0200000005111e2b3844515e6b7784919eaab7c4d1d0bbaea194887b6e6155483b2e25323e4b5865717e8b98a4b1becbcec1b4a79b8e8174685b4e4135281b0e02000916232f3c4956626f7c8995a2afbcc8d5d6cabdb0a3978a7d7064574a3d3124170a00000713202d3a4653606d798693a0acb9b9b9b9b9babec4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce0d3c6baaea298897c6f636e7b8896a1adb9c5d2dfd3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2d0d9e3d5c9beb3a9a19e96959595959595959595959595959595959595959595959595959595959595959595959ea1a8b2bdc9d5dfd2c6bbafa59e9b959595959595959595959595959595958a7d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000060d161f2834404a54616e7b87939facb9c6d2dfd1c4b8aca095877b6e6154473b2e21140800000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe6dcd4ccc7c4c2c2c1b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d7cdc5bbb1a79d938a7d70675d51453b3025190e020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006121f2b3844505c6674818e9ba7b1bccad3e1dcd1c7bdb2a8a09590847c726d67615d565756555454555658575e61666b70787e8691969fa6b0b9bbb9bbc0c7d0d9e4d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabeb3a996897c6f6356493c30231609000000000000000000000000000000000000000000000007131d28313e47535f696f7c869299a3abb3bbc2cccbc2bcb3aea9a29f9996918d8a888686929facb8b6aa9e938f8e9092999b9fa2a9acb2b9bec5cdd0cac0b9b1a8a09690837a6d615a50453b3022190f0000000000000000000a131c242a2f3233363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363533302b251d140b01000005121f2b3845525e6b7885919eabb8c4d1c8bbafa295887c6f6255493c2f25323f4c5865727f8b98a5b2becbcec2b5a89b8f8275685c4f4235291c0f02000a1623303d495663707c8996a3afbcc9d6d7cbbeb1a4988b7e7165584b3e3225180b00000713202d3a4653606d798693a0acb9c6c6c6c6c7d1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b8ac9f9285796d60697884919eabb7c4d1ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2bdc7d2ddd2c6b9ada1979289888888888888888888888888888888888888888888888888888888888888888888889196a1acb9c5d2dccfc3b6aa9e938f88888888888888888888888888888888887d7063574a3d3024170a000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000003090f181f28313a44515c6673808d9aa4afbbc8d4ddd0c3b7aa9d908377695e52463a2d20140700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeee6ded8d3d0c9c1b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d6cdc3b9afa59e9184796d60564d41362a1e13080000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cedee3d7cbc0b5aba19690837a6f6a605d55524c4a4948474848494b4d52545961666d717c848f949fa7b1bac4c8ccd2d9e2ebd7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000d192633404c5966737f8c99a6b2bfccc6baada297877a6d6154473a2e2114070000000000000000000000000000000000000000000000010c161f2b37424d57606a707d879299a2a9b1bbc0c7cec5bebab3adaba8a09d999798929298a3aebabbafa59e9b9a9d9fa3ababadb3b9bdc4c9cfcbc5bebaaea7a09691847a6d685d52483e33291f1007000000000000000007121c252e353b3f404343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434341403c362f261d1309000005121f2b3744505b657985929facb8c5d2c9bcb0a396897d7063564a3d3026333f4c5966727f8c99a5b2bfcccfc3b6a99c908376695d5043362a1d0700000a1724303d4a5763707d8a96a3b0bdc9d6d8cbbfb2a5988c7f7265594c3f3226190c00000713202d3a4653606d798693a0acb9c6d2d2d3ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3dbcfc2b5a89c8f8275665c6874818e9ba7b4c1ced9dcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e96a1abb5c0ccd7d1c5b8ab9e92857d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c84919eabb7c4d1dbcec2b5a89b8f817c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000002050a0f151a2129313a434e58606d7985919eacb6c0ccd8d5c9bdb2a8998d807366574d42362a1e110500000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfecf1e7ddd3cac1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd4cbc0b9aca1968d8073685e52463a3025190d0100000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a1623303d495663707c8997a2adb9c6d2dfe0d4c7bbafa39991847b6e685f58514b46413d3c3b3a3b3c3d3e4246474f545c606a6f7a828f95a0a8b2bec7d2dde4ebe3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec5b8ab9f928578685e5246392d201307000000000000000000000000000000000000000000000000040d1a26313c454e58606b717e8792979fa7afb6bec3c8cac5bebab8b2acaaa6aaa29f9fa3aab4bfc1b8afaaa8a7aaacaeb5b8babec5c9ceccc6bfbbb4aea49d9590847b6e685e564c41362c20170d0000000000000000020e19242e3740474b4d505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e4c4841392f251a0f03000613202d394653606c7986939facb9c6d2cabdb0a4978a7d7164574a3e312633404d596673808c99a6b3bfccd0c3b7aa9d9084776a5d51442e23180c00000b1824313e4b5764717e8a97a4b1bdcad7d9ccbfb3a6998c807366594d4033261a0d00000713202d3a4653606d798693a0acb9c6d3dfe0ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a8988b7f72655464717e8b97a8b2bdc8d4e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000714212e3a4754616d7a849199a4afbbc2ced2c6b9ada1978e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7784919daab7c4d0dacdc1b4a79a8e81746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c201306000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407060606060606060606060000040607080809090e12151a20262b333b434c56606a727f8b97a1adbec7d2ddd2c5b9aca096897c6f6356493c30251a0e0200000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dff3e9dfd5cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6ddd5c9bdb2a89f92867b6e61564c41362a1d110500000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010e1a2734414d5a6774808d9aa9b3becad6e2d6cabfb4aa9f92877c6f695e564e4540393530302f2e2e2f3030363a3e424a50585f686d79839096a0acb6c0ccd8e1ebe3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111d2935414c566a7683909da9b6c3d0c3b6a99d9083766a564c41362a1d11050000000000000000000000000000000000000000000000000009151f2a333d464f59616c717e8590959fa4acb1b8bcc3c8cac6c3bdb8b7b3b4aeacacaeb4bcc6cac1bbb6b5b4b6b9bbbfc5c6cacec9c7c0bbb5aeaaa29f928d837b6e695e564c443a30241b0e05000000000000000007131f2a35404a5257595c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b59534b41362b201408000714202d3a4753606d7a869aa4afbbc8d4cbbeb1a4988b7e7165584b3e322734404d5a6773808d9aa6b3c0cdd1c4b7ab9e9184786b544a4034281c1004000b1825323e4b5865717e8b98a4b1becbd7dacdc0b3a79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3ded2c5b9aca196887b6e6255616e7b8796a0acb8c5d2ded7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000713202d3946525e68707d87939fa7b1bcc5d0c9beb3a99d938a7e716962626262626262626262626262626262626262626262626262626262626a7784919daab7c4d0dacdc1b4a79a8e817467626262626262626262626262626262605d554c4135291d1104000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21141313131313131313131313130c101314141516171a1e21262b31373d454d555d686f7c87929fa9b3bed0d9d4c8bcb1a79e9184786d6053463a2d2013090000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dacec4baaea3988d8073685e5246392d20150a00000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfdbe0d3c7baaea2988e81746a5f574d443c352f2924232221212223252a2d30383f444e565d676e7a84919aa4afbbc4cfdae6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413025190d0100000000000000000000000000000000000000000000000000030e18212b343d47505a616c707b838d939aa0a7acb1b8bcc3c4c8c8c5c4c0bfbab8b8babfc6ced3ccc6c3c2c1c3c5c7cbcec9c5c4bdb9b6afaba39f98928a80796e695e574d443a32281e12090000000000000000000a17232f3b47525c63666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968645d53483c3024180b000714212e3a4754616d7a8794a0b6c0ccd8cbbfb2a5988c7f7265594c3f322734414e5a6774818d9aa7b4c0cdd2c5b8ac9f928579665c5144382c1f1206000c1925323f4c5865727f8b98a5b2becbd8dbcec1b4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e918478695f535e697784919eaab7c4cedadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000005111d2a36414c56606b73808c959fa9b3becacfc5bbafa59f92857b6e665c55555555555555555555555555555555555555555555555555555e6a7784919daab7c4d0dacdc1b4a79a8e8174675b555555555555555555555555555554514c433a2f24190d01000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2120202020202020202020202020181c1f2021222324262b2d31373c43474f575f676d7a849199a3aebbc4cfd7cdc5b8aca0958a7e71665c5044382b1f12060000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6154473d32271b0f03000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000714202d3a46525e697985929facb8c5d2dfdfd2c5b8ac9f92867b6e61584e453b3229241d191615141515161a1e20262e343c434c555e686f7c88939fa9b3bec9d5e3e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a8797a2adbac6ccbfb3a6998c807366594d4033261a08000000000000000000000000000000000000000000000000000000060f19222b353e48505a61696e78808890959da0a7acb1b6b8bcc2c5c6c9cac7c5c5c7cbd0d8e0d7d2cfced0cac6c5c3c0bdb9b7b2acaca49f99928d867e746d675e574d453b322920160c000000000000000000000c1926323f4b57636e7376767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676746f64594c4033271a0e000815222e3b4855616e7b8894a1aebbd2ddccbfb3a6998c807366594d40332835414e5b6874818e9ba7b4c1ced3c6baaea29886796d6053463a2d201307000c1926333f4c5966727f8c99a5b2bfccd8dbcfc2b5a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb9c6d3dfeaddd1c4b7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d807367574d576773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000010d1925303a444f59606d78839097a2adbac0cccdc0baada2979083786d60594f4848484848484848484848484848484848484848484848515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e484848484848484848484848484745413a31281e130800000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d23292c2d2e2f2f3131373a3c43474e535960696e79828f96a0abb4bfcdd6cfc5bbb1a79d9083786c60544a3f34281c10030000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6dcd0c6baaea2988c7f7266584e43372b1f1306000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6d3dfd7cbbfb4aa9a8e8174695e52463c33292018120d0808070809090e11141c2328313a434c56606b74808d97a1adb9c6d1dce7d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000916232f3c4956626f7c8995a9b3becacabeb1a4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000007101a232c363e4850575e666d737d838a90959da0a7aaacb1b5b8b9bebdbfc1c5c6cad0d7d3ccc6c3c2bdbebab8b6b4b2acaba8a19e9a938e86807a716c605c554d453b332920170e04000000000000000000000d1a2633404d59667380838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838174685b4e4135281b0e000915222f3c4855626f7b8895a2aebbc8d5cdc0b4a79a8d8174675a4e41342935424f5c6875828f9ba8b5c2ced6cabfb4aa94877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfccd9dccfc3b6a99c908376695d5043362a1d0600000713202d3a4653606d798693a0acb9c6d3dfe1ddd1c4b7aa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f62564956626f7c8996a1acb9c5d2ded7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbac3cfcabeb3a99f958c80736b60564c413c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e413c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c0100000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a3939393939393939393939393939392f34383a3b3b3c3e404246484e53585f626b707b838f949fa8b2bdc6d1d1c7bdb3a99f958a7d70665b5042382e23170b000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd6cabfb4aa9d9184776a6054473b2e221509000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000915222f3c4855626f7b8895aab4bfcad6e0d3c7baaea3988a7d7064574d42342a20170d070100000000000002050a11171f28313b444f59606d7a85919eabb5bfcbd7e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4b1bdcfc9bcb0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000008111a242c363e454d545c606b70787d838a9095999da0a7a9abadb3b1b3b4b8babec5cdcac1bbb6b5b0b4aeabaaa7a8a19e9a96918c87817b746e68615a514b433b332921170e0500000000000000000000000f1c2935424f5c6875818f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f83776a5d5144372a1e11000916232f3c4956626f7c8995a2afbcc8d5cec1b4a89b8e8175685b4e42352936434f5c6976828f9ca9b5c2cfdbd0bbaea195887b6e6255483b2f221508000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a5d51442e23170c00000713202d3a4653606d798693a0acb9c6d3d5d5d5d1c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b7ab9e9184786c60534654606a7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da8b1bcc6d0c5bcb1a79f93877d70685e52463f342f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e41342f2f2f2f2f2f2f2f2f2f2f2d2c29241e160d040000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544746464646464646464646464646464646464045474748494a4d4d5355585f626a6e757d8591959fa6b0bac4cfd2cbc0b5aba1979083766c61544a3f30261c1106000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6dbd0c6b8aca095897c6f6256493c31251a0e020000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000091623303c4956636f7c8996a2afbcd0dbdfd2c5b9ac9f92867a6d6053473b3020190e050000000000000000000000060d161f29323d45515d6773808c99a3aebbc7d3e0d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000c1926333f4c5966727f8c99a5b2bfccc8bbafa295887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000008121a232c333b424a515961656c70787d83888c9095989c9ea1a9a4a6a8abadb3bbc5c1b8afaaa8a4aaa29f9d9a9796918e8984807b756e69615e5650454039302921170f050000000000000000000000000f1c2935424f5c6875828f9b9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9084776a5d5144372a1e11000a1723303d4a5663707d8996a3b0bcc9d6cfc2b5a89c8f8275695c4f42362a3643505d697683909ca9b6c3cfd5c8bcafa295897c6f6256493c2f231609000e1b2734414e5a6774818d9aa7b4c0cdd5d5d1c4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d798693a0acb9c6c8c8c8c8c8c4b7aa9e9184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a89a8d8074655b50444e586773808d9aa8b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000050e17232e38424d57616c74818e95a0aab4bfcbcec2bbafa49991847a6d615b51463c312722222222222222222222222222222b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134282222222222222222222221201d19130c04000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61545353535353535353535353535353535353534b5153545556575a575f61666a6f747b82899297a0a7b0b8c2ccd0c7c0bbafa39992857b6e615a5042382d1e140a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd4c8bcb1a79a8d807467574d42362a1e12050000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dccfc3b6a99c908376675d5145392c20130700000000000000000000000000040d17202935414c55616e7b86929facb9c5d2dfd7cabdb0a4978a7d7164574a3e3124170b000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000008111a2129303940444f535b60656c70777c7f83878b8f92979597999b9fa2a9b3bebbafa59e9b97959892908d8a8784817d78736e69615f57524c443e342e271e170f05000000000000000000000000000f1c2935424f5c6875828f9ba8a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a99d9084776a5d5144372a1e11000a1724313d4a5764707d8a97a3b0bdc9c9c9c3b6a99c908376695d5043362a3744505d6a7783909daab6c3c9c9c9bdb0a3968a7d7063574a3d3024170a000f1b2835424e5b6875818e9ba8b4c1c8c8c8c8c5b8ac9f928579665c5044382c1f1206000713202d3a4653606d798693a0acb9bbbbbbbbbbbbbbb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f4956626f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f241815151515151515151515151e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b1515151515151515151413110d080100000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6160606060606060606060606060606060606060605c60616262646669696e73777b81878f939ea1a9b1b9c2cacfc6beb6afa49f92877d70695e53483e2f261c0c0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8d9cec3b7aa9d918477695e53463a2d2114070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dbcec1b4a89b8e817568554b4035291d10040000000000000000000000000000050e19242f3a46525e6875828e9ba8b5c1cedbd7cabdb0a4978a7d7164574a3e3124170b000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec7baada194877a6e6154473b2e2114080100020202020000000000000000000000000000000000000000000000000000080f171e272e343d414950535b60646a6f73777b7f828587898a8c8e9297a2adbab6aa9e938f8a89878583817e7b7874706c65615f57534d46413b3228231d150c0500000000000000000000000000000f1c2935424f5c6875828f9ba8b5b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aa9d9084776a5d5144372a1e11000b1824313e4b5764717e8a97a4b1bdbdbdbdbdb7aa9d9184776a5e51442e233744515e6a7784919daab7bdbdbdbdbdb1a4978a7e7164574b3e3124180b000f1c2935424f5c6875828f9ba8b5bbbbbbbbbbbbbaaea29886796d6053463a2d201307000713202d3a4653606d798693a0acaeaeaeaeaeaeaeaeaeaa9e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346394653606c7884919eabb7c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c0909090909090909111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e090909090909090907060401000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e6f717375787b7f84888e92999ea5adb3bbc3cccac3bcb4aca49f928c7f726b60574d42362c1d140a0000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4ded1c5b8aca096877b6e6154483b2e2115070000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6dacdc0b3a79a8d8074675a4d412f24180d0100000000000000000000000000000008131e2a36414d566673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004101d2a3743505d6a7683909da9b6c3d0c8bbaea295887b6f6255483c2f2214110d070f0f0f0f0b0a08040000000000000000000000000000000000000000000000050c151c23282f383f44495053585f6266696e7276787a7c7e808185929fabb8b5a89b8f817e7c7a787774716e696763605b53534d46423b3630292018120b030000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2b7aa9d9084776a5d5144372a1e11000c1825323f4b5865727e8b98a5b0b0b0b0b0b0b0ab9e9185786b554b4034283845515e6b7884919eabb0b0b0b0b0b0b0a5988b7e7265584b3f3225180c00101c2936434f5c6976828f9ca9aeaeaeaeaeaeaeaeb4aa94877a6d6154473a2e211407000713202d3a4653606d798693a0a2a2a2a2a2a2a2a2a2a2a29e9184776b5e5144382b1e1100000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9bdb2a99a8d8074655b50443744505b6574808d9aa9b2bdc9d5e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4bab0a69f92867c6f675d51453e33291e140a00000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a79797979797979797979797979797979797979797979797a7a7b7c7d808285888c90959a9fa3abafb9bec5cbc5bebab1aaa39a938c80746d63594f453b31241a0b020000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd4c8bdb2a8988b7e7165584b3e2e23180c0000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190700000000000000000000000000000000010e192530404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000005111e2b3844515e6b7784919eaab7c4d1c9bcafa396897c706356493d2f26201d181c1c1c1c1c171614100b0500000000000000000000000000000000000000000000030b12181d262d33383f44464e5355575e616569686d6f717376838f9ca9b6b2a5988b7f726f6d686a6764615e575653504947423c36312a251e170e0700000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc3b7aa9d9084776a5d5144372a1e11000c1926323f4c5965727f8c98a3a3a3a3a3a3a3a3a39f928579675c5145382c3945525f6c7885929fa3a3a3a3a3a3a3a3a3998c7f7366594c403326190d00101d2a3643505d697683909ca2a2a2a2a2a2a2a2a2a2a194887b6e6155483b2e221508000713202d3a4653606d788693959595959595959595959595959184776b5e5144382b1e110000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3aebbc7d3e3dfd2c5b9ada196897c6f6353493f333f4953636f7c8996a1adb9c5d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989183796d605a50453b30261c1106000000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d4c8bbafa2978c878686868686868686868686868686868686868686868686868788898a8d8f9197999da0a7acafb5bdc1c8c6bfbbb4aea8a09892887f746e645b51473d33291f1108000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8ccbfb2a5998c7f7266594c3f3326190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcd9cec1b4a89b8e817568554b4034281c100400000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000081a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000004111e2a3744515d6a7784909daab7c3d0ccbfb2a6998c7f7366584e4238302c292428282828282423211c1710080000000000000000000000000000000000000000000000070b141b22272d33373c4347494d535458565d6062646976838f9ca9b6b2a5988b7f7265615e565a5754524d4946443f3837312a261f19140d050000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b7aa9d9084776a5d5144372a1e11000d192633404c5966737f8c96969696969696969696969886796d6053463a2d3844505c6679869296969696969696969696968d8073675a4d4034271a0d00111d2a3744505d6a77839095959595959595959595959595887c6f6255493c2f221609000713202d3a4653606d788688888888888888888888888888888884776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5bfcbd7e3ded1c4b8ab9e9184786c605346392d394653606c7884919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958e81746c61574d42382e23170e040000000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbfb3a89e979493939393939393939393939393939393939393939393939394959597999c9ea1a9aaacb1b9bbc0c4c1bcb8b5aeaaa29f9591867e726d645c53493f352b21170d00000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd8cbbeb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd0c3b7aa9d908477675c5145382c1f130600000000000000010507070a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c0808080706040100000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfcfc2b6a99c8f83766a5f544a413a39352f353535353531302d28221a12080000000000000000000000000000000000000000000000020a11171b22272b32373b3c4246484c4c5254565c6976838f9ca9b6b2a5988b7f726558524c4e4b4846423d3937332d2b261f1a140d0802000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3aa9d9084776a5d5144372a1e11000d1a2734404d5a6773808a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e00111e2b3744515e6a77848888888888888888888888888888887d7063564a3d3023170a0006121f2b3844505c66767c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb2a99a8d8074655b5044372b3844505b6674808d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e71695e544a3f342820160c0200000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dbd0c4bab0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a2a4a6a8abadb3b7b8bcc0bbb9b7b4b1acaba39f98928c847c716c635b534a41372d23190f0500000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7cabeb1a4978b7e7164584b3e3125180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c5b9ac9f9286796d6053463a2d201307000000000002080d111314141723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322519141414141413110d08010000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000020e1b2835414e5b6874818e9ba7b4c1d1d0c4b7ab9f94887c6f665b524c4745404242424242423e3c39332c241a1005000000000000000000000000000000000000000000000000060b11171b1f262b2e31363a3b3f414547505c6976838f9ca9b6b2a5988b7f7265584c41413e3b3a36302d2b27221b1a150e09030000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69d9084776a5d5144372a1e11000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2d3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f221609000815222f3b4855626e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070003101c28343f4a545f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695f53473a2d21140800000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c6f6353493f3328333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9afa59f92857b6e665c50443d32281e130800000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e1d6ccc2bab3afadacacacacacacacacacacacacacacacacacacacacacacacadadaeafb0b3b5b8b9bec3c7beb6afacaaa8a7a09d99928e867f786f6a615a514941382f251c11080000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d8ccc0b6ac978a7d7064574a3d3124170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd3c7bbafa399887c6f6255493c2f22160900000000040c13191d2021212123303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225212121212121201d19130c0400000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000d1a2733404d5a6673808d99abb5c0cbd3c7bbb0a69c8f82786c615e5653514b4f4f4f4f4f4f4a49443e362c22170b0000000000000000000000000000000000000000000000000000060b0f151b1f21252a2d2e2f353943505c6976838f9ca9afafa5988b7f7265584c3f30312e2d2a25201f1b17110e090300000000000000000000000000000000000000000000000f1c2935424f5c6875828f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999084776a5d5144372a1e11000815212e3a47535f6a6f70707070707070707070707070706d675d5145382c3844505c666d70707070707070707070707070706f6a5f54473b2e221508000814212e3a47535f696e6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d675d5145392c20130600000b17232e38424e585f62626262626262626262626262626262615f574d42372b1e12060000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9184786c605346392d222d394653606c7985919eabb8c4cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0ccccc0baada2979082786d60594f443a3024191006000004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e8ded4ccc4bfbbbab9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9babbbcbdc0c2c4c6c9c7bdb5aca49f9d9b9895908b86817b726d66605850483f372f261d130a000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7e0d4c8bbafa49a887b6f6255483c2f221509000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd7cbc0b5ab978b7e7164584b3e3125180b000000040e161e25292d2e2e2e2e303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f322e2e2e2e2e2e2d2c29241e160d04000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000b1825323e4b5865717e8b99a3afbbc7d4cdc2b7aa9f948d80756d6863605d555c5b5b5b5b5b575550483e33281c1004000000000000000000000000000000000000000000000000000000030a0f13151a1e212124293643505c6976838f9ca3a3a3a3988b7f7265584c3f322521201e1a13120f0b0600000000000000000000000000000000000000000000000000000f1c2935424f5c6875818d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d83776a5d5144372a1e110006121f2b37434e585f626363636363636363636363636363605d554b403529343f4a545c606363636363636363636363636363625f584e43372b1f13060006121e2b37424d575f62626262626262626262626262626262605d554b4135291d1104000006111c26303c464e535555555555555555555555555555555555534d453c31261a0e020000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8074665b5044382b1f2b3844505b6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cfcabeb3a99f948c80736b60564c41352922180d030004111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e6ded6d0cbc8c7c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7c8c8cacccfd1d2cbc0b5aba39a93918e8c88837f7a746e69605c544e463e362e251d140b01000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcdfd2c6b9ac9f9386796d6053473a2d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddadcd1bfb2a5998c7f7266594c3f3326190c0000020c1620283035393a3b3b3b3b3d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3b3b3b3b3b3b3b3a39352f281f160c010000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000714212e3a4754616d7a86929facb9c5cfd3c7bbb0a69d928d817a74706d676969686868686864615a5044392d21140800000000000000000000000000000000000000000000000000000000000306090e12141519293643505c6976838f9696969696968b7f7265584c3f32251914120e090503000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080807f7265584c3f3225190c00030f1a26313c464e5355575757575757575757575757575753514b43392f242e38424a5053575757575757575757575757575755544e463c32261b0f0300020e1a26313c454d535555555555555555555555555555555554514b433a2f24180d010000000a141e2a343c4347484848484848484848484848484848484847423c332a1f150900000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c28333f4a5463707c8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6d0c5bbb0a69f93877d70685d52463f342a1f150b0104111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdcac8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9cacbcdcfd2d3d6d4c7bbafa399928884817f7c77726d68615e56514a423d342c241c130b0200000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3ddd0c3b6aa9d908377675c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b3a79a8d8074675a4d4134271a0e000008131e28323a41464747474747474a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c47474747474747474745413a31281e13080000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000713202d3946525e6876828f9ca9b3bec9d5ccc2b8aea49d938f86817c7a7776757575757575716c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000020507081d293643505c69768289898989898989897f7265584c3f3225190c0502000000000000000000000000000000000000000000000000000000000000000a1724303d4956616c7173737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373726d62564a3e3125180b00000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d2630383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a00000009151f2a333c4247484848484848484848484848484848484745413a31281d130700000000020c18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d2217222d3a4653606d7985929eabb8c5cfdadcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa49991847a6d615b51463c31271d120700111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbdbec0c3c5c6cad0c5b9ac9f92867f7b77736f6a65615e56524d444039302b221a120a010000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff3e9e0d5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1e1d5c9bdb2a8998c7f7366554b4034291c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00010d1925303a444c52545454545454545663707d8996a3b0bcc9d6d8cbbeb2a5988b7f72655854545454545454545454524c433a2f24190d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36414c5664717e8b97a1adb9c1ccd3cac0b6aea59e98928e898684838282828282827e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7d7b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000815212d3945505a61646666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665625b51463a2e2216090000030e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38352f271f151e262e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000030e18212a31373a3b3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a39352f281f160c01000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce1d5c9beb3a99a8d8174665b5044382b1c121f2b3844505c6674818d9aa9b3bec9d5e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccccc0b5aba1968f82756d62584e43392f24180f05111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafb0b1b3b6b8babfc5c7bbafa399928c8783807a746e69605b534c443b332a2019100800000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dff2e9e2d9cec4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4deded2c5b9aca196887c6f6255483c2f23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d100005111d2935414c565e616161616161616163707d8996a3b0bcc9d6d8cbbeb2a5988b7f726561616161616161616161605d564c4135291d110400000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000010d1925303a4754606d7a85929ea5afbac3cbd6c8c0b7afaaa29f9a999391908f8e8e8e8e8a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000815222e3b47545f6a6f70707070707070706e695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000005111d28343e485056585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a585651493f34291e120600000006101820262b2e2f30303030303030303030303030302d2c29241d150d141c23282b2d30303030303030303030303030302f2e2b26201910070000000000060f181f262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d2c29241d160d0400000000000000060e151a1f212222222222222222222222222222222222211e1a150e060000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c101c28343f4a5463707d8997a1adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7f726a5f554b40352921170c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb3aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a3a3a4a7a9acaeb4b8babfb5aba39f9895908c86807b726c655e564d453b332920160c02000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e0d7d0cac6c2b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedce3d7cbbfb4ab9e9184786a5f53473b2e1d120700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e11000713202d3946525e686d6e6e6e6e6e6e6e6e707d8996a3b0bcc9d6d8cbbeb2a5988b7f726e6e6e6e6e6e6e6e6e6e6e6d685d5245392c20130600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000813202c3945515d67717e8a939ea8b1b9c2cad0c9c1bcb4aeacaba49f9d9c9c9b9b9b98887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363615e574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4c4a463f372d23180d0100000000060e151a1f21222424242424242424242424242424201f1d18120b030a11171c1f20242424242424242424242424242422221f1b150e0700000000000000060e151a1e212222222222222222222222222222222221201d18130c04000000000000000000030a0f1215151515151515151515151515151515151514120e090300000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c4b8ab9e9185786c605346392d22170b17232e3a4653606d7985929eabb8c5cfdbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7d0c4baafa59f92867c6f675d51453e33291e140a1e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa1999595959595959595959595959595959595959595959595959697989a9c9fa2aaacaeb4bbb5afaca7a09d98928d867f776d685f574d453b32281e1308000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d7cec5bebab8bab8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5dfdcd3c7baaea3998d807467584e43372b1f0b0100000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ddd1c4b7aa9e9184776b5e5144382b1e11000714212e3a4754616d7a7a7a7a7a7a7a7a7a7a7e8a97a4b1bdcad7d9ccbfb2a6998c7f7a7a7a7a7a7a7a7a7a7a7a7a7a6d6054473a2d21140700000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000004111d2935414b55616c75818e96a0a7b0babfc6cecec6bfbab8b5afacaaa9a8a8a89f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5455565656565656565654524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000006101b242d34393d3e404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040403f3e3a342d251b1107000000000000030a0f12151517171717171717171717171717171413100c07010000060b10121317171717171717171717171717171615130f0a0400000000000000000003090e1214151515151515151515151515151515151413110d07010000000000000000000000000306080909090909090909090909090909090908080602000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665b5044382b1c1106121f2c3844505c6674818e9aa9b3becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea3989083796d605a50453b30261c111e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb1a4998e898888888888888888888888888888888888888888888888898a8b8d9092989b9fa3aaafb5bbb9b1acaaa29f99928c827a6e695f574d443a3024190d030000000000000000000000000713202d3a4653606d798693a0acb9c6d3e7dbd0c5bcb4aeabaeb4b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddddd5c9beb3a99f92867b6e6155483c32261b0f0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a77838787878787878787878a909aa6b2bfcbd8dacdc0b4a89c918c8787878787878787878787878175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000010d18242f3a43505a616d7a8490959fa6aeb4bcc1c5c8cac6c5c0bbb9b7b6b5b5a99c908376655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494846423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000009121b22282d30313333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333332312e29231b1309000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000306070a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000002060808090909090909090909090909090909070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897c7063544a3f33281c0a03101c28343f4a5463707d8997a2adb9c6d2dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcbbfb4aaa0958d80746c61574d42382e23171e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7c7d7e808385898e92989fa3abb1b9bcb8b4aeaba39f948f847b6e695e564c4135291f150b0100000000000000000000000713202d3a4653606d798693a0acb9c6d3e2d6cabeb4aaa29fa2aaafb7b3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbddd4cbc2b9ada1978d8073695f53463a2a20150a0000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f1200111d2a3744505d6a7783909494949494949494979aa2acb7c2cedadcd0c4b8ada39c9994949494949494949494948e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000007131d28313e46525e686e7b8390949fa2aaafb7b8bcc1c3c5c7c7c6c4c3c0b4a79a8d81746753493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000040e19222a32373b3c3d3d3d3d3d3d3d3d3b3a36302921170d03000000000000000000000000000000000000000000000000000000000000000000000000000910171d212425272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272525221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2d22170b000c17232e3a4653606d7985929eabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7e70695e544a3f342820162b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7070717476797d81868d92999fa7b0b8c2bfbab4aea69e9691847b6e685d52463d31271d120700000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd3c6baaea29892989ea5afbbbab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9ded5cbc2b9b0a69e92857a6d60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f1300111d2a3744505d6a7783909da1a1a1a1a1a1a1a4a6acb4bec8d3dfe0d5cabfb6ada8a6a1a1a1a1a1a1a1a1a1a19b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000010c161f2a36414c565e696e7a828c92989ea5aaacb1b4b6b9babfbbbcbcc0b5ab988b7e7165584b3e2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000007101920262b2e2f30303030303030302e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070708090a0b0b0c0c0b0b0a090807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8d8174665c5044382b1c11060006121f2c3844505c6674818e9ba9b3becad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49f92857b6e665c50443d32281e2b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6262626262626262626262626262626262626262626263646567666d70757a808790959fa6b0b8c2c6bfbab0a8a19691837a6d61594f43392f24180c00000000000000000000000713202d3a4653606d798693a0acb9c6d3ded2c5b8ab9f92858f939ea9b3bbbeb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dadbd6ccc3b9b0a69e938b7f72685d52453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f1200111d2a3744505d6a7783909daaadadadadadadb1b2b7bec6d0dae5e6dbd1c8bfb8b4b2adadadadadadadadada89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000040d1925303a444d575e686d797f868e93999da0a7a7aaacaeb4afafafafafa499897c6f6256493c2f231606000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f2222232323232323232321201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070c101313141516171718191818171716151413110d070a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a000003101c28343f4a5463707d8a97a2adbac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0baada2979082786d60594f443a30242b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61555555555555555555555555555555555555555555565758545c6063686d737c838f949fa6b0bbc5cbc2bab2a8a0958e81746b60554b4035291d1004000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82828f97a1a9b3bbc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4dcd7d0cac1bab1a79f948f82786d60564c4133291f1409000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200111d2a3744505d6a7783909daab6babababababdbfc2c8d0d8e2ecede3dad1cac4c0bfbabababababababab4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000008131e28323b454d565d676d737b81888c9195989a9d9fa3aba2a3a3a3a39f93867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407090e12141517181c1f202122222324252525252424232220201d1819171514120e0907040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b0000000c17232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60564c4135292b3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d61544848484848484848484848484848484848484849494a4b4a5053565d606a6f79828f949fa9b3becaccc4bab1a79e93897d70675d5145382c1f150a000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859197a2a9b1bbc0c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d6d1cbc5bebaafa8a0959082796d665c50433a2f21180d03000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e1100111d2a3744505d6a7783909daab6c3c7c7c7c7cad1d2d5dae1e8f1f5ece3dbd5d0cdccc7c7c7c7c7c7c7c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000020c162029333b444c555c60696e757b7f84888b8e90929994959696969696918477675d5145392c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060708090a0b0b0b0c0c0b0b0a09080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d1113141a1e20212423282c2d2e2e2f3031323232313131302e2d2c2924262421211e1a1413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d5c9beb3a99a8e8174665c5044382b1c110600000006121f2c3844515c6674818e9baab3becad6e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d52453f342a3744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3d3e3f44464c52585f676d79828f97a1adb9c3cdccc3b9afa59e9184796d6053473c32271b0f030000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757c859297a0a7afb5bdc2c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d7d3d0cac7c0bbb3ada59d9691837a6d675d544a3f31281e0f0600000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c3b7aa9d9084776a5d5144372a1e1100111d2a3744505d6a7783909daab6c1c1c1c1c1c1c5c6c9cfd6dfe8f1e7ddd5cdc8c4c3c1c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000050e172029323a434b51575e61696e73777c7e818386878888898989898989817568554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060709060b101213141617171818191818171716151312100c07090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013191d2021252a2d2e312e34383a3a3b3c3d3e3e3f3f3e3e3d3c3b3a39352f33312e2d2a2521201d1913100c0701000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c0a0000000004101c2834404a5463707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605b51463c313744515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f30312e34383a41454e555d676d7a85929ea7b1bcc8d4ccc1b9aca0968b7e7165584e43372b1f13060000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756f7c8590959fa3abb0b9bbbfc5c7cbcac6c5c4c5c6cad0cdd0d1d2d1d1cbc7c5bfbab5afa9a29f938e847b6e685d554b42382e1f160c0000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000111d2a3744505d6a7783909daab4b4b4b4b4b4b4b8b9bec5cdd6e1eadfd5cbc3bcb8b6b4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000050e172028313940454d52575f61666a6f727477797a7b7c7c7c7c7c7c7d7b6e6155483b2f24180c00000000000000000001050707090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909080705020000000000000000000000000000000000000000000000000000000000000000000000000205060c1012131518171c1f2021232424252525252524242321201f1c1818161313100c0706020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181c1f24292c2d30363a3b3d404045464748494a4a4b4c4b4b4a4a494847454042403d3b3a36312d2c29241f1c18120d08020000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170b00000000000c18232e3a4653606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968f81756d62584e43392f44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2222222222222222222222222222222222232423282b2f353c434b555e68717e8b95a0acb8c4d1d5c9bdb2a89d9083776a6054473b2e2215080000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756a6f7b838d92999fa6acaeb5b9babfc1c3c5c7cbd1c9c9d0cac7c5c4c2bfbab9b4aeaba39f97928a81796e695e564c433930261c0d040000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b4a89b8e8175685b4e4235281b0f00111d2a3744505d6a7783909da8a8a8a8a8a8a8a8abadb3bbc5cfdae4d9cdc3b9b1acaaa8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000050e161f272f343b42464d5355585f626567666d6d6e6f7070707070706e695f53463a2d1d12070000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e0903000000000000000000000000000000000000000000000000000000000000000105090e1214171c1f20222523282b2d2e2f303131323232313130302e2d2c28232522201f1c1814120f090502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c141a1c23282c2f35393a3e4246484a4d4b51535455555657585858585757565553514b4f4c4a4846423e3a3935302c29231d19130d0802000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c1106000000000007131f2c3845515c6775818e9baab4becad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e726a5f554b403444515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21151515151515151515151515151515161617171c1f24293139434c56606c7883909daab6c3ced9cec4b8ab9f95887c6f6255493c2f24190d0100000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569696e7980878f949b9fa3abacaeb4b5b7b9babfbbbcbcbbbfbab8b7b6b4aeacaaa29f99928e857e746d675e574d443a31271e140a000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8d9cdc0b3a69a8d8073675a4d4034271a0d00111d2a3744505d6a7783909b9b9b9b9b9b9b9b9b9ea1a9b3bec9d5e0d4c8bcb1a7a09d9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000040d151d232930363b4246484e535558545c60616162636363636363615f574d42372b1e0b01000000000000050c13191d202123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201e1a140d050000000000000000000000000000000000000000000000000000000002080d11141a1e2123282c2d2f312e34383a3b3c3d3e3e3e3f3f3e3e3d3c3b3a38342e322f2d2c2823211f1a15110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181f252a2e34383a4145474b4d52545759545c6061616263646565656464646361605d555b595754534d4b4745413a38342f29251e19130b06000000000000000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada197897d7063544a3f34281c1003000000000004101c2834404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000030c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6f675c51453e44515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140808080808080808080808080808090a060b1013191f27313a44505b65727f8c98a7b1bcc8d4d4c8bcb1a79a8d817467554c4135291d110400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695f676d747c82898e92999c9fa3aba8aaacaeb4aeafafafb4aeacaba9aaa39f9c98928d87817b716c605d554d453b32281f150c02000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8cbbfb2a5988c7f7265594c3f3226190c00111d2a3744505d6a77838e8e8e8e8e8e8e8e8e8e9297a1adb9c6d2ded1c4b8aca095908e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f02000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000030b12181f252a31363a3c4347484b4a505354555556565656565655534d453c31261a0e000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f0500000000000000000000000000000000000000000000000000040a0f13191d20262a2d2e34383a3c3e413f444647494a4a4b4b4c4b4b4a4a4948464440413e3c3a38342e2e2b26201e1914100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d24293036394044464c525458575e61646669666d6d6e6f70717172727171706f6e6d676a686664615e575754524c47454039353029241e17110a020000000000000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c000000000000000c18232e3a4753606d7985929fabb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d605a504544515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003080d151f27333f4953616e7b8895a0acb8c5d1d8cdc3b7aa9d908477675d5145392c20130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569555c606a6f767d82868c8f9299999b9d9fa3aaa2a2a3a2aaa29f9e9c9998928f8c85807b756e69615a514b433b332920160d0300000000000000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd6cabfb4aa978a7d7164574a3e3124170b000d1a2733404d5a6673808181818181818181818185929eabb8c5d1ddd0c3b6aa9d90838181818181818181818181817f7265584c3f3225190c00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000001070c141a1f262a2d32373b3c3f3f44464748494949494949494846423c332a1f14090000000000020c1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36302921170d0300000000000000000000000000000000000000000000040a0f151b1e252a2d31363a3b3f4446484b4d4a50535456575758585858585757565453514a4e4b494645403b3a37312d2a251f1b16100b0500000000000000000000000000000000000000000000000000000000000000000000000000060b141b22272f353b42464a5153565d606569696e70737578797a7b7c7d7d7e7f7e7e7d7d7c7b7a79777573706e696764605d5653514b46413a353027221b140b0500000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5044382c1c11060000000000000007131f2c3845515c6775818e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80746c61574d42515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000030d17222d3846535f697784909daab7c3d0ddd2c6b9ac9f93867a6d6054473a2d21140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c51585f626b70757a7f83868a8c8e9092989495969695949892918f8c8986837f7a746e69615e575045403a312921170e040000000000000000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c6baaea298887b6e6255483b2f221508000c1926323f4b58636e7375757575757575757576838f9ca9b6c2cfd8cbbeb2a5988b7f757575757575757575757575726d62564a3e3124180b00000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000002090e141a1e21262b2e2f2e34383a3a3b3c3d3d3d3d3d3d3b3a37312a21180e03000000000008131e29323a4146474949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f1409000000000000000000000000000000000000000002090e161b20272b3036393b4246484a505355585a545c6061626364646565656464636361605c545a585553514b4847433c3a36302c27211c160e090300000000000000000000000000000000000000000000000000000000000000000000070f181d262d333940454d52545c6064686d7175787b7d80828586878888898a8b8b8b8b8a8a8988868584827f7d7b7774716d6864605c55524c45413a332d261d170e0700000000000000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd2c6b9ada297897d7063544a3f34281c0a000000000000000004101c2934404b5564707d8a98a2aebac6d3dfd7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d70695e544a515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006111b2a36424d576875828f9ba8b5c2cedbd4c7bbafa499897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4e53596063686e72767a7d8082848687888889898887868584827f7c7976726d68615e57534d453e352f281f170f05000000000000000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b8ac9f9285796c605346392d201306000a17232f3b47525c636668686868686868686976838f9ca9b6c2cfd8cbbeb2a5988b7f72686868686868686868686865625b51463a2e22160900000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000003090e12151b1f212223282b2d2e2e2f3030303030302e2d2b261f180f060000000000010d1925303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524d453b30251a0e02000000000000000000000000000000000000060b141921272c32373a4146474d5355545c6062646769666d6e6f7071717172727171706f6e6d6669676562605c5555534e4746423b38322c27211a150c070000000000000000000000000000000000000000000000000000000000000000061119212a2f383f444b51575e61666d70757a7e8285878a8c8f9197949495969798989897979796949892918e8c8a8784817e7a75716d67615e56524c443f382f292019110900000000000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded1c5b8ab9e9285796d6053463a2e23170c0000000000000000000c18232f3a4753606d7985929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b6e665b50515e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000e1a2631414e5a6774818d9aa7b4c0cddad7ccc0b5ab998c7f7266594c3f3326190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f43474f54565e6165676d70737577797a7b7b7c7c7c7b7a797876736f6d6765605d56534d46423b3329241d160d0500000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7dcd0c3b6a99d908376665b5044382b1f12060007131f2a36404a52585a5b5b5b5b5b5b5b5c6976838f9ca9b6c2cfd8cbbeb2a5988b7f72655b5b5b5b5b5b5b5b5b5b585651493f34291e120600000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000002050a0f121515171c1f2021222223232323232322211e1a140e0600000000000005111d2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e120500000000000000000000000000000000020a11171f252a32383c43474c5254575f6165666d6f71747678797a7c7d7d7e7e7f7e7e7d7d7c7b79787674716f6d6765625f5854524d48443d38332b261f18120b0300000000000000000000000000000000000000000000000000000000030a1117232b333c414950555d60696e74797d82868b8f929797999c9ea1a9a1a2a3a4a4a5a5a4a4a3a2aaa29f9d9b999796918e8a86827d79736d68605d565049413b322b231b1209010000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99a8e8174665c5144382c1c110600000000000000000007131f2c3845515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cccbc0b9ada2979082786c60594f5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000000009192633404c5966737f8c99a6b2bfccd9ddd2c0b3a79a8d8074675a4d4134271a0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423d44484c5254555d60636668666d6d6e6f6f706f6e6d676b696663605c5554524c46423b3631292118130c040000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2ddd7ccc0b5ab9a8d817467544a3f33281c0f0300020e19242e3840474b4d4e4e4e4e4e4e505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584e4e4e4e4e4e4e4e4e4c4a463f372d23180d0100000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000030608060b1012131415161616161616161514120e0903000000000000000713202d3946525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e52463a2d201407000000000000000000000000000000050b141b222730363d43484e54565e6165696e7275797c7e8083848687898a8a8b8b8b8b8b8a8a8987868583817e7c7976726e6a66615e56544f48443d373128231d150c050000000000000000000000000000000000000000000000000000030c151c2328353d454d535b60676d737b80858a8e92989c9ea1a9a6a8abadb3aeafb0b0b1b2b1b1b0b0afb4aeacaaa8a6a8a09e9a99928f8a85807a736d68605b534d443d352d241b1309010000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada297897d7063544a4034281c100400000000000000000004101d2935404b5564717d8a98a2aebac6d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948c7f736b60565e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232383b4146474b51535759545c6061616263636261605d555c595653514b4745413a36312a251f170f0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e0d4c7bbafa4998a7d7164574a3e2d22170b00000008121c262e363b3f40424242424243505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c42424242424242423f3e3a342d251b11060000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000306070708090a0a0a0a0a0a080705020000000000000000000714212e3a4754616d7a7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e2115080000000000000000000000000000070e161d262d333b42464f54586062686d72777b7e8285888b8d8f9192999596979798989897979696999391908d8b8886827f7b77726e69636059554f47423c342e271e170f08000000000000000000000000000000000000000000000000000a151e262e343f474f575f656c71797f868d92979b9fa3aaabadb3b3b5b8b9bebbbbbcbdbebebebebdbdbcbfbab8b7b5b2b2acaaaba39f9b97928c86807a716c655e564f473f362d251b1309000000000000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000c18242f3a4753606d7986929facb8c5d0dbdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f92877d6f685d5e6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cddadbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362c3036393b4045474a4d4a50535455555656555453514b504c494645403a39352f2a251f1a140d050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5dfd2c6b9ac9f93867a6d6154473a2e211406000000000a141c242a2f3233353535353643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3535353535353532312e29231b1309000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d0000000000000000000000000008101920282f383f444d525960636a6f757a7f83888b8f9298979a9c9e9fa3aba3a4a4a4a5a5a4a4a3aba49f9e9c9a9898928f8b88847f7b75706b636159534d4540393029211a1109000000000000000000000000000000000000000000000006111c2630383f44515960696e777e848c92989ea1a9acaeb4b8b9bebfc2c4c6c9cfc8c9cacbcbcbcacacad0cac6c5c4c1bfbdb9b7b4aeaca9a29e98928d857e776e69605950483f372d251b11070000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5144382c1c1207000000000000000000000007131f2c3945515d6775828e9baab4bfcad6e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2bbafa39991847a6d605a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000004101c2834404a546875828f9ba8b5c2cedbdcd0c3b6a99d9083766a5d5043372a1d1004000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629252a2d2f35393a3d403f44464748484949494847454043403c3a38342e2c29241e1a140e0903000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdad8ccc0b6ac9d908376685d5246392d20130700000000020a12191f232627282828293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f322828282828282524221e18110901000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000030608090b0b0b0b0b0a0a09080706040100000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000008111a222b323a414950565e616b6f767c82868b9095989b9fa2aaa7a9abacafb5b0b0b1b1b2b1b1b0b0b5afacaba9a7aaa29f9c9895918c86827c76706b615f57514b423b332c231b120a010000000000000000000000000000000000000000081217232e38424a505b626b707b838b91969fa2aaadb3b9babfc5c6c9cfcfd1d2d4d2d1d0d0cfcfcfd0d1d2d3d6d3d2d0cecec9c5c4bfbab9b3adaaa29f97928b827b706b625a51493f372d23190f060000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544a4034281c0b00000000000000000000000004101d2935404b5564717e8a98a2aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccbc0b5aba1968e81756c626a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844515c667683909da9b6c3d0dcddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423629191e2024292c2d302e34383a3a3b3c3c3d3c3b3a38352f33302d2c2823201d19130e09030000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d4c8bbafa49a8c7f7366564c4135291d1105000000000000080e1317191a1b1b1d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f32251b1b1b1b1b191816120d060000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000000000040a0f1215151717171717171616151413110d08060603000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c7f7366594c403326190d000000000000000000000008121a232c343d444c535b60696e757c82888e92999d9fa7a8abaeb3b3b6b7b9bbc0bdbdbebebebebebdbdc0bbb9b8b6b4b4aeaca9a8a09d99928f89837d766e69605c544d453e352d241b130a0100000000000000000000000000000000000006101a2428343f4a545c606d727d8590959ea1a8aeb4b9bec5c7cbd1d2d5d2d1d1cbc7c5c4c4c3c2c2c3c4c5c5c7cbd1d0d1d4d9d5d2d1cbc7c5beb9b4aea9a19e948f857d716d625b51493f352b21180d030000000000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000c18242f3a4753606d7a86929facb8c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa6b0bac4d0c7bdb2a89e938b7e716a6a7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000000070f18202d3a4653606d7985929fabb8c5d2dedccfc3b6a99c908376695d5043362a1d1003000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1114181d20202423282b2d2e2e2f30302f2e2d2c29242623201f1c1813110d080100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7dfd2c6b9ac9f93877b6e6154483b3024190d010000000000000002070a0c0d0f101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190f0f0f0f0c0b090601000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000000060e151b1f212224242424242423222221201d191613120f0b0600000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4afafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafa6998c7f7366594c403326190d0000000000000000000008111a242c353d464e565e656c727b81898f949b9fa3ababb1b5b8babec0c2c4c5c7cbd1cacacbcbcbcacad2ccc7c6c4c3c0bfbab8b5b1acaba39f9c949089827b736d665e574f473f362d251b13090000000000000000000000000000000000040d18222c363e44505c666d747f8792979fa7adb2babfc6cacfd3d7d3cfc9c6c5c1c0bbb9b8b7b6b5b5b6b7b8b9bbc0c1c4c5c8ced2d6dad7d3cfcac6bfbab3ada69f9792877f726d625b51473d33291f14090000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3a99b8e8174665c5145382c1c1207000000000000000000000000000713202c3945515d6775828f9baab4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7cfc4baafa59f92867c6e677784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e211407000000000000000000000000000000000003091019222a36414c5664707d8a97a2adbac6d3dfdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f070d11131417171c1f2021222223232221201f1d1819161313100c070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd5c9bdb2a89c8f8376695e53463a2d1e13080000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0202020000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000006101820262b2e2f313131313131302f2e2d2c292423201f1c17110f0a0400000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b4aeaba2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a5abb3b2a6998c7f7366594c403326190d00000000000000000006101a232c363e474f5860686d777f868e939c9fa6acaeb5b8bcc2c5c6cad0cfd1d2d0cdcbcac9c8c7c8c9cacacccfd1d1cfd0cac7c5c2bdb8b5afaca69f9c948f8680796e69615950483f372d251b1108000000000000000000000000000000010c161f2a343e48515b606d78808b9299a2a9b1b9bdc4cad0d6d7d1cbc7c5beb9b8b5b5afacabaaa9a8a8a9aaabacafb5b4b7b8bdc3c6cacfd4d9dbd6d0cac5beb9b0a9a199938b7f726d62594f453b31261a0d040000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baada2978a7d7063544b4034281c10040000000000000000000000000004101d2935404b5564717e8a98a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccccc1baaea2989083796d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140700000000000000000000000000000205090e141a232b343c46525e6875828f9ca9b3becad6e2dacdc1b4a79a8e8174675b4e4134281b0e01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0001040607060b101213141515161616151413100c070907060400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe9e1dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dcd2c5b9ada1968b7e7164574d42362a1e0c020000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000000040e18222a31373a3c3e3e3e3e3e3d3d3c3b3a39352f302d2b28221c1b150f0a030000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b4aaa29f9595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959699a1abb2a6998c7f7366594c403326190d0000000000000000040e18222c353e485059606a6f7a828b92989ea5aab0b9bbbfc6c8cdd2d3d2d1cbc7c5c3c0bebdbcbbbbbbbcbdbebfc2c5c6c9cfd2d3d2cec8c7c0bbb9b0aba69f98928c837b706b625a51493f372d231a1006000000000000000000000000000007131d28313c46505a636d75818d929fa3abb3bbc2c9cfd6d8d1cbc6bfbbb9b3adaba8aba39f9e9d9d9c9c9c9d9e9fa3aba7aaacb2b8b9bec5c8ced6dbdbd6cfc9c2bbb3aba49f918b7f726b60574d42362a1f160c010000000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c0000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdcabfb4aaa0958d80747784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21140a0a0a0a0a0a0a0a0a0a0a0a0a0b090e12141a1f262a353d46505a616e7a86929facb9c5d0dbe3d7cbbfb4aa988b7f7265584c3f3225190c00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000030607070809090a090807060400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e9dfd7cfcac6bfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d5c9beb3a99e9184796d6053463b31251a0e000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000000a15202a343c4347484a4a4a4a4a4a494948474541403d3938332d2b27201a150d0801000000000000000000000000000000000000000b1824313e4b5764717e8a97a4aea29892888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888898f99a5b2a6998c7f7366594c403326190d00000000000000020c16202a343d47505a616b707c848f949fa2aaafb7bbc2c7cbd1d4d4cfc9c5c4c0bbb9b6b4b2b1b0afaeaeafb0b1b2b5b8b9bec2c5c7cbd1d4d1cbc7c2bcb7b0aaa39f9590857d716c625b51493f352c22180c03000000000000000000000000010d18242f3a434e58616c737f8c939da4afb5bdc5cdd5dad6cfc6bfbab5aeaca9a19e9b9899929191908f8f9091929299989b9da0a8abadb3b8bcc3cad0d8e0dad5cdc5bdb5afa39f92877d70695f53463f31281e13080000000000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb3aa9b8e8174665c5145382c1d12070000000000000000000000000000000713202c3945515d6775828f9babb4bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0c6bcb1a79d928a7d7784919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e21161616161616161616161616161718191a1e20252a31363e474f58626c75818e99a3afbbc7d7e1e0d3c7baaea398897d706356493d3023160a00000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d7cdc5beb9b8b9b3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbd8cfc6b9ada1978b7f72665c514538291f1409000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000000030f1b26313c464e535557575757575756555554514c4c4946443f3837322b262019130c040000000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f92857c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7d8996a2afa6998c7f7366594c403326190d0000000000000008131e28323c464f59616c717d8691969ea6aeb4bcc1c7ccd3d7d1cbc7c4bdb9b8b5afacaaa7a5a4a3a2a1a2a2a3a4a6a8abadb3b5b9bbc0c7c8ced6d4cdc7c2bcb4aea79f9792877e726d625b51473e342a1e150b00000000000000000000000004111d2935414b555f6a707e88939fa5aebbc0c7cfd7d8d0cac1bdb4aeaba39f9b97928e8c8986858483828283848586888b8e91969a9ea1a9acb1babfc6ced4dcdfd6d0c7c0bbafa39992857b6e615a50433a2f24190d010000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7063544b4034281c0b0000000000000000000000000000000004111d2935414b5564717e8a99a3aebac7d3e0d7cbc0b5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becacec3b9aea49e92857b84919daab7c4d0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a2e2323232323232323232323232323242425252a2d31363b42465059606a717e8b939eabb5c0cbd7e9dfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc5bbb3adabadb3b1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6dcd1c6bcb0a69e9285796d60544b403428170d03000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000006121f2b37434e585f62646464646464636261605d55595653504a47433c373129241e160d0500000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7a8793a0ada6998c7f7366594c403326190d000000000000040d1925303a444e58616b717e879298a1a8b0babfc5ced3d8d5cfc7c0bbb9b2adababa39f9d9a989796959495969797999c9ea1a9a8acafb5b8bdc3cacfd7d3cfc6bfbab1a9a299938b7f726d62594f463c30271d120700000000000000000000040f19222c3945515d676f7c86929aa4afb7c0cbd1d9d6cec6bfbab0aba39f99928f8a85827f7c7a7877767575767778797b7e8184888d92979da0a7aeb4bcc2cad2dbe2d9d2cbc0b5aba2978f82766c62564c4135291d1307000000000000000000000000000713202d3946525d6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c00000000000000000000000000000000010d18242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78839097a2adbac0cbcbc0b9ada1978f8384919eaab7c4d1dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473a30303030303030303030303030303030313230363a3b42464d535a616b6f7c86929fa5afbdc7d1dce2d6cabfb4aa9c8f8276675d5145392c1f130600000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cabeb3a9a29ea2a9b3b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ddd7cbbfb4aa9f948b7e71675d5142392e23180500000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000815212e3a47535f6a6f717171717170706f6e6d67686663605b54544e47433c352f281f170e06000000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626d7a8793a0ada6998c7f7366594c403326190d0000000000010c161f2935414c565f6a707d879299a2aab2bac1cad0d7d6cfc9c2bdb5afaca9a19e999992908d8b8a89888888898a8b8c8f9297979b9fa3abacb2b9bec5cdd6d8d1cbc2bbb3aba49f918b7f726b61584e42392e23180c040000000000000000000a16212a36424d57606d79849198a2acb6c0c9d7dcd5ccc4bcb4aea69e99928d86827d7975726f6d676a6a6969696a666c6f7174777b80858a90959fa2aab0b8c1c9d2dae3dcd1c7bdb3a99f948b7e71685d52453a2f24180d010000000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000713202c3945525d6875828f9cabb5bfcbd7e0d3c7bbafa3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3cecabeb3a99f948f9196a0acb8c5d2dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d6154473d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3e3f404246484d53575f616c717d859298a2aeb7c1cfd9e3ded3c6baaea2988b7e7265554b4035291d100400000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ada2979297a2a9b3b2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd4cbc2baaea3989082776c60554b4030271d120700000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b000000000915222f3c4855626f7c7d7d7d7d7d7d7c7c7b7a787573706c66626058534e45413a312920180f060000000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555606d7a8793a0ada6998c7f7366594c403326190d000000000007131d28313a46525e686f7c869299a3abb4bcc4ccd6dbd3cdc4beb9b0aba39f9c96918d898683817f7e7d7c7b7b7c7d7e7f8285878a8f92999ea0a8adb3bbc1cad0d7d7cdc5bdb5afa39f92877d706a5f544b40342820150a0000000000000000030f1b27323a46535e6973808d96a1aab4bec7d2dbd5cbc3bab2aaa29f948f86807a75706d666563605d555d5c5c5d545b60626568696e73797e838c92989fa6afb7c0c8d2dae3d9cfc5bbb0a69f92857a6d60554b4035291d1104000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c1004000000000000000000000000000000000004111d2935414c5664717e8b99a3aebbc7d3e0d7cbc0b5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a939da7b1bcc6cfc5bbb0a69f9c9ea0a8b2bdc8d4dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615449494949494949494949494949494949494a4b4c4d4d5254575e61696e757e869297a1aab4bfc9d3e1e1d6cabfb4aa9f92857a6d6054473a2f24180c0000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d1c5b8ab9e92859297a2adbab3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad4cbc2b8afa59f92867c6e655b5043392f1e150b0000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfd4cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b00000004111d2935404b556875818a8a8a8a8a8a8988888784827f7d78736f6a625f58524c433b332a21180f0500000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484854606d7a8793a0ada6998c7f7366594c403326190d00000000010d18242f3a43505a616d7a849198a2abb5bdc6ced6dbd3cac1bbb3ada69f99928f8a84807c7a77747271706f6e6f6f70717375787b7e82868c91969ea2a9afbabfc6ced7d7d0c7c0bbafa39992867c6f665c51453c31261b0f040000000000000007131f2c38434e58616e7b86929fa8b2bcc6d0d9d6ccc3b9b1a8a198928a827b736d6863605c545653514b504f4f504a50535558575f62676d71797f868f949ea5aeb6c0c8d2dde1d7cdc2baada2978c7f73675d5145392c20140900000000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053463a2e23180c000000000000000000000000000000000000010d19242f3a4754606d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbcdc2b8b0aba9aaacb2bac3ced9dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d615656565656565656565656565656565656565757585a575e6165696e737b818a9298a1a9b3bcc6d0dbe2d8cfc6baaea2988d8174675d5145392c1d12070000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cdc0b3a69a8d8085929fa8b2bcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dcd6cbc2b9b0a69d938b7e716a5f53493f31271d0c030000000000000000000000000000000003101d293643505c6976838f9ca9b6c2c7c7c7beb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d7cabdb0a4978a7d7164574a3e3124170b0000000613202c3945515d67778491979797979796959496918f8c8984807c766e6a605d564d453c332a21170d03000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52453c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c4754606d7a8793a0ada6998c7f7366594c403326190d0000000004111d2935414b55616c75818e96a1aab4bdc6cfd8dbd2c9c1b8b0a9a19e948f87827d7973706d67676564636261626364646669696e71757a7f848b92979da5aeb4bcc5ced6d9d2cbc0b5aba2989083796d60584e43372b21160a000000000000000915222e3b4854606a75818e98a3aebac4ced7d7cec4bab1a7a09691867e756e69615e5653504a49474540434242433f4446484b4d53555c60666d727b828e939da4aeb6c0cbd5e1dfd6cabeb3a99e92857a6d6053473b31251a0e02000000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabeb4aa9b8e8175675c5145382c1d1207000000000000000000000000000000000000000813202c3945525d6875828f9cabb5c0cbd7e0d3c7bbafa3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1cccac2bbb7b6b7b8bdc3ccd5e0dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a6d636363636363636363636363636363636363636364656669696e72767b80868e939fa3aab3bbc5ced7e2d9d0c6bdb2a89f92867b6e61554b4135291d0b010000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c96a0aab4bdbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3d8d0cbc0b9b1a79f948e81746d62584e41382d1f150b000000000000000000000000000000000003101d293643505c6976838f9ca9b6bbbbbbbbbbb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cececbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccececabdb0a4978a7d7164574a3e3124170b0000000714202d3a4753606d7a86939fa4a4a4a3a3a2a8a19e9b9997918d88827c746d685e574e453c33291f1409000000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000613202c3945515d67717e8a939ea8b2bcc5cfd8dbd2c8c0b7afa69e97918a827b75706d6663605d5558575655555556575859575e6164686e72787e858e939fa2aab3bcc5cdd6dcd1c7bdb4aaa0958d80736a5f53473d32271b0f03000000000005121e2a36424d57626f7c89939eaab4bfccd6dbd0c6bcb2a8a09590847c716c615f57524c46443f3c3a39352f36362d3338393c3e42474b51545c60696e78818d929da4aeb9c3cfd8e3dbcfc5b9ada1978b7e7265574d42362a1e120500000000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034281c0b000000000000000000000000000000000000000004111d2935414c5665717e8b99a3afbbc7d3e0d7cbc0b5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbac4d0cdc7c4c2c4c5c8ced5dee7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e0d3c7baada094877a70707070707070707070707070707070707070707071727376787b7e83878d92999ea5aeb4bcc5cdd7e0d9d0c7beb4aba0968c8073695e52433a2f24180d000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7a849198a2abb4bcbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d4cec6bfbaafa79f959082796d605a50463c2f261b0d03000000000000000000000000000000000003101d293643505c6976838f9ca9aeaeaeaeaeaeaea5988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc1c1c1c1beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3bfc1c1c1c1bdb0a4978a7d7164574a3e3124170b000000091623303c4956636f7c899aa4afb0b0b0afafb2acaba8a9a19e9a948f87807a6e695f574e453b30251a0e050000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111d2a36414c56606d7a85929ea5afbac4ced7ded2c9c0b6aea59e948f857e766e6963605c5453514b4c4b4a494848494a4b4c4d5354565e61656c717a818a9298a2a9b3bbc5cfd9d9cfc6bcb1a79f93877c6f62594f44382c1f140900000000000714212d3a46535e6976828f9ca5afbcc6d0ded6cabfb4aaa19690837a6f6a615a534d46413a38342e2d2c2924292922282b2d2f31373940454a51575f666d77808d929da7b1bdc6d1dce1d6cabeb3a99c908376695e53463a2d2114070000000000000000000713202d3946525e6876828f9cabb5c0cbd7e3ded2c5b8ab9f9285796d6053473a2e23180c0000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2bdc7d2d3d0cfd1d2d4d9e0e7e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d6cabdb0a3978a7e7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808285878b90939a9fa3abafbabfc6cfd7dfd9d0c7beb6aca3999184796d60574d4231281d1307000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737c869299a3aab3bbc1c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d4cec8c2bcb4aea59d959083796d675c51483f342a1d140a00000000000000000000000000000000000003101d293643505c6976838f9ca1a1a1a1a1a1a1a1a1988b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3b0b4b4b4b4b4b4b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6b3b4b4b4b4b4b4b0a4978a7d7164574a3e3124170b0000000c1825323f4b5865727e8b98acb6c0bdbdbcbbbdb9b7b5b2adaba69f99928d837b6e6a5f574d42362a20160c0200000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000713202d3946525e6873808c97a1adb7c1ccd6e0d6ccc1b7aea49d938e827a716c625f5753504a4745403f3e3d3c3b3c3c3d3e404246484c52535b60686d747d869297a1a9b3bdc7d1dcd7cec3bbafa4998f82756b6054483b30251a0e02000000000815212e3b4854616e7b87939facb9c1ced8d9cfc7baaea29891847a6e685f585047423c36302c2823201f1d181c1c171c1f2022262b2e343940444d545c656c74808d95a0abb5bfcbd7e2dacfc5b9ac9f93877b6e6154483b2e2115090000000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d12070000000000000000000000000000000000000000000813202d3946525d6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1abb5c0ccd7dddcdddee1e5eaf1e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb2a59a908a89898989898989898989898989898989898989898a8a8b8d8f9297989c9fa4acaeb4bdc1cbd1d8ddd7d0c7beb6aca49a92877c6f675d51453b301f160c01000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73717e879298a2a9afb9bdc4c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d1cdc8c3bdb8b0aaa39f938e82796d675d554b40362d22180b0200000000000000000000000000000000000003101d293643505c6976838f94949494949494949494948b7f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d8996a3a8a8a8a8a8a8a8a8a5988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c99a6a8a8a8a8a8a8a8a8a4978a7d7164574a3e3124170b0000030f1c28333f4a546774818e9aa7b4c1c2c3c5c6c9c5c4c2beb9b8b0aba39f9590847c6e695e52463f32281e130800000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090914212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27333f4953616d7a86929fa9b3bec9d3dfdacfc4baafa59d928d81786d68615a534d46443f3a39352f31302f2e2f30313131363a3b41464950565e616b707d859297a1abb5c0cbd7e0d7ccc0b5ab9e94897c6f63574d42362a1e120500000006131f2b37434e5866727f8c9aa4afbbc8d0d3d1c7bdb0a69f92867c6f685e564e463e37312a251f1c171413100c07060b0f1213151a1d23282e343b424a535b606d79839099a3aebbc6d1dce0d4c8bbafa49a8b7f7265584c3f30251a0e020000000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c0b0000000000000000000000000000000000000000000005111d2935414c5665717e8b99a3afbbc7d3e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a849199a4afbbc2cdd7e1eaebedf1f6f4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3dacec2b6aba29a979696969696969696969696969696969696969696969798999c9ea1a9a9acafb6babfc6cfd7dcd9d2ccc4beb6aca49a93887e716a5f554b4033291f0d0400000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736c717e8692979ea5adb2b8bcc3c6c9c6c5c4c3c4c5c6cacfced2d1cfcec8c5c3bcb8b2aca69f98928b81796d675d554b43392f241b0f060000000000000000000000000000000000000003101d293643505c697682888888888888888888888888887f7265584c3f3225190c0000000000000000000000000000000000000a1723303d4a5663707d89969b9b9b9b9b9b9b9b9b9b988b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c999b9b9b9b9b9b9b9b9b9b978a7d7164574a3e3124170b000006121f2b3844505b667683909da9b4b4b5b6b8babfc5c6cac9c6c2bdb5afa7a09691857b6e615a50443a3025190d01000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000005121f2b3744505b65727f8c98a2aebbc5cfdbe2d5c9bdb2a89e938d80786d665d565047423c38342e2c29242423222222232425252a2d3036383f444c5259616b6f7c859299a3afbbc3ced9ddd2c7bdb0a69c8f8275695e52463a2d2014090000000815212e3b47535f6a7784909dacb6babec5c7cbc0b5ab9e938a7e716a5f564c443c342b261f1913100c06060400000000030606090e12181c232830384149515c666f7c87929faab4bfcbd7e3d8ccc0b6ac9b8e827568574d42362a1e1205000000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c00000000000000000000000000000000000000000000010d1924303a4754616d7a86929facb9c5d1dcdcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525e68707d87939fa6b0bbc5d0dbe6f0f9fdfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c8bdb4aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a5a6a9abadb3b6b9bbc0c7cbd1d8d8d4d0c7c0bbb2aca49a93887e716c62584e43392f21170d0000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666c717d858f939ea1a8acb1b8b9bec1c4c6c8ccd2c9d2ccc8c6c4c2c0bdb8b7b1aba8a09d948f867f746d675d554c433a31271d12090000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d6054473a2d2114070000000000000000000000000000000000000a1723303d4a5663707d898e8e8e8e8e8e8e8e8e8e8e8e8b7f7265584c3f3225190c00000000000000000000000000000000000d1a2633404d596673808c8e8e8e8e8e8e8e8e8e8e8e8e8a7d7164574a3e3124170b00000613202d394653606c7985929fa7a7a8a8a9acaeb4b8b9bec5cdcfc7c0bbb1a8a1978f82766d62564c41362a1d1105000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000613202d394653606c7884919eaab4bfcdd6e1d9d0c7b9ada1968e81746c665c544c443e37312b2823201d1818171615151617181a1e21252a2d333a41464f59606a6f7c87929fa7b1bcc8d4ded9d0c1b9ac9f93877b6e6154483b30251a0e0200000916222f3c4955626f7c8895a0a7abaeb3b7bbc2bbafa3998f82756c61584e443b322a221a150d080300000000000000000000000000070c12181e262f38404b545f6a73808c98a3aebac7d3e0ddd2c4b8ab9e918578695e52463a2d201407000000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675c5145382c1d120700000000000000000000000000000000000000000000000813202d3946525e6876828f9cabb5c0cbd7e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b73808c949fa9b3becad6dde7f2fcfff4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc6bdb6b2b0afafafafafafafafafafafafafafafafafafafafb0b1b2b3b5b8b9bec3c6c8ccd2d7d6d3cdc8c3bdb5afa8a09a93887e716c625a50463c31271d0f050000000000000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366616b6f7b828a91969da0a7abadb3b5b7b9bbc0bcbcbcc0bbb9b7b6b4b2acaaa79f9d96918a827b726d605c554c433a31281f150b000000000000000000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013060000000000000000000000000000000000000915222f3c4855626f7c81818181818181818181818181817d7063574a3d3024170a00000000000000000000000000000000000b1724313e4a5764717e81818181818181818181818181817c6f6256493c2f23160900000815222f3b4855626e7b88989a9a9a9b9c9d9fa2aaabadb3bbc1c9d1cbc3bab2a99f948b7e71685e5246392d201409000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000a1723303d4a5663707d8996a0acbcc5d0dfddd2c7beafa59e91847a6d605b544a423a322b261f1c1713100d070a090809090a090e1214191b222730363e464f58606a73808d95a0acb8c2cdd8e0d4c7bbafa4998c807366574d42362a1e120500000d1a2734404d5a6773808b90959a9fa2aaabb0b8b5ab9f92877b6e625a50463c322920181009030000000000000000000000000000000000070c141d262e39424e58606d7a86929facb9c5d0dbdfd2c6b9ada197877b6e6154483b2e21150800000000000005111d2935414c5665717e8b99a3afbbc7d3e3dfd3c6baaea2988a7d7064554b4034291c1004000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a3afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101925303a444f59606d78829097a2adbac0cbd5e0eaf4fef4e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3e3e1d8cfc8c2bebdbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbdbdbec0c2c5c6c9cfd2d4d5d2d0cac7c2bcb8b1aba49f9691887e716c625a50483f342a1f150b000000000000000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665960696e757d848b90959a9ea1a9a8aaacafb6afafafb6afacaba9a7a8a09d9995908a847e766e69625b514b433a31281f160d030000000000000000000000000000000000000000000005111e2a36424d565e6161616161616161616161616161605d564c4135291d11040000000000000000000000000000000000000815212e3b47535f6a6f7575757575757575757575757575706b6155483c2f23160900000000000000000000000000000000000a1723303c4955616c7175757575757575757575757575756f6a6054473b2e22150800000b1724313e4a5764717d8a8e8e8e8e8e8f9092989a9ea1a9afb7bfc8d7ccc4bbb0a69f92867a6d6154473b31251a0e020000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005121e2a36424d576774818d9aa8b2bdced7e2d8ccc0b6ac9d93897d70685d524a42383028201a15100b06040100000000000000000205080e11171e252a343d464e58606d7983919da6b0bcc7d3e3d7ccc0b5ab9d918477695e52463a2d20140700000714212d3a4754606d7a7f83888d92989c9fa6abada3998d8074695f53483e342a20170e070000000000000000000000000000000000000000020b141d27303c45525d6875818e9ba9b3becad6e1d5c9beb2a996897c706356493d3023160a0000000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9285796d6053473a2f23180c000000000000000000000000000000000000000000000000010d1925303a4754616d7a86929facb9c5d2dddcd1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afb9c3ced8e2edf8f0e7dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d3cecbcac9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9cacbcccfd1d2d2d1cfcec9c5c4bfbab8b1aba8a099938d847d716c625a50483f362d22190d03000000000000000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659565e616c70797e83898e9297999b9e9fa4aca2a3a2aca49f9e9c9a9796918c88837e78716c615f575145403930281f160d040000000000000000000000000000000000000000000000020e1925303b444d52545555555555555555555555555554524c433a2f24190d0100000000000000000000000000000000000006121f2b37434e585f6268686868686868686868686868686361594f44382c20140700000000000000000000000000000000000814212d3945505a616468686868686868686868686868686260584e43372b1f130600000a1724303d4a5763707d818181818181828385888d92979da5adb6bfc9d3cdc2baaea2988b7e7265574d42362a1e12050000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212d3a46535f697784919eaab7c4cedde0d4c8bbafa49a8e81746b60564c41382f261e160d090300000000000000000000000000000000060b1319222b343c45515c676f7c89949fabb7c6d1dcddd2c7b8aca095877b6e6154483b2e21150800000713202c3945525d686d72777c81858b90949a9ea19f92877a6e61574d42362c22180e0500000000000000000000000000000000000000000000020b151e2935414c5663707d8a97a2adbac6d3dfdacfbeb1a4988b7e7165584b3e3225180b0000000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8175675d5145382c1d1207000000000000000000000000000000000000000000000000000813202d3946525e6876838f9cabb5c0ccd7e0d3c7bbaea3998b7e7165564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c162028343f4a545e69717e8a929da7b1bcc6d0dce7e3e3e3dacdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c8d0cac6c5c4c3c0bdb9b7b4aeaca79f9d9591878079706b625a50483f362d241b100700000000000000000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064574d525a61666d71787d8185898c8e91939a95969695959a93918f8d8a8784807b77716c66615a534d453f342e271e160d040000000000000000000000000000000000000000000000000009141f29323b424647484848484848484848484848484745413a31281e130800000000000000000000000000000000000000030f1b26323c464e53555b5b5b5b5b5b5b5b5b5b5b5b5b5b57554f473e33281c1004000000000000000000000000000000000005111c28333e485055575b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d32271b0f0300000916232f3c4855616b707474747474757576797c80858e939ca4adb7c1d0d6cabfb4aa9c908376695e53463a2d2114070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000815222e3b4855616e7b8896a0acb9c5d2dedfd2c6b9ac9f93877b6e61594f433a2f261d150c040000000000000000000000000000000000000002081019222834404b55606a7683909cabb5bfcbd7e3d4c8bcb1a7988b7e7165584b3e32251808000004111d2935414c565d60656a6f74797e83888d92979c8f8276685e52453c31241a1006000000000000000000000000000000000000000000000000030c19242f3a4653606d7985929fabb8c5d2ded9ccc0b3a6998d8073665a4d4033271a0d000000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b010000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b99a4afbbc7d4e0d7cbbfb5ab9c8f8276685d5246392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e17232e38424d57616c74818e95a0aab4bfcbd6d6d6d6d6d6cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbcbbbebab8b7b6b3b2acabaaa29f9a95908b847c746d67605950483f362d241b12090000000000000000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c6155494650545c60656c7074797c7f82848687888989898888868483817e7b77736e6a64605b545046423c3328231d150c040000000000000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f281f160c0100000000000000000000000000000000000000000a15202a343c4347484e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b000000000000000000000000000000000000000c17222c363e45494a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b20160a0000000714202c38444f59616367676767676869666d6f737a818c929ca5afbdc7d2d0c5b9ac9f93877b6e6154483b2e2115080000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000b1824313e4b5764717e8a97a8b2bdc9d5e1d7cbbfb4aa9c908376695f53473d31281e140b0300000000000000000000000000000000000000000000071018232e39434e5865727e8b99a3aebbc7d3e0d9cec1b4a79b8e8174685b4e413025190d0100010d19242f3a444c5254585f62676d71767b80858a8f8b7e7165564c41332a201208000000000000000000000000000000000000000000000000000008131f2b3844505c667783909daab6c3d0dddacdc0b4a79a8d8174675a4e4134271b0e00000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f9286796d6053473a2f24180c0000000000000000000000000000000000000000000000000000010d1925303b4754616e7a86939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839198a3aebac1ccc9c9c9c9c9c9c1b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0afaeb3adabaaa9a6a8a19e9b98928e88837e796f6b605d554f473f362d241b1209000000000000000000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50443e424a51535b6063666c6f7275777a7a7b7c7c7c7b7b79787674716e6966625f5853504a423e37312a2118120b0300000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d04000000000000000000000000000000000000000000040e18222a32373b3c42424242424242424242424242423d3c38332c231a10050000000000000000000000000000000000000005101a242c33393c3e42424242424242424242424242423c3b37322b22190f0400000004101c28333e474f55575b5b5b5b5b5b545c6062676d747f8c939eabb5c0ccd4c8bbafa49a8b7e7265584b3f3225180c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d1a2633404d596673808c99a6b3bfced9e0d3c7baaea3988b7e7165574d42352c1f160c0200000000000000000000000000000000000000000000000007121d27303d4754616d7a86929facb9c5d2dfdcd0c3b6a99d9083766a564c41362a1d1105000008131e28323a4145474e54555d6064696e73797d82867a6d6054473b3021180e00000000000000000000000000000000000000000000000000000003101c28343f4a546875828f9ba8b5c2cedbdacec1b4a79b8e8174685b4e4135281b0e00000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000814202d3946525e687683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676f7c86929fa5afbabdbdbdbdbdbdbdbdb4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a2a1a9a29f9e9c9a9796918e8b86817c76716d676059514b433d352d241b120900000000000000000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e30394044495053545b60636668676d6e6f6f706f6f6e6d67696764615e5655534e46443f382f2b261f180f0700000000000000000000000000000000000000000000000000000000000000050d14191e20212222222222222222222222222221201d19130c04000000000000000000000000000000000000000000000006101820262b2e2f3535353535353535353535353535302f2c28211a110800000000000000000000000000000000000000000008121a22282d303135353535353535353535353535352f2e2b272019100700000000000b16212c353e44484a4e4e4e4e4e4e4a5053555d606d75828f99a4afbbc7d4ccc0b6ac998d8073665a4d4033271a0d0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2835424f5b6875828e9ba8b5c1cedbdfd2c5b9ac9f92867a6d6054473b31211a0d0400000000000000000000000000000000000000000000000000000b15202d3946525e6875828f9ca8b5c2cfdbded2c5b8ab9f928578685e5246392d2013070000010c1620282f35393c43474b5153575f62666d70757a6d685d5245392c201306000000000000000000000000000000000000000000000000000000000b17232e414d5a6774808d9aa7b3c0cddadbcec1b5a89b8e8275685b4f4235281c0f0000000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c6baaea2988a7d7164554b4035291d0b0100000000000000000000000000000000000000000000000000000005111e2a36414c5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17212935404b555f6a727f8b939ea8b2b0b0b0b0b0b0b0b0b0a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696959594979291908d8a8784817e7a746f6a64605c554f454039312b231b12090000000000000000000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2e34383f44464a50535659555d6061626363626261605c555a5754524d4847433c38332d261d1a140e0600000000000000000000000000000000000000000000000000000000000000000002090e111414151515151515151515151515151413110d080100000000000000000000000000000000000000000000000000060e151b1f212228282828282828282828282828282423201c16100800000000000000000000000000000000000000000000000810171c212324282828282828282828282828282823221f1b160f0700000000000005101a232c33383c3d4141414141423f44464b515b626e7b87939facb9c6d2d2c1b4a89b8e8175685b4e4235281b0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111d2a3744505d6a7783909daab6c3d0dddccfc2b6a99c8f8376685d5245392c20130800000000000000000000000000000000000000000000000000000005111d2a36414c5665727f8b98a5b2becbd8dfd3c6baada297877a6d6154473a2e211407000000040d161e24292c3237394045474d53545c6064686d685d564c4135291d110400000000000000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2bfcbd8dbcec2b5a89b8f8275685c4f4235291c0f000000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180c00000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9c6d2dddcd1c5b9ac9f92867a6d6154473a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58626d75828f96a1aba3a3a3a3a3a3a3a3a3a39a8e8174675b4e4134281b0e010000000000000000000000000000000000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888786858483807d7b7875726d6862605853514b433d352f281f1911090000000000000000000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2423282d3337393f4446494c4b51535455565656555553514b4e4a4746423b3a37312b28221c140b090300000000000000000000000000000000000000000000000000000000000000000000000002050708080808080808080808080808080706040100000000000000000000000000000000000000000000000000000000040a0f1215151b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000000000000000000000000000000000000000000050c111417171b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a04000000000000000008111a21282c2f3034343434342e34383a4147535f6a76828f9ca9b5c2cfcfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2b3844515e6b7784919eaab7c4d1dddacdc0b3a79a8d807467564c4135291d1104000000000000000000000000000000000000000000000000000000010d1925303d4a5663707d8996a3b0bcc9d6e2d6cabeb3a994887b6e6155483b2e22150800000000040c13191d20262b2f35393c42474a5153565d605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9dbcec1b4a89b8e8175685b4e4235281b0f000000000714212e3a4754616d7a86929facb9c5d1dce2d6cabfb4aa9b8e8275675d5145392c1d120700000000000000000000000000000000000000000000000000000000000814202d3a46525e697683909cacb6c0ccd8e0d3c7bbaea3998b7e7165564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c46515b616d7a8491999696969696969696969696968e8174675b4e4134281b0e010000000000000000000000000000000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c7b7a7978777673716e696865605d56544e464540393029241d160d070000000000000000000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221a181b22272b2d3338393c3f40454747484949494848464540413e3b3a36302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f0f0f0f0f0f0f0f0f0f0f0f0f0f0a090704000000000000000000000000000000000000000000000000000000000005080a0b0f0f0f0f0f0f0f0f0f0f0f0f0f0f0908060300000000000000000000000810161c202324282828282823282b2f37434e5866727f8c99a5b2bfccd0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3845525f6b7885929eabb8c5d1ded8cbbeb2a5988b7f7265584c3f2f24190d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e6dbd0bbafa295887c6f6255493c2f221609000000000001080d11151b1d24292c3137394044464c5254524c443a32281e130800000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cddadacdc0b4a79a8d8174675a4e4134271b0e00000005111d2935414c5665717e8b99a3afbbc7d3e3e0d3c7baaea2988a7d7164554b4035291d1004000000000000000000000000000000000000000000000000000000000005111e2a36424d5665727f8b9aa4afbbc8d4e0d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a343f46525d68707d878a8a8a8a8a8a8a8a8a8a8a8a8a8a8174675b4e4134281b0e010000000000000000000000000000000000000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070706f6e6d6d666b696764615e565854524c47433c38342e271e18120c04000000000000000000000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c17100c11171b1f22282b2d302f35383a3b3c3c3d3c3c3b3a38342e312e2d2a25211f1a150f0b0600000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b171c1f26313d495663707c8996a3afbcc9d0c4b7aa9d9184776a5e5144372b1e110400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00131f2c3946525f6c7985929facb8c5d2dfd7cabdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0adbac6d3e0d5c9bcafa296897d6f6356493c302316090000000000000001040a0f12181d1f262b2e34383a41454745413a322820160c020000000000000000000000000000000000000000000000000000000005111e2a36414c566975828f9ca8b5c2cfdbd9ccbfb3a6998c807366594d4033261a0d0000000713202d3946525e6876828f9cabb5c0cbd7e3dfd2c5b8ac9f92867a6d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b87939facb9c6d2dfdcd1c5b9ac9f92867a6d6154473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18222935414c56606b707c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255483c2f2215090000000000000000000000000000000000000005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363626261605c545d5a5754524d4b4745413a37322c28231d150c0701000000000000000000000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500060b0f12171c1f202324292c2d2e2f30302f2f2e2d2c28232421201e1914120f0903000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b19151009020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070c0e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0c0706040000000000000000000000000000000000000000000000000407090a0e0e0e0e060b1015222f3c4855626f7b8895a2aebbc8cfc2b6a99c8f8376695c504336291d100300000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121f2c3945525f6c7885929fabb8c5d2ded6c9bdb0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000001070c10151a1c23282c3035393a3935302820160e0400000000000000000000000000000000000000000000000000000000000713202d3946525e687783909daab6c3d0ddd7cbbfb4aa978b7e7164584b3e3125180b0000000714212e3a4754616d7a86929facb9c5d1dce3d6cbbfb4aa9b8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000914202d3a46525e697683909da9b6c2cdd8e0d3c7bbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101924303a444f59606b6f70707070707070707070707070706f6a5f53473a2e21150800000000000000000000000000000000000000010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575756555453504a504d4a4746423f3a3935302b271f1c18120b0300000000000000000000000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a0804000000000003060b0f121316181d1f2021222323232222201f1c18171414110e090602000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313191b1a18140f080100000000000000000000000000000000000000000000000000000000000000000001080f14181a1b191413100c0701000000000000000000000000000000000000000000000000000101010100000814212e3b4754616e7a8794a1adbac7cec1b5a89b8e8275685b4f4235281c0f0200000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00121e2b3845515e6b7884919eabb7c4d1ded7cabdb0a4978a7d7164574a3e3124170600000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3e0d4c8bbaea195887c6e6255483b2f2215080000000000000000000000000004090e12181c1f24292c2d2c29241e160e040000000000000000000000000000000000000000000000000000000000030d15212e3a4754616d7a86939facb9c6d2dfd3c7baaea398897c6f6356493c30231609000005111d2935414c5665717e8b99a3afbbc7d3d6d6d3c7baaea3988a7e7164554b4035291d0c010000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1bcc8d4d6d7cbbfb5ab9c8f8276685d5246392d20130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d474f5960636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a49484746443f43403e3b3a36302d2c29241e1b15100c0700000000000000000000000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000000000030606070c101314141516161615151313100c07080705020000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f2025282724201a130b0200000000000000000000000000000000000000000000000000000000000000020b131a2024272826201f1c18120c060000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc0b3a79a8d8074675a4d4134271a0e0100000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00111e2a3744515d6a7784909daab7c3d0ddd8cbbfb2a5988c7f7265594c3f2d22170b00000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4e3d7cbbfb4ab94877b6e6154473b2e21140800000000000000000000000000000000070c1013191d2021201d19130c040000000000000000000000000000000000000000000000000000000000030d151f2a36424d5765717e8b99a4afbbc7d4dfd2c5b9ac9f92867a6d6053473a2d20140700000713202d3946525e6876828f9cabb5c0cbc9c9c9c9c5b8ac9f92867a6d6053473a2f24180d0000000000000000000000000000000000000000000000000000000000000000020e1a25303b4854616e7b87959fabb8c4c9c9c9d1c5b9ac9f92867a6d6154473a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353d464f5456575757575757575757575757575755534e463c31261b0f030000000000000000000000000000000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b3a3a38342e34312e2d2a2521201d19130f0a0400000000000000000000000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070809090a09090807060400000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23282c2d323433302b251d140b000000000000000000000000000000000000000000000000000000000000000b141d252b303334322d2c29231d17110b06000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00101d293643505c6976838f9ca9b6c2cfdcd9cdc0b3a69a8d80736753493f33271b0f03000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6e0d3c7baaea39986796d6053473a2d20140700000000000000000000000000000000000004080d11131413110d08020000000000000000000000000000000000000000000000000000000000040c151f27313946525e6976828f9cabb5c0ccd7dccfc2b5a99c8f8276675d5145392c1f130600000714212e3a4754616d7a86929facb9bdbdbdbdbdbdbfb4aa9b8f8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e697683909da9b6bdbdbdbdbdbdbbaea3998b7e7165564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e19232b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20150a00000000000000000000000000000000000000000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030302f2f2e2d2c2823272421201e191413110d08020000000000000000000000000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000000040b0b141c22282e34383a3f41403c362f261d10060000000000000000000000000000000000000000000000000000000000060f1d262f363c40413f3a38342f28231c17110a0200000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9cabdb0a3978a7d7064574a3d3124170a0000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000f1c2935424f5c6875828f9ba8b5c2cedbdbcec1b5a89b8e8275655b5044372b1f120700000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8b97a4b1becad7dfd2c5b9ac9f928679675d5145392c201306000000000000000000000000000000000000000001040707070401000000000000000000000000000000000000000000000000000000000003090e161e273139434f59616e7b86929facb9c5d2ddd5c9bdb2a8988b7f7265554b4035291d10040005111d2935414c5665717e8b99a3afb0b0b0b0b0b0b0b0aea3988a7e7164554b4035291d0c0100000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a7b1b0b0b0b0b0b0b0b5ab9c8f8276685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071119222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e040000000000000000000000000000000000000000000000050d14191e2021242424242424242424242424242424242424242424242424242424242424242424242424242424232221201f1c171a171414110e090704010000000000000000000000000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c2115090000000000000000000000000000000000000000000000000000000000000000040a0f161b1d262d33394045464c4e4c4841382f22180e03000000000000000000000000000000000000000000000000000000030e18212f3841484c4e4c47454039342e27221b140b0b040000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becac9bdb2a995887c6f6255483c2f2215090000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000d192633404c5966737f8c99a6b2bfcedaded1c4b7ab9e9184786c605346392e23180b0200000000000000000000000000000000000000000000000000000a121f2b3844505c6674818d9aa7b4c0cddaddd0c3b6aa9d9083776a554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f141a20283039434b55606b75818e99a3aebbc7d3ded2c5b9aca096887b6e6155483b2f24180c00000713202d3946525e6876828f9caba3a3a3a3a3a3a3a3a3a39f92867a6d6054473a2f24180d00000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4854616e7b87959fa3a3a3a3a3a3a3a3a3a39f92867a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f3030303030303030303030303030302f2e2b26201810060000000000000000000000000000000000000000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171615141312100c060b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000000000000000000000000000003090e151b21272c2f383f444b5153585b59534a41342a20150a0000000000000000000000000000000000000000000000000000000915202a33414a53585b5953514b443f38332d261d1b160f0a04000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc5b9ada196867a6d6053473a2d2014070000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000a1724303d4a5763707d8a96a8b2bdc9d5ded2c5b9aca196897c6f63544b4034281d140b0200000000000000000000000000000000000000000000000006111c26303a4653606d7985929eabb8c5d1dedacdc1b4a79a8e8174675b4e412f24180d01000000000000000000000000000000000000000000000000000000000000000205070808080808080808080808080808090a0b080d1113171c1f252a323a424b555d67707d89939eabb5bfcbd7d5c9beb3a99e918477695f53473a2d1d120700000714212e3a4754616d7a8692969696969696969696969696968f8275675d5145392c1d130700000000000000000000000000000000000000000000000000000000000000000000000914212d3a46535e69778390969696969696969696969696998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f2223242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070707070707070707070707070707060400000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f0200000000000000000000000000000000000000000000000000000000060e151a20262b32383e424a50545c606567645d53463c31261a0f0300000000000000000000000000000000000000000000000000020e1a26313c45535c646765605c55504a443f382f2c27211b150f070000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec4b8ab9e918578675d5145392c2013060000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000714212e3a4754616d7a8796a1acb9c5d2ded5c9bdb2a89a8d8074665c51453c2f261d140c0300000000000000000000000000000000000000000002091217232e38424e5863707d8997a1adb9c6d2dfd6cabeb3a9988b7e7265584b3f3225180700000000000000000000000000000000000000000000000000000000000002080e1114141515151515151515151515151516171718191d2022282b30363e444c545c676d7984919da5afbdc6d1dcd2c6b9ada1978c7f7265574d42372b1e0b0100000b1825323e4b5865717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171515120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10121314141414141414141414141414141313100c07000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000060f181f262b32373d444850545b60666d72746f64584e43372b1f14090000000000000000000000000000000000000000000000000006121e2b37424d57646e74726d67605c545049413e38322b27201910070000000000000000000000000000000000000005111e2a36424d566a7783909daab6c3cfc2b6a99c8f837669554b4035291d10040000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000713202d3946525e687884919eabb7c3ced9dacec4b8ab9e9285796d60584e42382f261e150d0802000000000000000000000000000000000000060b14192428343f4a54606a74818e9ba9b3bec9d5dfd3c6baada297897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000050d14191e2021212121212121212121212121222323242525292d2d33383b424650565e666d79828f96a0acb7c1cfd8d5c9bdb2a89e9185796d6053473c31261a0e0000000915222f3c4855626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053473a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202121212121212121212121212121201f1c18120b0300000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000030e18212a31373c43474f545a61666c71797f81746a5f53473b31251a0e020000000000000000000000000000000000000000000000000814212e3a47535f6974817f79716d66605b534f48443d37322b22190f040000000000000000000000000000000000000714202d3a46525e697885929fabb8c5cdc1b4a79a8e8174675b4e412f24180d010000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0005111e2a36414c566774818e9aa8b2bdc8d4dfd2c6b9ada1978c7f736a5f544a423830271f19130f0b060400000000000000000000000205090e11171f252a363e44505c666f7c87929facb9c5cfdaded2c5b8ab9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2f3031323035393a3f44464d525a61686d78828f949fa8b2bdc9d3d4cbc2b9aca1968b7f72675d5145382a1f15090000000815212e3a47535f6a6f707070707070707070707070707070706d675d5145392c1d1307000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e686d707070707070707070707070707070706b6054483c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e07000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c03000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000009151f2a333c42474e545960636c70787e848b887c6f62574d42362a1e1308000000000000000000000000000000000000000000000005111e2a36424d56626e7b878c847e78716c656159544f47433d342b20150a0000000000000000000000000000000000000814212e3b4754616e7a8798a2aebac6cbbfb2a5988c7f7265594c3f32261907000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00010d1925303c4956626f7c8996a0acb8c5d0dbd5c9beb3a99f92867c6e665b544a4239312a251e1b1413100c070a0908070808090a090e12141a1c222830363e48505a606d78839099a3afbbc7d6e1d5c9bdb2a89a8e8174665c5145382c1f1306000000000000000000000000000000000000000000000000000000020d1720293036393b3b3b3b3b3b3b3b3b3b3b3b3b3b3c3d3e3f3f4146474a5053575e616c717a828f949ea6b0bac3ced6cdc2b8aea49e9184796d60554b4035291d100400000006121f2b37434e585f6263636363636363636363636363636363605d554b4035291d0c010000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c565e616363636363636363636363636363636360594f44382c2014070000000000000000000000000000050a0d0f101313131313131313131313131312120f0c08020000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313131313131313131313131313131313131307060401000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a010000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000020e1a26313c454d53585f626b70767d838b91968e8174695e53463a3025190d01000000000000000000000000000000000000000000000b14202d3a46525e6974818e96918b847e78706b636059544e463d32271b0f0300000000000000000000000000000000000a1623303d495663707c8996aab4becaccc0b5ab978a7d7064574a3d3124170a000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000815222e3b4854606a7784919daab4becad6dacfc5baaea3999083786c665c544b433d36302c27201f1c18171616151414151617181a1e21252a2d333b4246505a616c727f8c95a0abb5c0cbd7dcd2c5b9aca196897c6f63544b4034281c100400000000000000000000000000000000000000000000000000000008141f29323b41464748484848484848484848484848494a4a4b4c4c5254545b6063696e757e858f949ea6b0b8c2ccd5cdc4bbb0a69d928a7e71665c5143392f24180c00000000030f1b26313c464e53555757575757575757575757575757575753514b43392f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457575757575757575757575757575756544f473d33271c1004000000000000000000000000030a10161a1c1d202020202020202020202020201f1e1c18130d060000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d202020202020202020202020202020202020201413110d08010000000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000008111a22282d3031393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f444647474747474747474747474747474645403930271d12070000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000006121e2b37424d575f626a6f767d838a90959e9f92867b6e61564c4135291d120700000000000000000000000000000000000000000007121d2935414c56616e7b86929f9e96918a837d76706b6260584e43372b1f130600000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed0c7bbafa499887b6e6255483b2f221508000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000007131f2c38434e5866727f8c98a2aebac3ced9d7cbbfb4ab9f958e81786d665d554f46413a38322d2c292324232221212122232424262a2d3036383f444d525a616c717e87929fa7b1bdc7d1dcd4c8bdb2a89e9184786c605346392e23180c000000000000000000000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454555656575859565e6163666c70757b818a92979ea6b0b8c2cad7cbc3bbb2a99f948d80746c61544b4031271d120700000000000a15202a343c4347484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745403931271d120700000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e181007000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c04000000000005101a232c33393c3d4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b352e251c120700000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a5053545454545454545454545454545453514b42392e23180c0000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3a47535f696e757c828990959da0a7a3998d8074685e5246392f24180d0000000000000000000000000000000000000000000c18232e3945525d6873808d99a3a8a09e95908a837d766f6a6054473b2e22150800000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0cdc6b9ac9f9386796d6053463a2d201307000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000030f1b27323d4754616e7a85929fa8b2bdc8d4dcd1c6bdb1a79d938e81786d676059524c48443d3a38342f31302f2e2d2e2f30303131363a3b42464a50565e616c717e879299a3aeb9c3cfd9d6cdc4b9aca0968c7f72655b5044372b1d120700000000000000000000000000000000000000000000000000000005111e2a36414d565e6161616161616161616161616161626364656668686d7073787d82878e939ea1a9b0b8c1cad1cbc2b9b1a9a1979082786d605a5042392e1f150b010000000000040e18222a31373a3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332b231a0f050000000000000000000000030d161f262d3235363939393939393939393939393939373430292219100600000000000000000000000000000000000000000000000000000000000d161f272d32353639393939393939393939393939393939393939392c29241e160d04000000000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740372e24190e0200000b17222c353e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c606060606060606060606060606060605c544b4034281c100400000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000815222f3b4855626e7b81878f949d9fa7acb1ab9f92867a6d61554b4035291c12070000000000000000000000000000000000000004101c2834404b55606d7a85929fabb2aca7a09d959089827c6f6256493c2f2316090000000000000000000000000000000004111d2935414b556976828f9ca9b5c2cfc4b7aa9e918477675c5145382c1f1306000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000a16202d3946525e68727f8c96a0acb8c0cad3d8cfc2b9afa59d938e8179706b615e56544f494745403e3d3d3c3b3a3b3b3c3d3e404246484d52545b60696e757e879299a3abb5bfcbd5d8cec4bbb0a69e9184796d6053493f33271b0b000000000000000000000000000000000000000000000000000000000714202d3946525e686e6e6e6e6e6e6e6e6e6e6e6e6e6e6f7071727275777a7d80848a8f92999ea5adb3bbc1cacfc6bfbbb0a7a09791857a6e665c51483e30271d0d030000000000000006101820262b2e2f303030303030303030303030303030302d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e303030303030303030303030303030302f2c27211a11080000000000000000000000000a151f2831383e4243464646464646464646464646464544403b342b22180d0200000000000000000000000000000000000000000000000000000008111f2831383e4243464646464646464646464646464646464646464639352f281f160c01000004101c28333e4750555760606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524a40352a1f13070004101c28333e475055576060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000d192633404c5966737f8c939a9fa6abb1b8baaea2988c7f73675d5145392e23180c0000000000000000000000000000000000000006131f2c3845515c67727f8c98a2aebdb9b1aca79f9d948e8174685b4e4135281b0e000000000000000000000000000000000613202c3945515d677884919eabb8c4cfc2b5a99c8f827669554b4034281c1004000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000005111e2a36414c56606d7984919ea4aeb8c1cbd4d4cbc0b7afa59e938e847d756d686360595653514b4b4a494948474748494a4b4d4d5355575e61666c727b818b9299a3abb5bdc6d1d8d0c6bcb2a99f948a7d70665c5141382d22170b000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7d7d7e7f8184878a8c91969b9fa3abafb9bec5cdc9c2bdb5aea69f9591857c6f685e544a40362c1e150b000000000000000000060e151b1f212224242424242424242424242424242424201f1d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d20212424242424242424242424242424242322201c160f0800000000000000000000000005101c26313a434a4e505353535353535353535353535352504c463d34291e13080000000000000000000000000000000000000000000000000000020c1a23313a434a4e50535353535353535353535353535353535353535345413a31281e130800000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d20130700000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb0b8bcc2bfb4aa9e9285796d60544a4034281b11060000000000000000000000000000000000030f1c28333f4a54606d7985919eaab3bec3bcb8b1ab9f94887c6f6255493c2f221609000000000000000000000000000000000714212d3a4754606d7a8796a1adb9c5cdc0b3a79a8d8074675a4d412e23180c00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000010d1925303b45515c66707d8a929da6b0b9c3cbd8d2c9c0b7afa59e969189817a746f6b6662605c55585756555454545556575759575f6164696e73787e858e939fa3abb5bdc6cfd7cfc6bfb4aaa1968f82766c61544b402f261b110600000000000000000000000000000000000000000000000000000004111d2a3744505d6a77838787878787878787878787878889898a8b8c8e919696999ea1a8acafb5bdc1c9c7c4bdb9b0aba39f948f837b6f6a5f564d42392e241a0c0300000000000000000000040a0f121515171717171717171717171717171717171413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314171717171717171717171717171717171614100b05000000000000000000000000000a16222d38434c545a5d606060606060606060606060605f5d574f463b3024180c00000000000000000000000000000000000000000000000000000a141e2c36434c555a5d606060606060606060606060606060606060605f524c433a2f24190d01000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d87878787878787878787878787877e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000714202d3946525e6874818e9ba6b0bbc7cdc6b9ada1978b7f72665c5144382d22170b000000000000000000000000000000000006121f2b3844505b66717e8b97a1adbcc5cec8bdb2a89c9083766a5f54473b2e221508000000000000000000000000000000000916222f3c4955626f7c8895a8b2bdc9cbbeb2a5988b7f7265584c3f3225190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000008141e2834404b54616b73808d949ea7b1b9c1ccd2d2c9c1b7afa8a09e938e86817c77726f6d676765646362616061626363646669696e71757b7f848b92989ea5afb5bdc7cfd7cdc5bdb5aea29891847b6e615a5042392e1d140a0000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839094949494949494949494949495969798999b9ea0a8a6abacb2b9bbc0c7c5c0bbb9b2aca69f99928d827a6e695f584e443b30271c120800000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0907040000000000000000000000000000000d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6961574c4034281c0f0300000000000000000000000000000000000000000000000006111c26303e48555e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d1104000a1724313d4a5764707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393939393939393938b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000005111e2a36414c56626f7c88949fabb7c4cecabeb3a99e9184796d6053493f33271b0f03000000000000000000000000000000000613202d394653606c7884919ea9b3beced2c5b9aca1968a7d7064584e43372b1f1306000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfcabdb0a3978a7d7064574a3d3124170a00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000020c18232e39424f59606c78828f959fa7afbbc0c7d0d5c9c1bab2aca59e98928e89847f7c7977747170706f6e6d6e6e6f70717375787b7e82868c91969fa2aaafbbc0c7cfd1cbc3bbb3aba39f92867c6f695e52483e30271d0b020000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da1a1a1a1a1a1a1a1a1a1a1a2a3a4a5a5a8aaacb2b3b7b9bdc4c5bfbab8b5afaca8a19e948f8780786d685e574e463c32291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a667076797979797979797979797979797873695d5044372b1e12050000000000000000000000000000000000000000000000000b17232e3842505a6670767979797979797979797979797979797979797976685d5245392c201306000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a0a0a0a0a0a0a0a0a0a0988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000010d1925303b47535f6a7683909ca8b2bdc9cfc5b9aca1968b7e71655b5044372b1f160a0000000000000000000000000000000713202c38444f5964717d8a96a0acbbc4cfcabfb4aa9e9184786d6053463c32261b0f03000000000000000000000000000000000d1a2633404d596673808c99a6b3bfcccabeb3a995887b6f6255483c2f22150900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000007121d27303e44505b666d798390959ea5afb6bec2c9ceccc4bdb9afaaa29f9b96918c898683817e7d7c7c7b7a7a7b7c7d7e808285888a8f92999ea1a8aeb3bcc1cbd1cfc6bfbbb2a9a299928a7e716a60564d42362c1e150b000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaeaeaeaeaeaeaeaeaeaeafb0b0b1b2b4b7b9bdbfc4c5c2bbb7b4aeacaba39f9b96918a827c736d665d564d453c342a20170c030000000000000000000000000000000000000000000000000002060a0c0c131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090c0c13131313131313131313131313131313130909070300000000000000101d2a3643505d6976828686868686868686868686868685786c5f5245392c1f1206000000000000000000000000000000000000000000000003101c28343f4a54616c7682868686868686868686868686868686868686867a6d6054473a2d211407000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3adadadadadadadada5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000008141e2b37434e5864717d8a96a1acb9c6d0c9bdb2a89d9083786c6053463d32271b0f0400000000000000000000000000030d16222f3b4854606b7683909da8b2bdcdd3c6baaea2988c7f72665c5044382a20150a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cec6b9ada197877a6d6054473a2d21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b151e28333f4a545d676e7a838e939fa4acb1b9bdc4c8cdc9c1bcb4aeaca8a09d999992908d8b8a898887878788898a8a8c8f9297979c9fa3abacb2babec5cecdc7c2bdb5aea8a09792877e716c61584e443b30231a0c03000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bababababababababbbcbcbdbebfc1c4c5c8ceccc2b8b0aaaaa29f9c99928f8a847e766e6a605c544c433b332a22180e0500000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020161613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020201615130f0a040000000000101d2a3643505d6976839093939393939393939393939285786c5f5245392c1f120600000000000000000000000000000000000000000000020c17202b3844505c66707d8a949393939393939393939393939393939393877a6d6054473a2d211407000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0babababababab1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000020f1b26323c4653606d7884919eaab4bfcacec4b8aca0958a7d7063594f43382c20150a0000000000000000000000000009141f2b37434e5863707d89959fabbac3ceccc0b6ac9f92867a6d60544a3f3428190e040000000000000000000000000000000004101d2935404b55697683909ca9b6c3cfc5b8ab9e928578675d5145392c20130600000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030c17222d38424b555e686e79818c939a9fa7acb2b8bcc3c6c9c6bfbab8b2acaaaba39f9d9a9897969594939495969697999c9ea1a9a8acafb5b9bdc4cacac7c2bcb7b0aba39f9691857d716c625a50463d32291f110800000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c7c7c7c7c7c7c7c7c8c9cacbccced1d2d4d3c7bbb0a69f9c98928f8c86827d78716c625f58514a423a312921181007000000000000000000000000000000000000000000000000010a12181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9285786c5f5245392c1f12060000000000000000000000000000000000000000000008131e2935404b55606d7884919da69f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdc6c6c6c6beb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000a151f2b3844505c66727f8c98a2aebac7d2c8bcb1a79c9083766b6054483c31261b0f030000000000000000000000020e1a26313b47535f6a76828f9ca7b1bcccd4c8bbafa49a8d8074685d5242382e231707000000000000000000000000000000000006131f2c3945515d677885919eabb8c4d0c3b6aa9d9083776a554b4135291d110400000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000006111c262f3a434d565e676d757f8890959ea1a8acb1b8b9bec4cac7c3bdb8b7b5aeacaaa7a4a3a3a2a1a0a1a1a2a3a4a6a8abadb3b5b9bbc0c7c9cec6bfbab8b0aba69f99928d847b706b625a50483e342b20170d0000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0d4d4d4d4d4d4d4d5d6d7d8d8dbdddedcd0c3b7aa9f948f8985827f7b75706c66615a534e44403930281f170f07000000000000000000000000000000000000000000000000000a131c232a2f323339393939393939393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000000000000000a131c232a2e31333939393939393939393939393939393939302f2c2721191007000000101d2a3643505d697683909ca9acacacacacacacab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000000010d1925303945515d67717e8b95a0acacacacacacacacacacacacacacaca093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad3d3cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000003101c28343f4a54606d7a86929facb6c0cccec3b7ab9f94897c6f63584e43372b1f1409000000000000000000000005121e2a36424d57626f7c88949faab9c2cdd2c6b9ac9f93877b6e62564c4130261c110600000000000000000000000000000000000714202d3a4753606d7a8697a1adb9c6cec1b5a89b8e8275685b4f422f24180d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000a141d28313b444d555d606d727c838a91969da0a7abadb3bbc4cfcec8c5c4bfbbb9b6b4b1b0afafaeadadaeafb0b1b3b5b8b9bec2c5c7cbd1cec6bcb4aeaca69f9c948f8780796e69605950483f362c22190e050000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9cacbccced1d2d5d9dedccfc2b5a99c8f827c7876726e6963605b545047433c342e271e160d050000000000000000000000000000000000000000000000000007121c252e353a3e3f464646464646464646464646464646463d3c38332b23190c03000000000000000000000000000000000000000000000000000000000000000000050f1c252d353a3e3f46464646464646464646464646464646463c3b38322b22190f040000101d2a3643505d697683909ca9b6b9b9b9b9b9b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000005111d2a36414c56606d7984919ea8b1bdb9b9b9b9b9b9b9b9b9b9b9b9ada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2ccbfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000b17232e3845525d6874818d9aa4afbbc8d4c7bcb0a69c8f82756a5f53473b31251a0e02000000000000000000000714212d3a46535f6975818e9ba6b0bbcbd4c8bcb1a79c8f8275695f53443a2f1e140a0000000000000000000000000000000000000915222f3c4855626f7b8895a9b3bec9cdc0b3a69a8d8073675a4d4034271a070000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020b161f29323b434b515b636a6f767e848b90959a9ea1a9b3bec9d5d4d1d1cbc7c5c3c0bebdbcbbbabababbbcbdbdbfc2c5c6cacfd2d4d7d0c6bcb4aaa29f9a94908a827b736d675f574f473f362d241a1007000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6bcbcbcbcbcbcbcbdbebebfc1c4c5c9ced1d2d0c3b7aa9f948f8783807c76716d66625a534d453f372e251c140b02000000000000000000000000000000000000000000000000020d18232e373f464b4c535353535353535353535353535353534948443d352b1e150b0000000000000000000000000000000000000000000000000000000000000000030d17212d373f464a4c53535353535353535353535353535353534948433d342b21160a0000101d2a3643505d697683909ca9b6c3c6c6c6c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000000040f19222d3946525e68737f8c97a1adbac3cec6c6c6c6c6c6c6c6c6c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfe2dad4cfcccbc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6dfdfdfdfdfdfdbd8d7d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000006111c2935414c56626e7b87939facb9c3cecdc2b9ac9f93877c6f62574d42362a1e130800000000000000000005111d2a36414c56616e7b87929facb9c2ccd1c5b8aca095897d7063574d4232281e0c020000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdcfcbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000040d17202931394045515860626c71797f83888d9197a1adb9c6d2dfdedcd7d3d2d0cdcbcac9c8c7c6c7c8c9c9cacccfd1d2d6dadfe0d6cabfb4aaa298928e88837d766e6a605d554d453d352d241b120800000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaafafafafafafafafb0b1b2b3b4b7b9bdc0c5c6cac7bbb0a69f9992908d89837e79716c615f57514940372e261c140a00000000000000000000000000000000000000000000000006121e2a353f495157596060606060606060606060606060606056544f473d30271d12070000000000000000000000000000000000000000000000000000000000000009141f29333f49515759606060606060606060606060606060606056544f463d32271b0f0300101d2a3643505d697683909ca9b6c3cfd2d2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000a15202a36424d57616d7a85929fa9b2beccd5d2d2d2d2d2d2d2d2d2c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d9d0c9c3bfbebcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3eceae2dad4cfcbcac6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6beb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000d1924303a47535f6a76828f9ca8b2bdc8d4c8bbafa49a8e8175695e53463a3025190d0100000000000000000a13202d3946525e6874808d99a3afbbc7d6cabeb3a99d9184776b6054453c3120160c000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcabdb1a4978a7e7164574b3e3124180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000050e171f272f353f464e545a61676d72777c8085919eabb8c4d1deebe7e3e0dfdddad7d6d6d5d4d3d4d4d5d6d7d9dbdedfe2e6ece0d3c6baaea2989286817c76716c625f57514b433c332b231b12090000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909da2a2a2a2a2a2a2a2a2a3a4a5a6a8aaacb2b3b8b9bec5c2b8b0aba39f9d9995908a847e766e69625b524940382e261c110800000000000000000000000000000000000000000000000a16222f3a46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43392e23180c030000000000000000000000000000000000000000000000000000000000030d1a25313b45515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000020b1b27323a46535f6974808d98a2aebbc4cfdee7dfdfdfdfdfdfdfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c7beb7b3b1afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d8d0c8c3bfbeb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000008131e2b37434e5863707d8a96a0acb8c5d0ccc0b6ac9f92867b6e61564c41362a1d13070000000000000006111c2935404b55616d7a86929fabb5c0cbd2c6b9ada2978b7e7165594f44332a1f0d04000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccc9bcafa396897c706356493d3023160a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000050d151d2429343d424a50585f666d71767c828f9ba8b5c2cedbe5e1dfdedad5d2d1cfcecdcccccccdceced0d2d4d7dddde0e4dfd2c5b8ac9f92857d77716d67615a534e454039312a21191109000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a77839096969696969696969696969798999b9ea0a8a7abadb3b9bbc0bdb5afaca9a79f9d96918b827b726d635c524a40382e231a0e05000000000000000000000000000000000000000000000c1825323e4b57636d7279797979797979797979797979797979706b60554b4034281f140900000000000000000000000000000000000000000000000000000000010b151f2a36424d57636d7279797979797979797979797979797979796f6b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000000000000a141d2b37434e58616e7b86929faab4becdd6e0f0ecececececece0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c9beb5aca7a4a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3e5dad0c6beb7b2b1adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada5988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000020f1a26313c4653606c7884919da9b3becad2c7bbafa3998d8074685e52463a2f24180d000000000000000c17232e3945515d6773808c98a2aebdc7d1cbc0b5ab9e9285796d6053473d3320180e00000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bbafa295887c6f6255493c2f2216090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000010c161f28313a434b545c606a6e787e83898f939eaab6c3cfdcdad5d2d1cfc9c6c5c2c1c0c0bfbfc0c1c2c4c6c7ccd2d0d3d8dfd3c6baaea298928a837e79706c615e564e463d342b22190e05000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a778389898989898989898989898a8b8b8c8e9196969a9ea1a9acafb6bec0bbb9b6b1aba8a19e948f867f736e645c524a40352c20170d020000000000000000000000000000000000000000000c1926333f4c5966727f868686868686868686868686868686867d70675c51453c31261a0d0400000000000000000000000000000000000000000000000000000007121d27313946535e69727f86868686868686868686868686868686887d6f6356493c3023160900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000000006111c262f384754606a75818e99a3aebcc5d0dfe8edecedeff3f9ede0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca39b989696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dfd4c8beb4aca6a4a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0988b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000009151f2b3744505b65727f8b97a2adbac7d2cbc0b5ab9f92867a6d61554b4035291c1207000000000003101c28343f4a54606d7985929eaab4bfcfd3c7bbafa3998d8073675d5145382c1f130600000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfc8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000008131e28313a434c555d666d727c838a90959b9ea5afbbc6d2d3cfc9c5c4c0beb9b8b5b4b4b3b2b3b3b4b5b7b9bbc0c3c4c7cdd2d5cabfb4aaa29f95908b857d756d685f584e463d342b20170c0200000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7d7e7f808184878a8d92979c9fa4acb1babec5c2bcb8b2ada69f98928b80736e645c52473e32291e14080000000000000000000000000000000000000000000713202d3a4653606d7883909a9393939393939393939393939184796d60574d42372b1f160c0100000000000000000000000000000000000000000000000000000c18242f39434f59616e7b869293939393939393939393939393978e81746b6054483b2f22150900101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000000b17222d38424f59626f7c87939fabb5bfced7e2e3e0dfe0e3e8eef5e0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d8ccbfb3a79b918b89898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989807366594d4033261a0d000a1724313d4a5764707d8a97a3b0bdcad6e3dbcfc3b7aca29b979393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7a85929fabb5c0ccd1c7baaea2988c8073675d5145392e23180c000000000006121f2c3844505c66727f8b97a2adbcc6d0d2c5b9ac9f92867b6e61554b4035291d10040000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000060f19242f3a434c565d676d787f8690959d9fa7aaafb8c1cccbc7c4bdb9b8b3b3adaba9a8a7a6a5a6a7a7a8aaacafb5b6b7bbc2c5c9cfc6bcb4aea7a09d97918a817a6f6a60584f473d32291e130800000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f6f6f6f6f6f6f6f6f6f6f6f7071727375777a7d80858a8f939a9fa7adb3bbc4c7c4bdb9b0aaa29f928c80736e64594f443b3025190e04000000000000000000000000000000000000000006121f2c3844515c666f7d88939fa99f9f9f9f9f9f9f9f9fa0968c7f73695f53463e31281e13080000000000000000000000000000000000000000000000000004101d2935404b55616b75828f98a29f9f9f9f9f9f9f9f9f9fa69e92857a6d60594f43382c1f130700101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000000030f1c28333f4a54616b76828f9aa4afbdc6d1e0dcd7d3d2d3d7dce3eae0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cbbeb1a4988b7f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6154483b2e211508000a1724313d4a5764707d8a97a3b0bdcad6e3d8cbbfb2a69b908b868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7265584c3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6773808d99a4afbbc7d4cabfb4aa9f92857a6d60544a4034281b1106000000030f1b27333f4953606d7984919ea9b3beced4c8bcb1a79b8e8175695e5243392f24180c000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030d17212935414c565d686d79828c92989fa7abb1b6bbc1cac6bfbab9b2adaba6a9a19e9c9b9a9999999a9b9b9d9fa4aba9abb0b8b9bdc4cbc6bfbab1aca9a19e938e857c6f6a60594f443a3025190c030000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f6263636363636363636363636364656668686d7074797d828790959fa2a9b2bac3cbc9c2bcb4aea49c928d80736b61564c41362a21160b000000000000000000000000000000000000000004101c2834404a54606b74818e97a1adacacacacacacacb2a89f92867b6e615a50433a2f24190b020000000000000000000000000000000000000000000000040d1b242c3945515d67707d8a939eaab4acacacacacacacb4ab9f948b7e71685d52463d32271b0f0300101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000000020c16202b3844505b66707d8a949facb6c0cfd8d9d1cbc7c5c7cbd1d9e1ead3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6e695e53463a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a4978b7e7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000001040607090a0c0d0d0e0e0d0d0c0a080605030000000a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000006111b2935404b55616e7b87939facb9c3cdd0c6baada2978c7f72665c5144382d22170b00000005121f2b3744505b65717e8b96a1acbbc5cfd1c4b8ab9f95897c6f62574d4231271d1207000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c7bbaea194887b6e6155483b2e2215090907060401000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000009141f29333b45525d686d7a828f949fa3aab1b8bcc2c6c9c1bdb4aeaca8a19e9a9797928f8e8d8d8c8c8d8e8f919399989c9fa6abadb2babfc6cac3bcb8b3ada59e9792857c6f6b60564c41362a1e150b00000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e5355565656565656565656565657585859565e6163666d71767c838b9297a0a8b1b9c3cbcec6bfbaaea49d928a7d70685e52463d32271b100400000000000000000000000000000000000000000c18232e39424f59616d7a85929ea6b0bcb9b9b9b9b9baaea3988f82766c61554c4135291d140a00000000000000000000000000000000000000000000010c16202b37434e58606d7984919ea5afbcb9b9b9b9b9b9baaea3998f82766c61564c41342b21160a0000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000000008131e2834404b55606c7883909da6b0bec7d2d8cfc7c0bbb9bbc0c7cfd9e3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363615e574d42362a1e1205000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d716d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000000020507070d1113141517191a1a1b1b1a1919171513120f0b06060a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000d18242f3a46535f6975828f9ba7b1bcc8d4cabeb3a99e9184796d6053493f33271b0f0300000613202d394653606c7883909da8b2bdcdd5c9bdb2a89d9083766a6054453b301f150b01000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221615151413110d070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000020e1a26313b45505a606d7a8390949fa6aeb4bcc2c8ccc4bdb9b0aba39f9b96918d8a8785828181807f808081828486898c9094999ea1a8aeb4bcc2cac8c4beb9afa9a19792867d6f685e52463f30271d1207000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474949494949494949494949494a4b4c4d4c5254545c60646a6f787e859196a0a7b1b9c3ced0cabfb6aea49e92857a6e61594f44382c20150a000000000000000000000000000000000000000007121c27303d46525d68717e8b949faab4bfcbc6c6cbbfb4aa9f948a7e71675d51453c2f261c110600000000000000000000000000000000000000000008131e28323a47535f6a73808d96a1acb8c1cec6c6c6c9bdb2a89f92867b6e625a50443a3022190f040000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000000010d1924303845515c67717e8b95a0acb8c2d0d8cec6bdb5afacafb5bdc7d1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654534d453b31251a0e02000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d71646060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c544a4034281c10040000000000000000000000000000000000000000000000000000000105090e121415181d2020222426262727282726252422201f1b1714120f1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000007131d2a36424d5763707d8995a0acb8c5cfcfc5b9ada1968b7e71655b5044372b1f160b0007131f2c38434e5863707d8a95a0acbac4ced2c5b9ada1968a7e7164584e4333291f0d0300000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bdb0a3968a7d7063574a3d312622222221201d18130c04000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000005121e2a36424d57626c75818e959fa6b0babfc6cfccc3bab2ada69e99928e8984807d7b78767574737273747475777a7c7f83888c91969fa3aab0b8c0c9cfc9c1bbb3a9a29891857a6d615a5043392e23180c00000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c3c3c3c3c3c3c3c3c3c3c3c3d3e3f404146474b51535860666c727b849095a0a7b1bcc6d0d6c8c0b9ada1978f82766b6054483c31261b0f0300000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9d0c6bcb0a69e91847a6d60584e42382d22170b0200000000000000000000000000000000000000020b19242f3a44505a626e7c87929fa8b2bdcad3d2d7cec5b9aca0968c8073695f53483e32281e1007000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000004111d2935414c56606d7984919ea7b1bccad4d0c6bcb4aba39fa3abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494846423b33291f140900000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164575353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514a42392e23180c000000000000000000000000000000000000000000000000000002080d11141a1e212124292c2d2f313233343434343332302e2d2b2722211f1a1724313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000010e1a26313b4854606b7783909da9b3bec9d5c9bdb2a89d9184786c6053463d32271b10040915222e3b4854606a7683909ca7b1bcccd6cabfb4aa9e9184796d6053463d3220170d0000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfccbfb2a6998c7f7366574d42362f2f2f2f2d2c29241d160d040000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000714212d3a46535f69717e8b939ea7b0b9c2cbd1cbc2b9b1a8a19e948f86817d7873716e69696867666666676868676d7072767b80848c92989fa6afb7c0c8d5cdc5bbb3aaa1978f82756c62554b4034281c11060000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303031323036393a4045464e545b60696e7a839095a0aab4bfcad6d5c9beb3a99f94897d7063584e43372b1f12060000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d8cec2b9ada1978d80746a5f544a3f33281e1408000000000000000000000000000000000000000a141d2935414c56616c76828f99a3aebac4cedcdbd0c5bcafa59e9184796d60574d42362d20160c00000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000000040e18222c3945525d68727f8c96a1acb9c3ced6cabfb4aaa2999299a3afbbc7d3d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b3a36312921170d0300000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a4747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474644403930271c120700000000000000000000000000000000000000000000000003090e14191e20252a2d2e2f35393a3c3d3f4040414140403f3d3b3937332d2e2b262024313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000009141f2c38444f5965717e8b97a1adb9c6d1cfc4b8aca0958a7d7064594f44382c20150a121e2b37424e57626f7c89949fabb9c3ced3c7baaea2988c7f72665c5044382c1f120500000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1d1cfc2b6a99c8f8276695f5346403c3c3c3c3a39352f281f160c0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000005121e2a36424d57616e7b86929fa5afb9c2cbd7ccc2b9b1a7a096918a827b75706c6664615e575b5a5a59595a5b555d606365696e73797f868f949da5aeb6c0c9d3cdc5bcb3a99e948b7e71675c5145382e23170b0000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222323232323232323232323242525252a2d2e34383d424a50575f686e79839098a2aebac3cdd8cfc5bbb0a69c8f82756a5f53473a2e21150a00000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d5c9beb2a99f92877c6f665b50443b3025190c03000000000000000000000000000000000006111c262f3845525d68717e8a949fabb5bfccd6e1d6cabeb3aa9e93897d70675c51453c31241b0e0400000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000000a15202a36424d57606d7a85929fa8b2bdcbd5d3c6baaea2989286929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302e2d2a251f170f050000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b000000000000000000000000000000000000000000000002090e151a1e252a2d31363a3b3e404547484a4c4d4d4e4e4d4c4c4a4846443f3b3a37312c29313d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000003101b27323d4753606d7985929eabb5bfcbd4c8bdb1a89d9083766b6054483c32261b0f14212e3a47535f6a75828f9ba6b0bbcbd5d2c5b8ac9f92867a6d61544a3f34281c100300000000000000000000000000000000000000000000000d192633404c5966737f8c99abb5bfcbd2c6b9ac9f93877b6e615a514b494848484745413a31281d130700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000714212d3a46535e6974818e98a2aeb7c1cbd4d0c4bab1a79f9591847d756e6963605b5454534d4e4e4d4c4d4d4e4b515456575f61676d737b828e939ca4aeb7c1ccd6cec4bbb0a69e9184796d60544a3f34281c10030000000000000000000000000000000000000000000000000000000000030608090c07060a0f1315161616161616161616161616171819191d2023282c2f383f444d565e676e7c86929fa7b1bcc8d4d6cdc2b7aa9e94887c6f6255483c31261a0f020000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfdacfc4bbafa3999083786c60564c41362a1e150b00000000000000000000000000000000000b17222d38424e58606d7a85929ea6b0bdc6d1ded9cfc7baaea2988e81756b60554b40332a2012090000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000000020b1b26313a46525e6973808d97a2adbac4cedfd2c5b8ac9f9286808d99a6b3c0ccd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321211e1a140d05000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e312d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231c150c0300000000000000000000000000000000000000000000060c141a20262b3036393b4246484b4b5153555759595a5a5b5a595857555350494847433c39352f3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000b161f2c3845515c6773808c99a3aebbc7d3cec3b8ab9f95897c7063584e43372b1f141e2a36424d57626e7b87939facb9c2cdd3c7bbb0a69a8e8174685e5242382e23170c0000000000000000000000000000000000000000000000000a1724313d4a5764707d8a99a3aebbc7d3c8bbafa49a8e81746c605c555655555554514b433a2f24180d01000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000003101c28343f4a54616e7b87929faab4bfc9d3d2c7beb2a89f9590837b706c615f5753504a4846424241403f404141414547494d53555c60696e78818d929ca5afbac4cfd6cdc1b9ada1968b7e72665c5044382b1f1206000000000000000000000000000000000000000000000000000003060a0f121515191413100c07080909090909090909090909090a0b080d1113181c1f262d333c444c555f6a727e8b959fabb8c5d0dbd3c7bbb0a69b8e817468584e43372b1f1206000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d7cbc0b5ab9f958b7f72685e52463d30271d1207000000000000000000000000000000030f1c28333f4a54606a74808d97a1adb8c2cfd8dcd1c7bdb1a79f92857b6e61594f43392f21180e000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000000000000a141d2b37434e58616e7b86929fa9b3beccd6d5c9beb3a99b8f81808d9aa7b3c0cdd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b03000000000000000000000000000000000000000000030a11171f252a31373b4146474d535458555d60626465666767676766656361605b5355534e4745413a3d4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b86929facb9c2cdd4c8bcb1a79c8f82766a5f53473b31261a202d3a46525e6974818e9aa4afbbc8d4d0c3b7ab9f94887c6f62564c4130261c11060000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c3d0ccc0b6ac9e938b7e736d676463626262605d554b4135291d1104000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2c3844505c6674818d99a3afbcc6d0d8ccc0b6aca19690837a6e69615a534d46443f3b3a363134333333342f35393a3d42464b51575f666c74808d939ea8b2bdc9d5d5c9bdb2a99e9184786d6053463a2d201308000000000000000000000000000000000000000000000104060c1012131b1f212226201f1d18120b0300000000000000000000000000000105070c10141c2228323b434e58626d7783909daab3becad6d7ccc1b8ab9e9285786a5f53473a2e211408000000000000000000000000000000000000000000000915202834404b55606b75818e97a2adbac2cfd9d1c7bdb1a79f92857a6e61594f43392e23180c0300000000000000000000000000030c19232b3844505b666f7c87939fa9b3becad4e1d7cbc0b5ab9f958b7f72685e52473d31271d0f06000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000000006111b262f3847535f6a74818e98a3aebbc5cfded2c6b9ada1978a7e818e9ba8b4c1ced3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090908070502000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e31241714141414141414141414141414141414141414141414141414141414141414141414141414141414141312100c0700000000000000000000000000000000000000000000050c151c232830363c42474c5254575e616568676d6f707273737474737372706e6c6566625f5854514c45414a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e6975818e9ba7b1bcc7d4cdc2b7aa9e94887c6f62574d42362a1e2935414c56616e7b86929facb6c0ccd4c8bdb2a89c8f82766a5f53443a301e150a000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca7b1bdc7d2c7beafa59f93887f7974716f6f6f6f6d675d5145392c201306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000713202d3a4653606d7985929fabb5c0ced7d4c8bbafa49a91847a6d685e575046423c38332d2d2a25272726262724292c2d31373940454d545b606e75818e96a1adb9c3ced9cfc4b9aca096897c6f6356493c3025190e020000000000000000000000000000000000000205070d1113171c1f20262b2e2f332d2c29241d150d030000000000000000000000000000000000040a11172029313c46515b65717e8b98a2aebac6d3dfd2c6b9ada197887b6e6255483b2f22150800000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa7b1bdc7d1d9cfc2baada2978e81756b60554b4034281f1409000000000000000000000000000b151e2a36414c56606c78839099a4afbbc5cfdcdcd4c7bbafa3999083786c60564d41352c1f150b00000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000000b17222d38414f59626f7c87939faab4bfcdd7d7cbc0b5ab9e928579828f9ca9b5c2cfd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b070707070707070707070707070707070707070707070707070707070707070707070707070707070706040000000000000000000000000000000000000000000000070e171e262e343b42464d53565e6165696e7174777a7c7d7f80808181807f7f7d7b7976726e6a65605d55524c4a5764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d56626f7c89959fabb8c4cfd3c7bbb0a69b8e8175695f53463a30252c3945525d6873808d99a3aebec7d2d2c5b8aca0968a7d7063584e4332281e0c030000000000000000000000000000000000000000000000000004111d2935414b5563707d8a95a0abb5c0c7d0c1bbafa49a938c84807d7c7b7b7b796d6054473a2d211407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000a1623303d495663707d8997a2adbdc7d1d8ccc0b6ac9f93887d70685e564d453e37312b2822211e1a1b1a191a1a181d2021262b2f343b424a505c606d7a84919ea7b1bcc8d4d5c9bdb2a89a8d807367564d41362a1e11050000000000000000000000000000000002090e1114181d2023282c2d31373a3c3f3a38352f271f150b01000000000000000000000000000000000000060e171f2a333f4753606d7a85929fabb8c5d2ded5c9beb3a9988b7e7265584b3f32251806000000000000000000000000000000000000000000000007121d27303d46525e68727e8b959fabb5c0cbd7d6cabeb3a99e93897d70675c51453c31261a0d04000000000000000000000007121d27303946525e68727f8b95a0abb5c0cdd6e0d5c9bdb2a99f92877c6f665b50443b30231a0d0300000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000000030f1b27333f4953606b75828f99a4afbcc6d0dfd4c7bbafa3998c807683909da9b6c3d0d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081119202930383f444d52575f62686e72767b7e818486888a8c8c8d8d8e8d8c8b8a8885837f7b77726d67605d56505764707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000010e1925303b4754606a7683909da8b2bdc9d5ccc2b9ac9f92877b6e61564c41362a34404b55606d7a85929fabb4bfd0d6cabeb3a99e9184786c6053463c3120160c0000000000000000000000000000000000000000000000000000010d18242f3a4653606c78839099a4afb6bec4c7c0b6aca49f96918d8a898888887d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a546774808d9aa9b3becfd9d4c8bbafa49a8d81746b60564c443b332b261f1c1714120e090d0c0d070d1113141a1d23292f383f45525d68707d8a95a0acb8c7d1d9cec4b7aa9d918477685e5246392d2014070000000000000000000000000000050b1014191e2024292c2e34383a3d4347484c4745403931271d120700000000000000000000000000000000000000050d18212c3945515d6775818e9ba8b4c1cedbdacfc1b5a89b8e8275685b4f422d22170b0000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4cedad0c5bcafa59d9184796d60574d42372b1f160c01000000000000000000000c18232e39424f59616e7a85929fa7b1bdc7d2dfd8cec6b9ada1968d80746a5f544a3f32291f11080000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000000010c161f2b3744505b65707d89949eabb5c0ced8dfd2c5b9ac9f92877b7784919eaab7c4d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a232b323b424a50575e61696e747a7f83878b8e9196959798999a9a9a9a99989698928f8c88847f7a736d68605b5364707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000009141f2b37434e5864717e8a96a1adb9c6d0d4c7bbafa3998d8174685e52463a2f3845515c67727f8c98a2aebdc6d1d3c6baada2978b7f72655b5044372b1f120400000000000000000000000000000000000000000000000000000007131f2b3844505b666f7c87939fa4acb2b9bbc0beb6afa8a19e9a979695958a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667784909daab7c3cfddd2c6b9ac9f93877b6e61594f443a3229211a140f0b0605020000000000010406090e12181d262d35414c56616b7783909dabb5c0cbd7d1c5b8aca096877a6e6154473b2e211408000000000000000000000000000810171c1f252a2d2f35393a3f4446494e53555953514b43392f24180c000000000000000000000000000000000000000006101d2935404b556673808c99a6b3bfccd9ddd0c4b7aa9d9184776a544a3f33281c0f030000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d7cec1b8aca0968c7f73695f53463e31281e130800000000000000000004101c2834404b54606b75818e97a2adb9c3d0d9dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000000007131d2834404a54606c7883909da6b0bdc7d2e0d4c8bcb1a79b8f82757885929eabb8c5d1d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242c353d444d545c60696e757b81868b9095989b9ea0a8a3a5a6a6a7a7a6a6a5aaa29f9c9996918b85807a716c655d64707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4653606d7984919eaab4bfcbd6cbc0b5ab9f92867a6d61554b41353f4a54606d7985919eaab4becfd7cbc0b5ab9f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a727f8c939aa1a8acafb5bdc0bbb2adaba7a4a2a2978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dccfc2b6a99c8f8276695e53473d322820170f09030000000000000000000000000001070b141c242f3a444f5965727f8c99a3afbbc7d4d4c8bdb2a896897d706356493d3023160a00000000000000000000000008121a22282d30363a3b4145474a505356585f6266605d554b4035291d100400000000000000000000000000000000000000010d18242f3e4b5864717e8b97a4b1becad7ded1c5b8ab9e928578665b5044382b1f120600000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d4c8bdb2a89f92867b6e615a50433a2f24190b0200000000000000040d1a242c3845515c66707d89939ea9b3becbd5e2d6cabfb4aa9e948a7e71675d51463c2f261c0e05000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000000000010d18242f3844515c66717e8a959fabb8c1d0d9ded1c4b8aca095897d707986929facb9c5d2d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363e474f565e666d727b81878e92999d9fa7a7aaacb2b0b2b3b3b4b4b3b2b2b4aeaca9a8a09d98928d857e776d6864707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3844505c66727f8c98a3aebac7d3d1c7baaea3988d8073675d51453944505b66727e8b97a1adbcc5d0d4c7bbafa3998d8073675d5141382d22170b00000000000000000000000000000000000000000000000000000000000b17222d38424e58626d737f8891969b9fa4abb5c0c4bdb9b8b3b0afa3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8899a3aebac7d3d7ccc0b5ab978a7e7164574d42352b20160e050000000000000000000000000000000000020a131e28323e4754616e7a86929facb9c5d2d9cebeb2a5988b7f7265584c3f3225190c000000000000000000000005101a242c33393b4246474b5154545c6063676a6f726d675d5145382c1f13060000000000000000000000000000000000000000071623303d495663707c8996a3afbcc9d6dfd2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0d9cec3baaea3988f82766c61554c4135291d140a000000000000010c161f2a36424d57606d7984919da5afbcc5d0dddbd3c7baaea2988f82756c61554b41342a1d140a00000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000004111d2935414b55606d7984919ea7b1bccad3e2d5c9bdb2a89d9083776d7a8799a3afbbc7d4d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d363e48505960696e787f868e93999fa3ababb1b4b7b8bdbdbfbfc0c0c1c0bfbebfbab8b6b2acaaa29f97928b827a6e69707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616d7a86929facb8c2cdd6cbbfb4aa9f92857a6d60544b404653606c7884919ea9b3beced7d2c5b9ac9f92877b6e61554b402f261b1106000000000000000000000000000000000000000000000000000000000006111c262f3d46515b636d737d848b8f9399a4afbbc7c9c5c4c0bdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000a1724313d4a5764707d8a97abb4bfcbd7d4c7bbafa499877b6e6154483b3121190d0400000000000000000000000000000000000000010c16202d3946525e687784919daab7c4d0dacdc0b4a79a8d8174675a4e4134271b0e01000000000000000000000b17222c363e44494d5254555d6064666d7074777b7f796d6053473a2d22170b00000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e0d4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6d7cbbfb4aa9f948a7e71675d51453c2f261c1106000000000007131d28313a46535f69737f8c96a0acb7c1ced7dfd4c8bcb1a79f92867b6e615a50433a2f22190b0200000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000000030e18212c3945515d67727f8b96a0acb9c3cddcded2c5b9aca0968a7e716e7b8794abb5c0cbd7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c363e48505a616b707b828c92989fa4abaeb4b8bcc1c4c5c8cecbcccdcdcccac9d0cac6c5c2bdb8b4aea9a19e948f847b6e707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6874818e9aa6b0bbc7d3d0c6baada2978c7f72665c51454f5964717e8a96a0acbbc4cfd4c8bcb1a79b8f8275695e53433a2f1d140a000000000000000000000000000000000000000000000000000000000000000a141d2b343f49515b636c70797e8286939facb9c6d2d2d1cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1825323e4b5865717e8b98a4b1bed1dcd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000005111e2a36414c566976828f9ca9b5c2cfdbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000004101c28333e485055565e6165676d7175797c808488897d706353493f33271b0f05000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7e3d7ccc0b5ab95887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000a141d2935404b55616b75828f98a2aebac3d0d9d1c6bcb0a69e91847a6d60584e42382d22170b02000000020b18242f3a43505a616e7b86929fa8b2bdc9d3e0d7cdc5b8aca0958c7f72695f53483e31281d10070000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000000915202a36414d56606d7a85929ea8b2bdcbd4dfd5c9beb3a99e9184786d6f7b8895a2aebbd1dcd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616c717d8590949fa2aaafb5babfc6c7cdd1d2cfcac6c5c2c0bfbebdbdbec0c1c4c6c5bebab3ada69e9691847b707d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c56626f7c88949fabb7c4ced6cabeb3a99e9184796d60544a54606b7783909da8b2bdcdd6d1c4b8aba095897c6f63574d4231281d0b02000000000000000000000000000000000000000000000000000000000000010b151f2834404a545c606d727a80849199a4afbbc7d4d1d0cabdb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1925323f4c5865727f8b98a5b2becbd8d1c4b8ab9e918578665c5144382c1f1206000000000000000000000000000000000000000000020e192530414e5b6874818e9ba7b4c1cedacfc2b5a99c8f8276695c4f4336291c10030000000000000000000814202d3944505a6164696e72767a7d8185898d91968d8073655b5044372b20170b020000000000000000000000000000000000030f1b27333f495366727f8c99a5b2bfccd8e8ddd2bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2d8cfc2b9ada1978d80746a60544a3f33281e14080000000a141d2935404b55616c75828f98a2aebac3cedbdacfc5bbafa59d9183786d60574d42362c1f160c000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000000020e1a26313946525e6873808c97a1adbac4ceddded2c6b9ada1978b7e72666f7c8995a2afbcc8d5d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d46505a616c717e8792979fa6aeb4bbc0c7cbd1d4cec8c5c4beb9b8b5b3b2b1b0b0b2b3b4b8b9bec4c5beb9b0a8a09691847a7d8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303a47535f6a76828f9ca8b2bdc9d5d0c5b9ada1978b7e71665b505863707d89959fabbac3ced5c9beb3a99d9083776b6054453b311f160c0000000000000000000000000000000000000000000000000000000000000007121d27313944515c666d757f868d9196a0abb5c0ccc8c5c4bfbcb0a3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d192633404c5966737f8c99a6b2bfccd9d0c3b6aa9d9083776a544a4034281c100400000000000000000000000000000000000000000000081a2733404d5a6673808d99a6b3c0ccd9cfc3b6a99c908376695d5043362a1d10030000000000000000000a1623303c4955616c70777b7e82868a8e92979a9e9e9184786c6053463e32291d140b020000000000000000000000000000000005121f2b3744505b6574818d9aa7b4c0cddae2d6cabeb3a994877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b95a0abb5c0ccd7d5c9beb2a99f93877c6f665b50443b3025190c030006111b262f3845515d67707d8a949eaab4bfccd5e1d6cabeb3a99d93897d70665c51453b31241a0d04000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000006121e2b37424d57616e7b86929fa9b3beccd5e0d5c9bdb2a89e9185796d63707d8996a3b0bcc9d6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1925303b444e58616c717e879299a1a9b0babec5ccd2d6cec9c3bdb8b7b3adaba8a7a5a4a3a4a5a6a8abadb3b7b9bdc1bab2a9a0968f817e8a97a3b0bdcad6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5864707d8a96a0acb9c5d0d5c9beb2a99d9184786c60535f6a76828f9ca7b1bcccd5d2c6b9ada1978b7e7164594f4433291f0d04000000000000000000000000000000000000000000000000000000000000000c18232f3943505a606d78818c92989ea0a8b2bdc7c3bdb8b7b2afaea3978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000d1a2633404d596673808c99a6b3bfccd9d1c4b8ab9e918578665c5044382c1f1206000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad0c3b6aa9d9083776a5d5044372a1d11040000000000000000000a1724313d4a5764707e83878b8f92989b9ea2a9aaa0968a7d70645a50443b2f261d140c05000000000000000000000000000208121a202d394653606c7884919eabb8c4d1dedfd2c6b9ada297867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc4cfdacfc4bbafa4999083786c60564c41362a1e150b000b17222d38414e58606d7984919ea6b0bcc6d0ded8cfc6b9ada1978e81746b60544a4033291f120800000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000000020c1a232e3a47535f6974818d98a2aebbc5cfdeddd2c5b9ada1968b7f726764707d8a97a3b0bdcad6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202a36424d56606a717e879299a3abb3bbc2cad0d7d0cac4bdb9b2acaaa9a19e9b9a9997969798999b9ea1a9abacb2b9bebbb2a89e938e818e9ba8b4c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b26313c4653606c7884919eaab4becad6cfc4b8aca0968a7d716459626f7c88949fabb9c3cdd7cbbfb4aa9e9185796d6053463d3220170d0000000000000000000000000000000000000000000000000000000000000004101c2934404b55616c74808d939fa2aaacb2bac4bfbbb1acaaa6a3a1a1978a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1926333f4c5966727f8c99a5b2bfccd8d2c6b9ac9f9386796d6053463a2d20130900000000000000000000000000000000000000000005121e2a36424d576976828f9ca9b5c2cfdccfc2b6a99c8f8376695c504336291d10030000000000000000000b1824313e4b5764717e8a939a9c9fa3aaabadb3b2a89d9083776c61564d41382f261e170f0b0600000000000000000003070d1319242a36424d57626f7c8996a1adb9c5d2dfded1c5b8ab9e928578675d5145392c20130600000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939fa9b2bdc9d5d7ccc0b5ab9f958b7f72685e52463d30271d12070f1b27333f49535f6a73808d96a1adb8c1ced8dcd1c6bdb0a69e92857a6d61594f42392e21180d0000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000000000a141e2c38434f59626e7b87929faab4bfcdd6dfd5c9bdb2a89e9184796d6064717e8b97a4b1becad7d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b46525e696f7c869299a3abb5bdc5cdd6d6cec5bebab2aca8a09e9a97928f8d8c8b8a8a8b8d8e9197999ea1a8adb3bbbaafa59e938e939eaab6c2cfdbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3844505b66727f8b98a2aebac7d2d4c8bdb2a89d9083776b606975818e9ba6b0bbcbd4d3c7baaea3988c7f73665c5145382c1f13050000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8a929da5aeb4b9bdc4bdb5aea8a09d99969594948a7d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000c1825323f4b5865727e8b98a5b1bed1dcd4c7bbafa499877b6e6154483b30251a0d0400000000000000000000000000000000000000020b14212d3a46535e697784919daab7c4d0dbcec2b5a89b8f8275685c4f4235291c0f020000000000000000000714212d3a4754606d7a86929facacaeb4b8b9beb8ab9f958a7d70685e534941383029201b17110e090a09080809060b0f12181e252a363e46535f6974808d9aa8b2bdc9d5e1dccfc3b6a99c90837669554b4035291d1104000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d96a1adb9c1ced8d2c7bdb1a79f92857a6e61594f43392e23180c19222b3744505b656f7c87929fa8b2bdcad3e0d7cbbfb5ab9f948b7e71685e52473d30271c0f060000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000000006111c2630384854606b75828f99a3afbcc6d0dfd9cdc5b9aca1968b7e72675c65727e8b98a5b1becbd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b44505a616e7b849198a2abb5bdc7cfd6d5ccc4bcb3aea8a19e96918d898582807f7e7d7d7f808185898d91969ea1a9afb6b7afa59e9b9ea5afbac6d2ded8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7a85929facb6c0ccd8cec3b8ab9f95897d70636e7b87929facb9c2ccdfd2c5b9ac9f92867a6d61544b4034281c1004000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7984919ea4aebabfc5c7beb5aba39f95918c89888787877d7064574a3d3124170a000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000b1724313e4a5764717d8a97aab4bfcbd7d7ccc0b5ab978a7e7164574d42362a1f160d040000000000000000000000000000000000020b141d29323b4854616e7b87939facb9c6d2dacec1b4a79b8e8174685b4e4135281b0e020000000000000000000713202c3945525d6876828f9caab4babfc5c6c8bcb1a79e92857a6e655b534a423a322b27221b1a17171615151617171c1f242930363e48505a616e7b86929facb8c4cfdae4d8ccc0b6ac9a8e8174675b4e412f24180d010000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7a84919ea6b0bcc6d0d9d0c3baaea2988e81756b60554b4034281f151e2935414c56606c77839099a3afbac4cfdcdbd3c7bbaea3999082776c60564c41352b1e150b000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000000000b17232e3842505a636f7c89939eabb5c0ced7e2d4c8bcb1a79e9184796d605566727f8c99a5b2bfccd8d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626c76828f96a1aab4bdc7cfd9d4cbc3bab2aaa29f96918a84807c79757472717071727375787c80848b92979fa4acb4b7afaaa8aaafb7c1cbd7e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3845515d6774808d9aa4afbbc8d4d4c8bcb1a79c8f82766a74818d99a3afbbc7d4d3c7bbb0a69b8e8174685e5242392e23180c0000000000000000000000000000000000000000000000000000000000000005111e2a36424d5765727e8b96a1acb6c0caccc0b6aca399928b847f7c7b7b7a7b796d6053473a2d201407000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000815222f3b4855626e7b8898a3aebac7d3ddd2c2b5a99c8f8276695e52463d31281f160e08020000000000000000000000000000070c141d262f3b44505a66737f8c9aa4afbbc8d4d8cbbfb2a5988c7f7265594c3f3226190c0000000000000000000004111d2935414c5665727e8b98a2aebac5d0d2cdc3b9ada1978f82776c655c544c443e37332d2a262423222122232322282b2f353a4146505a626c75828f98a3aebac7d6e0e0d4c8bbafa49a8a7e7164574b3e312418070000000000000000000000000000000000000000000000000000000000000006111c26303c45515d67717e8a949eaab4bfcad6d6cabeb3aa9e93897d70675c51453c31261c26303846525e68717e8b949fabb5c0ccd6e0d5c9bdb2a89f92877c6f655b50443a3023190c03000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000000003101c28343f4a54616c7683909ca5afbdc7d1e0d9d0c7b8aca0958a7e71665c596673808c99a6b3bfccd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202d3946525e68717e8b949fa9b2bcc6d0d9d4cac2b9b1a8a098928c847e78736f6d6667666463646566656c6f73797f858d939aa2aab2bab6b4b6bac1c9d3dde4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935414c55616e7b87939facb9c3ced8cdc3b7ab9f94887c6f7a86929fabb5c0cbd7d0c4b7ab9f94887c6f62564c4130271d1207000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697683909ca8b2bdc8d4c8bbafa49a92877f7873706e6e6e6e6d675c5145382c1f1306000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000713202d3a4653606d7986929facb9c5d2dfd2c6b9ac9f93877b6e61594f433a31282019130e090603000000000000000205080d12181e262f38414d56626c7784919dacb6c0ccd8d4c8bcb1a7968a7d7063574a3d3024170a00000000000000000000010d19242f3a4754616d7a86929faab3becad6d5c9beb3a99f948d80776d665e565046443f38363131302f2e2e2f302d33383940454c525a616c717e8b949eaab4bfcbd6e8dfd2c6b9ac9f93877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f98a2aebac3d0d9d0c5bcafa59e9184796d60574d42372b232e38424f59616d7a85929ea6b0bdc7d1ded7cec5b9aca1968d80736a5f53493f32281e110700000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000000020c16202b3844505c66707d8a949fabb7c1cfd9ddd2c7beb0a69d9083786c60545a6773808d9aa6b3c0cdd9d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090707070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2a36424d57616e7a85929fa6b0bbc4ced8d6ccc2b8b0a7a09691857f79716c6563605c545958575758535b6062666d727980889298a1a8b2bbc1c2c6cbd3dbe5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d19242f3a47535f6975828f9ca7b1bcc8d4d3c7bbb0a69b8e8175808c98a3aebdc7d1d5c9bdb2a89c8f83766a5f53443a301e150b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b87939facb9c4cecbc0b5ab9f93887d726d666362616161605c554b4034291c1004000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000006121f2b3844505c667683909ca9b6c3cdd8d4c7bbafa4998d80746b60554b433a3229251e1a1312100b060b0a0b0c090e1214191c23283038424a535e68717e8b96a0acbec7d2ddd1c4b8aca095877a6e6154473b2e21140800000000000000000000000813202d3946525e6873808d98a2aebac5d0d9cfc5bbb0a69d928d81786d68615a53504946423f3e3d3c3b3b3c3d3e3f44464b51565e616c717e87929fa6b0bcc6d0dce2d6cabeb3a99d908376685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b86929fa7b1bec7d2d7cec1b9aca0968c7f73695f53473e3128343f4a54606b74818e97a1adb8c2cfd9dbd0c5bcafa59e9184796d60584e41382d20160c0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600000008131e2935404b55606d7884919da6b0bcc9d3e1d8ccc0b6ac9f94897d70655b505a6774808d9aa7b3c0cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231614141414141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46535f6974818d97a2adb8c2cdd6d9d0c4bab0a69f9590847b726d67605b5353504a4c4b4a4a4c495053545c60676d737e869196a1a9b3bdc6d1d7dde5ede4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4233271c0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37424d5763707d8995a0acb8c5cfd8ccc2b9ac9f93877c85929faab4bfcfd9d2c5b9aca0968a7d7064584e4332291e0c0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a9aa4afbbc8d3c7bbafa3998d80746b605c545554545453514b43392f23180c00000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000003101c28343f4a5466727f8c99a7b1bcc8d4d7ccc0b5ab9f93877d6f675d554c443d35302b26201f1c171918171718191a1e21252a2e343c424a545b656e7b85929fa8b2bdd0d9ddd0c3b6aa9d908377685e5246392d201407000000000000000000000005111d2a36414c56616d7a85929fa9b3bec7d2d6cdc2b8aea49d938e827a716c63605b53534d4c4a4a494848494a4b4a5053555d60686d757e879299a3afb8c1ced8e2dbd3c6baada2978b7e7164564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000008131e28313e46535e69727f8c95a0acb6c0ccd8d4c8bdb2a89f92867b6e615a50433a2f3844505c666f7c87939fa9b3becbd4e1d6cabfb4aa9e938a7d70675d51463c2f261b0e050000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12060000010d1925303945515d67717e8b95a0acb8c2cddbe0d4c8bbafa49a8f82766b6053495b6774818e9aa7b4c1cddad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23212121212121212121212121212121212121212121212121212121212121212121212121212121201f1c18120b03000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616e7b86929fa9b3becad4ddd2c7beb2a89f9490837a6e69605c55504946443f3f3e3d3e3f3f44464b51555d606c707c849197a2abb5bfcbd7dfeaf5e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569594f44382c20170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313c4854606b7784919da9b3becad6d4c7bbafa49991859197a2adbcc6d0d6cabfb4aa9e9184786c6053463c3220170d0000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99acb6c0ccd2c5b9ac9f92867a6e6159504a484847474745403931271d120700000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000b17232e3c4855626f7b88959fabb8c4cedad2c7bbafa4999184796d675e564e46413a37312d2b2823252524242526262a2d30363940444d545c666c77828f97a2adbac3cee2d3c7bbb0a6998c807366564d41362a1e11050000000000000000000000010d1925303a46525e6873808c97a1acb6c0ccd8d4cac0b7aea59e948f857e76706c65615f57595756555455565657545b6062676d727a818a9299a3abb5c0cad3e0ded5c9bdb2a99f9285796d6053473a3025190d01000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfd9cec3baaea3988f82766c61564c4136424d57606d7883909aa4afbbc5cfddd9d0c7baaea2988f82756b61554b40342a1d140a000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000005111d2a36414c56606d7984919ea7b1bccbd4ded7cbbfb4ab9f93877c6f62594f4e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c030000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818e99a3aebbc5d0dcd8ccc0b6aca19690827a6e685f57514b443f3a38342e3130312d33373940454b515a616a6f7b859299a3aebbc3cdd9e4f0e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776b6054483e33291f150d05000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2c38444f5965727e8b97a2adb9c7d1d7ccc0b5aba1979197a1a9b3beced8d3c6baaea2988c7f72665b5044382b1f12050000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2d2cfc2b5a89c8f8275685e52443f3b3b3b3b3a38342f271f150b0100000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000615212e3a47535f6a7783909da8b2bdc9d5d7ccc0b5aba0968f82796d686058524c47423c3a38342e32313031323331363a3b41464a51575f666d78818e949ea9b3beccd5d9d0c7b7ab9f94887c6f6255483c3025190e0200000000000000000000000008131e2935414c56606d7a85929aa4afbbc2cdd6d2c9c0b7afa69e97928a827d78726e696865646362616162636466666c6f74797e858e939fa3abb5bdc7d1dcdfd5ccc3b9ada1968c7f73675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000040d1a25313b44515c666f7c88939fa9b3bec9d5d7cbbfb4aa9f948a7e71685d52453c46525e69727f8c95a0acb6c0cdd7ddd2c7bdb1a79f92867b6e61594f43392f22180b02000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120600040e19222d3946525e68737f8c96a1adb9c3ceddded3c7baaea3998e81756a5f54474e5b6874818e9ba7b4c1cedad3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b0000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7a86929fabb5bfcdd7dfd4c8bbafa49a91847a6d685e564d454039332d2b282325242422272b2e343a404550585f69707d87929fa7b1bcc8d4dee8e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ded1c5b8aca095897d70635a50453b31271f170e0a0401000000000000000000000000000000000000000000000000000000000000000000000000000003101c27333d4753606d7985929eabb5c0cbd7d2c7bdb3a9a19ea1a9b3bbc5cfd8ccc0b6ac9f92857a6d60544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9b6c2cfccbfb2a5998c7f7266564c41342e2e2e2e2d2c29231d150d030000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000006121f2b37434e5864717e8a96a1acb9c2ced7d2c7bdb2a89f948f837a6f6a615e56534d4946443f403f3e3d3e3f40404246484c52545c60696e78818e939da6b0bbc5cfddd2c7beb1a79c8f82766a5f53473a2e1f140800000000000000000000000000020d1925303a45515d67707d88939fa6b0bbc4ccd5d2c9c1b8b0a9a19e948f8a847f7b78757271706f6e6e6f70717376797c81858b92979ea5afb5bdc7cfd9dfd6cdc3baafa59e9184796d60554b403529170c0200000000000000000000000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a1adb9c2cfd8d1c6bcb0a69e91857a6d60584e434f59616e7b86929fa7b1bec7d2dfd7ccc0b5aba0958c7f72695e52473e31271d100600000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206000a15202a36424d57616d7a85929fa9b2bdccd5dfd6cabeb3a99f92867b6e61584e434e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494747474747474747474747474747474747474747474747474747474747474747474747474747474747474645403930271d120700000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b65727f8c99a3afbdc6d1dfd4c8bcb1a79f93887d70685d564d443c342f27221f1c17181717171b1f23282f353e464e57606b727f8b95a0abb8c1ccd7e3e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79c8f82766c61574d43393129201b15110d07080706060708090b0909070300000000000000000000000000000000000000000000000000000b161f2c3945515d6773808d99a3afbbc7d3d9d0c4bbb3adabadb3bbc4cdd7d4c8bbafa49a8d8074685d5242382d22170b00000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c9bcb0a396897d7063564a3d3023212121201f1c18120b03000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000030f1b26313c4653606d7984919ea6b0bcc5d0d9d0c4bab0a69f9590837c746d68625f575553504a4c4c4b4a4a4b4c4d4d5355565e61666d727b828e939da5afb8c1cdd7d8ccc0b6ac9f958a7d7064584e43372b1f0d02000000000000000000000000000008131e2935414c55616b73808d949fa9b2bac3ccd4d2cac1bbb3ada69f9c96918b8885827f7d7d7c7b7b7c7d7e808285888d92989ea1a9afbbc0c7cfd9ded6cdc4bbb2a89e938a7e71675d5143392f24180500000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39424f59606d7a85929ea6b0bcc6d1d8cfc2b9ada1978d80746a60544b55616b75818e98a2aeb9c3d0d9dcd4c7bbafa4999083786d60574d42352c1f150b0000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206020b1b27323a46535f6974808d98a2aebbc4cfdeddd3c6baada2978d8073695e5346424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62565454545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b42392e23180c00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb5c0cfd8ded1c5b8aca0958d80736b60564c433b3229231d1712100b060a060b0f12181d2429343c454f59606c7883909da6b0bbc6d2e2e4d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e4d9cec3b7ab9f948a7e71695e554b433b322b26201d181514141313141516181615130f0a0400000000000000000000000000000000000000000000000004101d2935404b55616e7b86929facb9c3cdd8d6cdc4beb9b8b9bec4cdd6dfd2c6b9ac9f93877b6e61564c412f261c110600000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0c8bbafa295887c6f6255493c2f221614141413100c070100000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000a151f2c3844515c66717e8a949fa9b3becad6d6ccc2b8b0a79f959188817a736e696562605c54595858575758595a575f6164686d72797f8690949ea5afb7c1cad3d6cdc5bbafa49a9083786c6053463c31261b0f000000000000000000000000000000020d19242f3a434f59606d78829097a1a8b1bac2cbd5d3cdc5beb9b0aba8a09d9897918e8c8a8988878889898a8d8f92989a9fa2aaadb3bbc1cbd1d9dad6ccc4bbb3a9a0968e81756c61554b4031271d1207000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303d45525d68717e8b949faab4bfcbd7d5c9beb3a99f93877c6f665b515c67707d89939eaab4bfcbd5e1d5c9beb3a99f93877c6f665c50453b30231a0d030000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f12000a141d2b37434e58616e7b86929faab3becdd6dfd5c9bdb2a89f92857a6d61574d42424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626161616161616161616161616161616161616161616161616161616161616161616161616161616161616161605c544b4034281c1004000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a0acbdc7d1e1d5c9beb3a99d9183796d60594f443a31292018120b0603000000000003070c1318222a333d44505b65707d89939eaab6c6d0dbe7d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfdfd3c7bbb0a69f92857b6e675d554c443d37322c29242221201f202121232523221f1b160f070000000000000000000000000000000000000000000000000c18242f3946525e6975828e9ba7b1bcc8d4dfd6cfc9c6c4c6c9cfd6dfd4c8bcb1a79c8f8275695f53433a2f1d140a0000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0c7bbaea194887b6e6155483b2e2215080807060400000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000004101c2834404a54616c76828f97a2adbabfc8d7d4cac2b9b1a8a09a938e85807b76726f6d6667666564636465666768696e71757a7f848c92989fa6afb7c1c9d2d7cdc5bbb1a79f93877c6f655b5044372a20150a0000000000000000000000000000000008131e28313e44505c666e7b859196a0a8b1b9c1c9ced7cfcac2bbb7b2acaaa9a19e9b989796959494959697999c9fa2aaabaeb3b9bec5cdd7dcd7cfcac2bab2a9a19791847a6d605a5043392f1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2935414c56616c76828f98a3aebac3ced9cfc4bbafa4999083786c6057606d7984919ea5afbcc5d0ddd8cfc6b9ada1978d80746a60544a3f33291f1108000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1206111c262f384754606a75818e99a3aebcc5d0dfd9cec5b9ada1968c7f72685e52453b424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f1306000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa8b2bdcfd9dfd2c6b9ada1978b7e71675c51473d32281f170e0701000000000000000000010710182127333f4953606b75828f9baab4bfcad6e2d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe4d8cdc2baada2979082796d675e564f47433c39352f2f2e2d2c2d2d2e3031302f2c2721191007000000000000000000000000000000000000000000000007121d2a36424d57636f7c89959fabb8c4cfdae1dad5d2d1d2d5dae1ded1c5b8aca095897d7063574d4231281e0b020000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0c7baada194877a6e6154473b2e2114080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000c18232e3942505a616e7b85929fa4adb6c0cbd1d4cbc2bab1aca49f97928d88837e7c797674737271707172737375787b7e81868c91969fa3aab0b8c1c9d2d5cdc5bbb3a99f958d80746a6053493f3327180e0300000000000000000000000000000000010c161f28343f4a545e696e7c8491959fa7afb9bdc4cbd1d6ccc7c3bdb8b7b2adaba8a5a4a3a2a1a1a2a3a4a6a9abaeb4b8babec5c9cfd6d8d3cdc5beb9b0a8a19791857b6e685d52483e31281d0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc8d4d7ccc0b5aba0958b7f72685f6973808c96a0acb7c1ced7dcd1c6bcb0a69e91857a6d60584e42382e21170d00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120b17222d38424f59626f7c87939fabb4bfced7e2d4c8bcb1a79e9184796d60564c4133424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bcb0a396897d7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a786d6053463a2d201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697784919daab7c4ceddd7cbc0b5ab9e9285796d60554b40352b20160d0500000000000000000000000000060f17222d38414f5964707d8a98a2aebac6d3dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfe9ded6cabeb3a99f948f82796e686159534e4745403e3b3b3a38393a3b3c3e3c3b38322b22190f0400000000000000000000000000000000000000000000010e1a25303b4854606b7783909da9b3bec9d5e2e6e1dfdedfe1e6e2d5c9beb3a99d9083776b6054453c311f160c000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9b6c3cfc7baaea194877b6e6154483b2e2115080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000007121c27303e46535f69707e8a929ca4aebbc0c7cfd6ccc3beb6afa9a29e9a94908b888583807f7f7e7d7d7e7f808285888a8e92999ea1a8aeb4bcc2cad3d5ccc3bbb3a9a1979083786d60584e41382d221706000000000000000000000000000000000000040d17232e38424d565f6a6e7b8390959ea5acb2bbc0c7ccd2d3cec8c5c4beb9b8b5b2b0b0afaeaeafb0b1b3b6b8babec5c6cad0d5d6d3cdc7c1bbb3ada69f9691857c6f695f564c41362c1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0acb8c1cdd7d2c7bdb1a79f92857b6e626e7b86929fa8b2bdc9d3e0d7cbbfb4aa9f948a7e71685d52463d30261c0f0500000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f120f1c28333f4a54606b76828f9aa4afbdc6d1e0d9d0c7b8aca0958b7e71675d51443a30424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabeb1a5998f89878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8895a0acb8c5d1ded3c7bbafa3998c8073675c5143392e23190e0400000000000000000000000000000006111b262f3d4753606d7985929facb8c5d2dfd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dff2e6dbcfc5bbb0a69f948f827a706b625f5853514b4a48474745464748494b4948433d342b21160a000000000000000000000000000000000000000000000009141f2c38434f5964717e8b97a1adb9c6d1dcd5d5d5d5d5d5d5d5d2c6b9ada1978b7e7165594f44332a1f0d040000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cec8bbaea195887b6e6255483b2f2215080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000b151e2a36424d57616c73808c929da4afb5bdc3cad0d0c7c0bbb3adaba69f9c989892908d8c8b8b8a8a8b8c8d8f9197979b9fa3abacb2babfc6ced7cec9c1bab2a9a29792857b6e665c51463d2f261b11060000000000000000000000000000000000000006111c26303b444e585f696e7a838e939ea1a8afb5bbc0c7c9cfd3d1cfc9c6c4c1bfbdbcbbbabbbcbcbdc0c2c5c6cad0d3d6d3cfcac6c2bcb7afa9a19e948f847b6f6a5f574d433a2f241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbbc5cfd9d0c3baaea2988e81756c76828f98a3aebac4cedbdbd3c7baaea3988f82766c61564c41342b1e140a0000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f0c16202b3844505b66707d89949facb6c0cfd8ddd2c7beb0a69d9083786c60554b403235424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3dacdc2b6aba199969494949494949494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a8b1bdc8d4dfd2c5b9ac9f92867b6e61554b4030271d110700000000000000000000000000000000000a141f2c3845515c6775828e9ba8b5c1cedbd8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3dfeee8e1d7cdc2b8b0a69f948f857d756f6a64605d555755545351535454565856544f463d32271b0f0300000000000000000000000000000000000000000000030f1b27323d4653606d7985919eaab4bfcbc8c8c8c8c8c8c8c8c8cbbfb5ab9e9285796d6053473d3320180e000000000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4c1cdc8bcafa295897c6f6256493c2f2316090000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000030c1a26313b45505a636d73808d929fa3abb1babfc6ced2ccc5beb9b8b0aba9aaa29f9c9a999897969798999a9b9ea1a9a8acaeb4b9bdc4cbd0d1cbc4bdb9afa8a09792857c6f695f544b40342b1d140a0000000000000000000000000000000000000000000a151e29323c464e575e686d79818a91969fa3abafb5b9bec4c7cad0d1d2d1cecbcac9c8c7c7c8c9cacccfd2d3d2d1d1cbc7c5bebab8b0aba59e97928b827a6e695f584e453b31281e12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939ea9b3becad6d6cabeb3aa9e93897d717e8a949faab4bfccd5dfd4c8bdb2a89f92867b6e615a50443a2f22190c020000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f131e2834404b55606c7883909da6b0bec7d2e1d8ccc0b6ac9f948a7d70665b5043392f35424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded3c7bdb3aba5a3a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546774818d9aa7b4c0ced9dbcfc2b5a89c8f8275695e5243392e1e150b00000000000000000000000000000000000004101c2934404b5565727e8b98a5b1becbd8d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3ebe4ddd8d4d2cbc2b8b0a69f979289827c75716d6766646261605d60606163646360594f43382c1f130700000000000000000000000000000000000000000000000a161f2c3845515c66737f8c98a3aebabbbbbbbbbbbbbbbbbbbbbbbbaea3998c8073675d5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccc9bcb0a396897d7063564a3d3023170a0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000009141f29333e48525b646e73808b9299a0a7aeb4bcc2c7cdcfcac6c2bcb7b6b4aeaca9a7a6a5a4a3a4a5a6a6a8abadb3b4b9babfc6c9ced1cbc6bfbab2aca59e9691857c6f6a5f574d42392e22190b02000000000000000000000000000000000000000000030c17202a343c454d565e676d757d848d92999fa4abadb3b8babfc1c4c5c9cecccdcececfcfcecdcccbcbcec8c5c4c1bfbab9b3adaba69f9c938e857e766e685f574e463c33291f160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2834404b55606b75818e97a2adbac2cfd9d0c5bcafa59e91847a85919ea6b0bcc6d1ded7cdc5b8aca0968c7f73695f53483e32281e1007000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f19242f3845515c67717e8b95a0acb8c2d0d9e0d4c8bbafa49a8f82766b61544a3f312735424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cfc5bdb6b1b0adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909da9b6c3d0dcd7cbbfb5ab998c7f7266564d4230271d0c03000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3e2d9d2ccc8c6c6c8c2b8b0a9a19e938f87827e7a7573716e6e6d676c6d6e6f716f6b6054483b2f221509000000000000000000000000000000000000000000000004101c2834404b54616e7a86929facaeaeaeaeaeaeaeaeaeaeaeaeaeac9f92867b6e61554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1bed2cabeb1a4978b7e7164584b3e3125180b0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000030d18212c364049525c646e737f8791959fa2aab0b7bbc2c6c9cfcdc7c4c3bfbab8b6b3b2b2b1b0b0b1b2b3b5b8b9bec1c5c7cbd1cec8c6bfbab4aea8a09e938e847b6f6a60584e453b30271d10070000000000000000000000000000000000000000000000050e18222a333b444c555d606b707980878f93999ea1a9acaeb4b4b7b9bdbebfc0c1c1c2c2c1c0c0bfbebdbdb9b7b4b4aeaca9a29f9a949089817a716c615e564d453c342a21180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929fa6b0bdc7d1d7cec1b9aca09691849197a1adb8c2cfd8dbd0c5bbafa59e9184796d60574d42362c20160c00000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c1f1d2935414c56606d7984919ea7b1bccad4e2d7cbbfb5ab9f93877c6f62594f42382d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ebe1d7cfc7c2bebcbabababababababababababababababababababababababababababababababababababababababababab0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2dfd3c7bbaea399897c6f6356493c3023150b00000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d3d9d0c7c0bbb9b9bbc0c2bbb3ada69e9a938f8a8682807d7b7a7a79797a7b7c7e7d6f6356493c302316090000000000000000000000000000000000000000000000000c18232e3946525e6874818e9ba6a2a2a2a2a2a2a2a2a2a2a2a2a2a79b8e8175695e5243392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96acb6c0cccbbfb2a5988c7f7265594c3f3226190c0000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120602020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020714212d3a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000060f1a242e37404a525c646d727d838c92989fa6abb0b8b9bec5c6cad0d0cac6c5c3c0bfbebebdbdbebfc0c2c4c6c9cfcfcfc9c6c3bcb8b4aeaba39f96918a817a6e6960584e463c33291e150b00000000000000000000000000000000000000000000000000060f182129323a434b515961676d737c82878c91979c9fa2aaa8abacb2b1b2b4b4b5b5b5b4b4b3b2b1b0b2acaaa8aba39f9c97928d88837d756d68625a524c443c332a22180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949fabb5c0cbd7d4c8bdb2a8a0969196a1a9b2becad4e1d6cabeb3a99e93897d70675c51453c31241a0d0400000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c18222c3945525d68727f8c96a1acb9c3cddcdfd3c7bbaea3998e81756a6054473e2f262835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e1d9d3cdcac9c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8898a3aebac7d3dfd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6ddd2c7beb6afacacafb6bec5beb9b0aca49f9c98928f8d8a88878686868787898a7d7164574a3e3124170b00000000000000000000000000000000000000000000000007121d2a36414c56626f7c889495959595959595959595959595959595897c6f62564d4231271d120700000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b889aa4afbbc8cdc0b3a79a8d8074675a4d4134271a080000000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f120f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f14212d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000008111c252e38404a525b626b6f787f868f949c9fa6abadb3b8babfc1c3c6c7ccd2cdcccbcac9cacbcccccbd0cac6c5c2c0beb9b8b1acaaa39f99928c847d756d685f574e463d342a21180c030000000000000000000000000000000000000000000000000000060f172028313940454f555d606a6f757b80858a8f9298989b9ea1a8a4a6a7a7a8a8a9a8a7a6a5a4a3a8a09e9b9899928f8a85807b76706b615e565046413b322a2118100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c77839099a3afbbc4ced9cec3bab2a8a19ea1a8b2bbc4cfdcd9cfc7baada2978e81756b60554b40332a1f12080000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c202a36424d57606d7a85929ea8b2bdcbd5dfd6cabeb4aa9f92867b6e61584e43352c1d2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f0efe6dfd9d4d1d0cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcabdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996aab4bfcbd7dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d8ccc0b6aca49f9fa4acb6c0c9c1beb6afacaaa29f9c99979594999292999497887b6e6155483b2e221508000000000000000000000000000000000000000000000000000d1925303b47545f6a7682888888888888888888888888888888888882766a6054443b301f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cec2b5a89b8f8275685c4f423024190d0100000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c1f1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c212d3a4754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000a131c262e384048515960666d727b828a90949a9ea1a9acaeb4b4b7b9bbc0bfc0c1c1c2c2c2c1c0bfbebdbebab8b6b3b3adaba7a09d98928e868079706b615e564d453d342b22180f0600000000000000000000000000000000000000000000000000000000050e161f282f353e434b51586062696e73797d8285888b8e91969697999a9b9b9c9c9b9a999898979696918e8b8986837e79746f6a636159524c443e36302920180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d5ccc3bab2adabadb2bac4cdd6dcd1c7bdb1a79f92857a6e61594f43392e21180e000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c26313a46525e6973808d97a2adbac4ceddded3c6baaea2988d8074695f53463d32231a2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3f1e6ddd5cdc8c4c3c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2bdb0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1bed1dcdacdc0b3a79a8d807467554b4034291c100400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d4c8bbafa49a93939aa4afbbc0ccc7c0bbb9b4aeaca8a6a4a1aba39f9fa39e928578695f53463a2d2114070000000000000000000000000000000000000000000000000008141e2b37434e58616d7a7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6d61584e4332291f0d0300000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677884919eabb8c4d0c3b7aa9d9084776a564c4135291d110500000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5245392c28282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282d3a4754606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000010b141c262e363f474f545c60696e767d83888d92979c9fa2aaa7aaacafb5b2b3b4b5b5b5b5b4b3b2b1b1b4aeaba9a6a9a19e9a95908b86817b736d676159524c443c332b22191006000000000000000000000000000000000000000000000000000000000000040d161d2429313a40454e54575e61666d7176797c7f818487898b8c8d8e8e8f8f8e8d8d8c8b8a898784817f7c7976716d67625f58554f46413a322a251e170e06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a1acb9c1ced7d5ccc4bdb9b7b9bdc4ccd6dfd7cbc0b5ab9f958b7e72685e52473d30271d0f06000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2b37434e58616e7b86929fa9b3beccd6dfd5c9beb2a99f92857a6d61574d42342b201b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b0a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3bfccd9d8cbbfb2a5988c7f7265594c3f2f23180c0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c6b9ac9f938886939fa5afbbc0c7ccc8c6bfbab8b5b3b0aeb4aeacaca99c8f827669574d42362a1e120500000000000000000000000000000000000000000000000000020f1b26323c46525e686d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d685e52463d3220170d0000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55697683909ca9b6c3cfc5b8ab9f928578685d5246392d20130700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524539353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353a4754606d7a8793a0ada6998c7f7366594c403326190d0000000000000000000000000000020b141c242d353d424a51575f616c70767b80858a8f9298989a9d9fa4aba5a6a7a8a8a9a8a7a6a6a5a4aaa29f9c999797918d88837f7a756e6a605d554f46413a322a211910070000000000000000000000000000000000000000000000000000000000000000040c12181f282f353c43474d53545c6064666d6f7275787a7d7e7f81818282828181807f7e7d7c7a7775726f6d6764605c55534e48443d3630292019140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919ea5afbcc5d0dbd6cfc9c5c4c5c9cfd6dedcd4c7bbafa3999083786c60564c41352b1e150b00000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c2e3a47535f6a74818e98a3aebbc5cfded9cec6b9ada1978c7f73685e52453b3122191b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e4d9cdc3b9b1abaaa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a4978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad7cabeb1a4978b7e7164584b3e312518070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6d2c5b8ac9f92867f8c939da5afb5bdc3c9cfcac7c5c2c0bdbbbfbab9b3a6998c807366594d4031261a0e0200000000000000000000000000000000000000000000000000000a15202a36414c565e616262626262626262626262626262626262615e564c41342b200e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f414e5b6874818e9ba7b4c1cec6baaea298877a6d6154473a2e21140700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f52454242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424754606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000020a121b232b303940444d535a6164696e73797d8285888b8e90939997989a9b9b9b9c9b9a9a9998979698928f8d8a8785817c77726d68625f57514b433e35302820180f070000000000000000000000000000000000000000000000000000000000000000000001070d161d242932373b42464a5153545c60626568696e7071737474757576757473727170706d68686562605c5553514b47433c38332a251e170e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939eaab4becad6e2dad5d2d1d2d5dae0e0d5c9bdb2a89f92877c6f665b50443b3023190c0300000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245392c38444f59626f7c87939faab4bfcdd7e1d4c8bdb1a89e9184796d60564c41332a1f101b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e0d4c8bcb1a7a09d9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd6cabdb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c6cec5b8ac9f928579818e939fa4abb1b9bdc4c8cdd2cfcccad1cbc7bdb2a8978a7d7064574a3d31241709000000000000000000000000000000000000000000000000000000040d1925303a444c5254555555555555555555555555555555555554524c443a3022190f00000000000000000000000000000000000000000000000000000000000000000000000000000000000007192633404c5966737f8c99a6b2bfd2cabeb3aa95887c6f6255493c2f22160900000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f524f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f54606d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000910191e272e343b42465055575f62666d7175797b7e818486898a8c8d8e8e8f8f8f8e8d8c8b8a8a888583807d7b78746f6a65615d56534e4540393129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000040c131820272b3136394044464a51535558565e61636466676868696968676665656463615e56585653514b4745403937312c272119130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e98a2aebac3d0d9e3e1dfdedfe1e5e2d8cec6b9ada1968d80736a5f544a3f32291e11080000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453930394854606b75828f99a4afbcc6d0dfdbd1c5b8aca0958b7e71675d51443a3021180e1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd1c4b8aba095908f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd5c9bcafa296897c6f6356493c302316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb9c1c1c1b8ac9f92857978818c9399a0a7adb2b8bcc2c5c6cad0cfd1c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000008131e29323a41464748484848484848484848484848484848484746413a32291e10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97acb6c0ccd0bdb0a4978a7d7164574a3e3124170b00000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c5f5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b606d7a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000070c151c232831363e44494d53545c6064666c6f7174777a7c7e7f80818282828281807f7e7e7d7b797673716e696762605854524c47423c352f271f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1f252a2e34383a404446494c4d52545658595a5b5b5c5c5b5a5a5958575654524c4c494645403a38342f2b26201c160d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bdc7d2dde8ebeaebede7dbd0c6bcb0a69e9184796d60584e42382d20170d000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52452e3942505a63707d89949eabb5c0ced8e1d3c7bcb0a69d9184786d60554b4032291e0f0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c3b6aa9d9083838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383827d6f6356493c30231609000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0acb4b4b4b4b4ac9f9285796d747f8790959ea1a8abb1b6b8babfc0c2c4c4b8ab9e918478685e5246392d20140700000000000000000000000000000000000000000000000000000000020d1720293036393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a3936302920170d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c889aa4afbbc8cbbfb2a5988c7f7265594c3f3226190700000000000000000000000b1824313e4b5764717e8a97a4ab9f9285786c6868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686d7a8793a0ada6998c7f7366594c403326190d00000000000000000000000000000000000000030b12181f262a33393c42474a5153545b60626567676d6f71727374757576757473737271706e6c666664615e5755544e4746413a373129241d150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1c23282c2e34383a3c3f4246474a4b4c4e4e4f4f4f4e4e4d4c4b4a494746413f3c3a38342e2c29231d1a15100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69727f8b959fabb5c0ccd7e3f0f7f8efe2d6cabfb4aa9e948a7d70675d51463c2f261c0e05000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524534404a54616c7683909da6b0bdc7d2e0d9cfc7b7ab9f948a7d70665c5043392f20170c0f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676766f6b6054483b2f221509000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd4c7baada194877a6e6154473b2e2114080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d798693a0a8a8a8a8a8a8a89f9285796c6d727c838b91969d9fa7a9acaeb4b4b5b7b9b5a89b8f827568564d41362a1e11050000000000000000000000000000000000000000000000000000000000050e171e252a2d2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6cdc1b4a79a8e8174675b4e412f24180d01000000000000000000000b1824313e4b5764717e8a97a4ab9f92857875757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757a8793a0ada6998c7f7366594c403326190d000000000000000000000000000000000000000000070c141a22282d3137394044464a50535558555d6063646567686868696867676665646362605b545754524d4947433c3935302b262018120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181c1f23282c2d2f30363a3b3d3e4041414242434241403f3e3d3d3a3935302f2d2c28231f1c18120f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d57606d78839099a4afbbc7d4e0edf9f9ece0d3c6baaea2988f82756c61554b40342a1d140a00000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f52453844515c66717e8a959fabb8c1d0d9dcd1c7bdafa59c9083766c61544a3f31271d0e050f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696360594f44382c201307000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683909da9b6c3d0dcd3c7baada094877a6d6154473a2e2114070000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b9285796c636a6f787f848a9095989c9fa2aaa7a9aaacaea6998c7f7366594c403025190e02000000000000000000000000000000000000000000000000000000000000050d13191e2021222222222222222222222222222222222221201e19130d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d677884919eabb7c4cfc2b6a99c8f837669554b4035291d1104000000000000000000000b1824313e4b5764717e8a97a4ac9f9287818282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828f9ba8b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000003090e171c20262b2e34383a3f4446484b4c51545657595a5b5b5c5c5c5b5a595857575553504a4a4846423c3b37322d29241e1a150c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012181c1f2022252a2d2e3031333435353636353433323231302e2d292523201f1c1813100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a25303b44505c666f7c87939facb9c6d2dfecf9ede1d4c8bdb2a89f92867b6e615a50433a2f22180b0200000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f5245414b55606d7984919ea7b1bccad3e2d7cbc0b5ab9e93897c6f625a5042382e1f150b000f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c56544f473d32271b0f03000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca9b6c2cfdcd4c8bbaea195887b6e6255483b2f2215080000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e85796c5860666d72797e83878b8f9298989a9c9e9fa3a896897d7063564a3d30231708000000000000000000000000000000000000000000000000000000000000000002080d11131415151515151515151515151515151515151413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9b5c2cfc4b8ab9e918478675d5145392c201306000000000000000000000b1824313e4b5764717e8a97a4aea399928e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8f939eaab2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000050b10151a1c23282c2d3338393c3e414547494b4c4d4e4f4f4f4f4e4d4c4b4b4a4846443f3e3b3a36302e2b27201d19130e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191e202123252627282829292827272625242321201d19161313100c070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d9aa7b3c0cddae6f3ebded1c5b8aca0968c7f72695e53483e31281d10060000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd2c5b8ab9f9285786c5f524545515d67727f8b96a0acb9c2cddcdfd3c7bbafa3998f82756a6054473e30261c0d03020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256505050505050505050505050505050505050505050505050505050505050505050505050505050505050504948443d352b21160b00000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9b5c2cfdcd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000613202d394653606c788181818181818181818181818174685b545c60666d71767b7f8385888b8d8f9192999496877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000010507070909090909090909090909090909090909070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3c0cdc5b9ada196867a6d6053473a2d201407000000000000000000000b1824313e4b5764717e8a97a4b5aba39f9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9ea6b0b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000003090e12181c1f22282b2d2f2f35393a3c3e3f4041424243424140403f3e3d3b3938332d2e2d2a25221f1b15110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090e1114141718191b1b1c1c1c1b1b1a191817161413110d0807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303946525e68727e8b98a5b1becbd8e4f1eaddd0c4b7aa9d9184796d60574d42362c1f160c000000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f52414c56606d7a85929ea8b2bdcbd4dfd6cabfb4aa9f92877b6e62584e43352c1e140a00020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494343434343434343434343434343434343434343434343434343434343434343434343434343434343433c3b38322b23190f0400000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9ba8b5c2cedbd6c9bdb0a3968a7d7063574a3d3024170a0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000006121f2b3844505b666c757575757575757575757575746f64594a50545c6064696e7276797c7e818284868788888477685d5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071825323f4b5865727e8b98a5b1bed0c9bdb2a895887c6f6255493c2f221609000000000000000000000b1824313e4b5764717e8a97a4b1b5aeaca8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8aab0b4b2a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000070c1012171c1f202224292c2d3031323435353536353434333231302f2d2b282221201e1a15130f0a05010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0b0d0e0e0f0f100f0e0d0c0b0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59616d7a85929eabb8c5d1deebf8ebdfd2c5b8ac9f92867b6e615a50433a2f24190c020000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b8ab9e9285786b5f5246525e6873808c97a1adbac3ceddded3c6baaea2988d8174695f53463d32231a0c0200020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3636363636363636363636363636363636363636363636363636363636363636363636363636363636302f2c27211911070000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b4c1cedbd7cabdb1a4978a7e7164574b3e312418060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000030f1c28333f4a545b6068686868686868686868686868645d5348444a5053575e6165666d6f72747677797a7b7c7c6f62564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030607080a0b0c0d0e0e0e0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a9b3becacfbdb0a4978a7d7164574a3e3124170b000000000000000000000b1824313e4b5764717e8a97a4a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000004060b0f121315191d202123242627282829292928272625242422201f1c171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b74818e97a2adb9c6d2dfecf8ece0d3c6baaea2988f82756c61554c4135291e140a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b8ab9e9185786b5e524d57616e7a86929fa9b3beccd5e0d5c9beb3a99f92867a6e61574d42342b2111080000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f292929292929292929292929292929292929292929292929292929292929292929292929292929292322201b160f07000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0cddad8cbbeb1a5988b7e7265584b3f2d22170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b59534b41383f44464d5354545c6062656769666c6d6e6f6f6a5f53443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000020507060c101213151618191a1a1b1b1a1a191917161413110d0807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8797a2adbac6ccbfb2a6998c7f7366594c4033261908000000000000000000000b1824313e4b5764717e8a979b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000030606080d1113141618191a1b1c1c1c1c1b1a191818171513120f0b0607050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606080a0c0d0d0e0e0d0d0c0a080706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a242c3845515c66707d89939ea9b3becad6e2eefaefe2d6cabfb4aa9e948a7e71675d51453d30261c110600000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e51535f6974818d98a2aebbc5cfded9cec6b9ada1978c8073685e52453c3122190f000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1615130f0b0400000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d9ccbfb3a6998c80736653493f33271b0f0300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392e34383b4246484a505355585a545b60606162625f584e4332281e1308000000000000000000000000000000000000000000000000000000000000000000000205080e111414171c1f20212325262727282827272626242221201d19171413110d080501000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687885929fabb8c5cec1b4a79b8e8174685b4e413024190d010000000000000000000b1824313e4b5764717e8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000001040607090b0c0d0e0f0f100f0e0d0d0c0b0a0806060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000306060b0f1213151719191a1b1b1a1a1917151313100c070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d7984919da5afbbc5cfdbe6f2f2f3e7dbd0c6bcb0a69e91847a6d60584e42382e23170b03000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7ab9e9184786b5e4e58626e7b87929faab4bfcdd6e1d4c8bdb2a89e9285796d60564c41332a1f1007000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316101010101010101010101010101010101010101010101010101010101010101010101010101009090703000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcfdadbcfc2b5a89c8f8275655b5044372b1f120500000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000a141d262d33383942424242424242424242424241403c372f23282c31363a3b3f4446494b4e4a505354555555534e463c3220160c02000000000000000000000000000000000000000000000000000000000000000003090e1214191e202123282c2d2e3031333334343434333332312f2e2d29252421201d1913110d0802000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c566a7683909da9b6c3d0c3b6a99d9083766a564c4135291d11040000000000000000000916232f3c4956626f7d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313120706040000000000000000060b0f1213171c1f20222425262728272726252422201f1c181413100c070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a46535f69737f8c95a0acb7c1cdd7e1ece6e5eaebe2d8cec1b9ada1968d80746a60544a3f34281f1409000000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c4b7aa9e9184776b5e54606a75828f99a3afbcc6d0dfdcd2c5b8aca0968b7f72675d51443b3021180e00000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a8b2bdc9d5ded1c5b8ab9e9285796c605346392d20130600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000020b141c22282b2d3535353535353535353535353534302b25171c1f252a2d2e34383a3c3f413f44464748494947433c342a200e0400000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2e34383a3b3d3e3f404141414140403f3e3c3a393530302d2c2924201d1913100b04000000000000000000000000000000000000000000000000000000000000000000010d192530424e5b6875818e9ba8b4c1cec5b8ab9e928578685d5245392c2013070000000000000000000915222e3b4854606a6f747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060708090a0a0b0c0b0b0b0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101220202020202020202020201f1312100c07000000030a0f11171c1f2022282b2d2e313233343434343332302f2d2c2823201f1d18120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b19242f3a43505a616e7b86929fa8b1bdc9d2dfe0dcd9d8dedfe1e0d5c9bdb2a99f93877c6f665c50443b30251a0d040000000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c4b7aa9d9184776a5e59626f7c89939eabb5c0ced7e1d4c8bcb1a79e9184786d60554b4032291e0f0600000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a1adb9c5d2dfd2c6b9ada297887b6e6255483b2e23170c00000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000020a11171c1f20282828282828282828282828282724201a0c10141a1e2123282c2d2f322d3338393a3b3c3c3b37322a22180e000000000000000000000000000000000000000000000000000000000000060b11171c1f262a2d3036393b3e3f444648494b4c4d4d4e4e4d4d4c4c4a49474641403d3a3935302d2a251e1b16100b040000000000000000000000000000000000000000000000000000000000000000081a2633404d596673808c99a6b3bfccc6b9ada197877a6d6054473a2d21140700000000000000000007131f2c38434e58606268686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686864615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060609070c1013141515161718191818171716151313100c07090706040000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2c201f1c18120b030b10151a1c22282b2d2d3338393b3d3f4040414140403f3d3b3a38342e2d2c29241f1b17110b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414c55616c76828f98a3aebac3cedbdbd4cfcccbd1d2d5dadacfc4bbafa4999083786d60574d42362a1f160c0100000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b7aa9d9084776a5d616b7683909ca5afbdc7d1e0d9cfc7b8ab9f958a7d71665c50433a2f20170d0000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687884919eabb7c4d1ded6cabeb3a9978b7e7164544a3f34281c1003000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b1a18140f0903090e1214171c1f20222522282b2d2d2e2f2f2e2b262018100600000000000000000000000000000000000000000000000000000000020a11171c23282b31363a3b4146474b4a5053545658595a5a5b5b5a5a5959575554524c4d4a4745413a3936302c27211b160e09020000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becacabeb3a995897c6f6256493c2f231609000000000000000000030f1b27323d464e54565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550473e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060b0f12131518181d1f20212223242525252524242321201f1c1818161313100c070603000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939392d2c28231c150c161c20262b2d3338393c3f4446484a4c4c4d4e4e4d4d4c4a484645403d3a39352f2b27221b17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d67717e8a949eaab4bfccd5d9d1c9c4c0bfc4c5c9cfd6d7ccc0b5aba0958c7f72695e52463e31281d130700000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd0c3b6a99d9083766a5963707d8a949fabb7c1cfd9dcd1c7bdb0a69d9083766c61544a3f31281d0e050000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566875828f9ba8b5c2d0dbdbcfc1b4a79a8e8174665c5044382c1f150a000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0e0e0c08030000000205060c1012131618171c1f2021222222211f1b150e0600000000000000000000000000000000000000000000000000000002080c141c23282e34383b4246484c525457545c606163646666676767676666656462615e565a5754524c4746413a38322c27211a140d0500000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9cfbdb0a4978a7d7164574a3e3124170b000000000000000000000a16212b343d4348494e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e352c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040a0f1215171c1f20222524292c2d2e2f30313232323131302f2e2d2c28232523201f1c1815120f0a05020000000000000000000000000000000000000000000000000000000a141e262e34384646464646464646464646453a38342e271e1b21282c3137383f4446494a5053555758595a5b5a5a5958575553514b4a4745403937332d28221c140b080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ddd1c7bfb8b3b2b7b9bdc4ccd6d2c7bdb1a79f92867b6e615a50433a2f24180b02000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc3b6a99c90837669606b7783909da6b0bcc9d3e1d7cbc0b5ab9e94897c6f635a5042382e1f160c000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192530404c5966737f8c99aab4bfcad6ded1c4b8ab9e9184796d6053463c31261b0d040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000002020202020202020202020202010000000000000000000003060709060b0f12131415161615130f0a04000000000000000000000000000000000000000000000000000000050d14191e262e34383f44464d5355565e616467666d6e7071727374747474737372716f6d68696663605d5654524c48443d38322a251f170e07010000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040f19222b32383b3c4141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11151a1f2122282b2d2f322f35393a3b3c3d3d3e3f3e3e3e3d3c3b3a38342e32302d2c2823211f1b15110e090200000000000000000000000000000000000000000000000006111c2630383f44535353535353535353535352464440393027272c33383c43474a505356545b60616465666767676766656362605c555753514b46443f38332d261d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54606a74808d96a1adb8c2ced8d4cbbfb5ada7a5abadb2bac4cfd9d0c3baaea2988f82756c61554b4035291d140a000000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccfc2b5a99c8f82766963707d89959fabb8c2cddbdfd4c7bbafa3998f82756b6054483e30261c0d04000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081723303d4a5663707d8998a2aebac6d3dfd2c5b9ada1968a7d7164584e43372b1f160c0100000000000000000000000000000000040e16202d3a4653606d798693a0acb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060708090908060300000000000000000000000000000000000000000000000000000000060e171f252a30383f444a5053575f6166686e717476797b7c7e7f8080818180807f7f7d7c7a787673706d6865615e56544f48443d3630292018120c0400000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7cdc1b4a79a8e8174675b4e4134281b0e010000000000000000000007101921272c2e2f35353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353531302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e2d3338393c3e414045474848494a4b4c4b4b4a4a4948464540413f3c3a38342e2e2b26201e1a140f0a03000000000000000000000000000000000000000000000b17232e38424a505f606060606060606060605f53514a42392e32383e44484e53545b606266666c6e707273737474737372706e6d676764605d55535049443f382f29241e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d1a232b3844505b666f7c87929fa9b2bdcad3d9d0c2b9ada39b989ea1a8b2bdc9d5d6cabfb4aa9e938a7d70675d51453c2f261c11060000000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec2b5a89b8f8275686975828f9ca7b1bccad4ded6cabfb4aa9f92877c6e62594f44362c1e150a00000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8c5d1dcd5c9bdb2a99c9083766a5f53473d31281d1307000000000000000000000000000000030d16202935404b55606d7a8693a0adb9c6d3d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363e424a50545c6064696e72767a7e80838687898b8c8d8d8e8e8d8d8c8c8a88878583807d7a76726d68636059544f46423b3329241d160d05000000000000000000000000000000000000000202020200010815212e3b4854616e7b8794a1aebac7cec2b5a89b8f8275685c4f4235291c0f020000000000000000000000070f161b1f22232828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1d24292c31373a3c3f4446484b4e4b515354555657585858585757565453514b4e4b494645403c3a37312d2a251f1a150e09030000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c605c544a40353d44484f55585f62666c6f7376797b7d7f7f80818180807f7d7b797773706d6763605b53504a423d353028201810080000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c78839099a3afbbc4cfddd2c7bdb1a79b918c9196a1adb9c1ced8d0c5bcb0a69e9184796d60584e42382d22170b0200000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdbcec1b4a89b8e8175686e7b87939facb9c3cddfded3c6baaea2988e81746a5f53473d32241a0c0300000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675828f9babb4bfcbd7dacfc4b7ab9f94887c6f62594f433a2f2418120701000000000000000000000000050d151f28323a45515d67717e8b98a4b1becbd7d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141c2328323b414650545c60666d70767b7f83878a8d909298969799999a9a9a9a99999897959892908d8a87837f7a75706b636059524d453f352f281f170f06000000000000000000000000000004080a0b0f0f0f0f070d1115222f3c4855626f7b8895a2aebbc8cfc3b6a99c908376695d5043362a1d1003000000000000000000000000040a0f1315161b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c141a20272b2f35393c4347484a505355585b555d60616263646565656464636261605c545a585653514b4847433c3a36302b26201a140c0701000000000000000000000000000000000006121f2b3844505c667679797979797979797979786d665c514440454f545961636a6f74797c808385888a8b8c8d8e8d8d8c8b8a888683807d7974706c65605b544f45413a322a221a12090000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e68727f8b959fabb5c0cdd6d7ccc0b5ab9f958c7f84919ea6b0bcc6d0d7cec1b9ada1968d80736a5f544a3f33281f140900000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacec1b4a79b8e81746673808c99a4afbbc7d4e0d5c9beb3a99f92867b6e61584e43352b2112080000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5465717e8b99a3aebac7d3e0d3c7bbb0a69a8e81746b60554b4035292418120b0600000000000000000002080e171f27313a444f59606d7985919eabb8c4d1ded8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343e444d525a61666d71787d82878c90939a9a9d9fa3aaa4a5a6a7a7a7a7a6a6a5a4aaa29f9c999a93908b86827c76706b615e57504540393129211810060000000000000000000000050b101416171c1c1c1c1c181d20262f3d4a5663707d8996a3b0bcc9d1c4b7aa9e9184776b5e5144382b1e11050000000000000000000000000000030709090e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a32373a4045474e5355545b606265676a676d6e6f70707172717171706f6e6d6669676563605c5455534e4746423b37312a261f18120b03000000000000000000000000000000000713202d3a4653606d788686868686868686868685786d6053464b515960636b70767b8085898c9092989798999a9a9a9a9998969992908d8a85817d78716c666059524c443c342c241b12090000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434f59616e7b85929fa7b1bdc7d1dcd4c7bbafa4999083787e8a949eaab4bfcad6d5c9bdb2a89f92877c6f665b50443b30251a0d04000000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdacdc0b3a79a8d80746d7984919eabb5c0ccd7ddd2c6b9ada1978d8073695e52463c3123190f000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4754616d7a86929facb9c3ced9d8cdc2b9ac9f93877d6f675d51453e3629241d17110c070604000105070a0f141920293139434c56606b73808d97a1adb9c6d2dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f2830383f4450565e616c70787e848a8f939a9d9fa4aca9acaeb4b1b2b3b3b4b4b3b3b2b2b0b3aeaba9aca49f9d99928f89827d756e69625a514b433b332a221810060000000000000000000810171c212324282828282824292c3038424e5866737f8c99a6b2bfccd0c3b7aa9d9084776a5d5144372a1e11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151d232830363d43474b5153585f6266666c6f717477797a7b7b7c7d7e7f7e7e7d7d7c7b79787674726f6d6666625f5854524d47433c363129241d150d060000000000000000000000000000000713202d3a4653606d7986939393939393939397897d7063534e555d606b6f767d83888d9297999d9fa2aaa5a6a6a7a7a6a6a5aba39f9d9a98928e89847e78706b605d564e463e362d241b12080000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606b75818e98a2aeb9c3cfd9d5c9beb3a99f93877c6f75828f98a2aebac3ced9cfc4bbafa3999083786c60574d42362a1f160c010000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9ccbfb3a6998c8073707d8a97a1adbdc7d2ddd5c9bdb2a89e92857a6d60564d42342a201107000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba8b1bdc8d4e0d4c7bbafa4999184796d605a50483f352f27221b181413100c0d1113141a1f252a323b434b555e686f7d87929fa9b3bec9d5e1d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028313a424a505a61686e757d848b91969c9fa4acacafb6b6b9babfbebfc0c0c1c1c0c0bfbfbdbebab8b6b6afacaba39f9c948f89827b716c605d554d453c342a22180f060000000000000008121a22282d303135353535352f35393a414a545f6a76838f9ca9b6c2cfcfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708080808080808080808070705010000000000000000000000000000000000000000000000020a11171e272e343b42464e54555d60656a6f7376797b7e818486868788898a8b8b8b8b8a8a8987868583817e7c7976726f6a65615e57534e46423b352f271f180f0900000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa99a8d8174655b5860676d747d838a90949a9ea1a9a9acaeb4b2b2b3b4b4b3b3b2b5afacaaaaa29f9b95918a847d746d685f5850483e362d241a11080000000000000000000000000000000000000000000000000000000000000000040e1b242c3845515c67707d89939eaab3becbd4d9cfc7b9ada1978d80746a6e7b86929fa8b1bdc8d4d7cbc0b5ab9f958b7f72695e52463e31281d12070000000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8ccbfb2a5998c7f7275828f9ca9b2bed0d9dcd2c5b9aca0968b7f72675d51443b3022180e00000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707c8995a0acb8c3ced9d7ccc0b5aba0968d81746c615a51454039332d2924201f1d18191d2021262b30363d444c555d676d7a849199a3afbbc4cfdae6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d162028323a434c545c606c717b828a91959ea1a8acafb6b9bbc0c3c5c7cbd1cccccdcdcdcdcccccbd0cac6c5c3c0bbb9b5afaca69f9c948f857e756d675e574e463c342a21180e03000000000005101a242c33393c3e4242424242424045474c525b666f7c88949fabb7c4d0cec1b4a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131414141414141414141414141414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314141414141414141414141413110d08020000000000000000000000000000000000000000040c141c2328303940454d52586062676d71767b808385888b8e91929994959697989898979796959a9392908d8b8985827f7b77726e69625f58534d454039312a221b120a010000000000000000000000000713202d3a4653606d798693a0acacacacacab9e9184786c60616a6f79818990949c9fa6abadb3b6b8babfbebfc0c1c0c0bfbec0bbb9b6b4aeaca7a09d969189817a6f6a615a50483e362c23190f05000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919ea5afbcc5d0dcd1c7bdb0a69e92857a6d6069737f8c95a0acb8c1cdd7d1c7bdb1a79f92867b6e61594f43392f24180b0200000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd8cbbeb1a5988b7e727a86929facb9c4cfdfd4c8bcb1a79e9184796d60554c4132291f0f0600000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090404040404040404040404040404040404040404040404040404040404040404040404040404040404040403030100000000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4854606b7784919da7b1bcc8d4ddd2c7bdb2a89d928a7e716c625b514b443f38352f2d2c2924252a2d2e31373b41464f565e676d79829096a1abb5c0cdd6e1e4d8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28323a444c565d666d747e858f949da0a8acb2b9bbc0c6c8ccd2d2d1cfc9c6c5c3c2c1c0c0c1c1c3c5c6cad0ccc8c6c0bbb9b0aba69e97928b81796e695f584e463c332a1f150900000000000b17222c363e44494a4f4f4f4f4f4f4b5153565e616c78828f9ca6b0bbc7d3cbc0b5ab998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f20212121212121212121212121201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d20202121212121212121212121201d19130c05000000000000000000000000000000000000050d161e262e343d424b51575e616a6f747a7e83888c8f9298989a9d9fa3aba2a3a3a4a5a4a4a4a3aca49f9e9c9a9898928f8c88837f7b756f6a615f57514b433c342d241c130a0100000000000000000000000713202d3a4653606d798693a0acb9b9b9b9ada197897c6f626c707c848e939c9fa6abb0b8b9bec3c5c7cad0cacbcdcdcdccd1cbc7c5c3bfbab8b1aca8a09d938e847c716c625a50483e352b21170c03000000000000000000000000000000000000000000000000000000000008131e28323a47535f6973808c96a0acb7c1ced7d7cbc0b5ab9f948b7e71685d606d7984919da5afbbc5d0d9cfc3baaea2988e81756b61554b4035291d140a00000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd7cabeb1a4978b7e727f8b99a3afbbc7d3d9d0c7b8ab9f958a7e71665c51433a2f20170d0000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100f0d0a050000000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38444f5964717e8a95a0acb8c1cdd7d9d0c4baaea49f92877e726d605d55504945403b3a38352f3036393a3d43474d525960686e79828f949fa8b2bdc7d1dfe8e4d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313a444c565e686d78808a92979ea6acb1b9bdc4c8ccd2d4cfcac6c5c1beb9b8b7b5b4b3b3b4b5b6b8babfc1c5c6c9cbc7c2bbb7b0a9a29f938f837b6f6a5f584e453c31261a0e0200000004101c28333e485055575b5b5b5b5b5c555d6063686d75808d949fabb8c2cdd3c7bbafa3998b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d2e2e2e2e2e2e2e2e2e2e2e2d2a251e160e0500000000000000000000000000000000070f171f2830383f444f545c60696e757c81858b9095999c9fa2aaa7aaacaeb4aeafb0b1b2b1b1b0b0b6afacaba9a7aaa29f9c9995908c86817c756e69605d554e463e362e251c140a01000000000000000000000713202d3a4653606d798693a0acb9c6c9beb2a99a8d80736c717e8691969da5abb0b7bcc2c5c4c2bfbebdbcbdbfc0c1c4c5c9ced1d2d0cac6c3bcb8b2aca59d9691867e716c625a50473d33291e150b00000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929fa8b2bdc9d3dcd3c7bbafa3999083786c60565c66707d89939ea9b3becad6d6cabeb4aa9e938a7d70675d51453c2f261c1106000000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6cabdb0a3978a7d7783909dabb5c0cbd7d2c7bdb0a69d9083786c60544b4031281e0e050000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002101b27323d4653606c7883909da6b0bbc5cfdbd6ccc0bbafa39992887f736d67605b53514b4847454043434146474a4e53565e616b6f7a828f949fa6b0bac4cfd9e3ebe4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434c565e686d7a828d929fa2a9b0b8bdc3c9ced4d3ccc7c5beb9b8b5b3adabaaa9a8a7a7a7a8a9acaeb4b4b8b9bec5c7cbc7c1bcb3ada59e9590857c6f6a5f574d42372b1e12060000000814212d3944505a616468686868686969676d70747a828d929da6b0bbcad4d2c5b9ac9f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f35393a3b3b3b3b3b3b3b3b3b3b3b3b3936302920170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3b3b3b3b3b3b3b3b3b3b3a3936302820160c0200000000000000000000000000000710192129313a424a505960666d727b81898e92989d9fa7a9acaeb4b4b7b9babfbbbcbdbebebebebdbdc0bbb9b8b6b4b4aeaca9a7a09d99928e87827b736d675f58504840372e261c130a000000000000000000000713202d3a4653606d798693a0acb9c6cfc4b7aa9e918477717e879298a0a8afb7bcc2c4bdb9b8b5b2b1b0b0b1b2b3b4b7b9bdc4c5c8ced5d3cec8c3bdb8afa8a19892887e716c61594f453b30271c12070000000000000000000000000000000000000000000000000000000a151e2935414c56616c76828f99a3aebac4cedbd5c9bdb2a99f92877c6f655b5054606b75818e97a2adbac2d0d9d0c5bcafa59e9184796d60584e42382d22170b020000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c7b88959fabbdc7d1d7ccc0b5ab9e94897d70655b5042392e1f160c000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a292826211b150d040000000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b161f2b3744505b65707d8a949ea9b3becad6dcd7cbc0b5aba39a938b8079716c65605d555553514b50504c525457585f62686e747d848f949fa6b0b8c2c8ccd2d9e2e8d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222935404b555d686d7a838f949da4adb3bbc1c8ced5d5ccc7c2bbb7b3adaba8a9a19e9d9c9b9a9a9a9b9d9fa2aaa7abadb3b9bbc0c7cbc5bebaafa7a09791857c6f695f53473a2d2114080000000a1623303c4955616c7175757575757576777a7c81868f939da4aeb8c2ccd5c9beb3a99c8f8276685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454747474747474747474747474746413b322921170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a404547474747474747474747474746413a32281e130800000000000000000000000000061019222b333b434b545c606b70797f868e939a9fa2aaabb1b6b8babfc1c4c5c7cbd1c9cacbcbcbcacad2ccc8c6c5c3c0bfbab8b5b1acaba39f9a938f8680796e6a615a514940382e251c11080000000000000000000713202d3a4653606d798693a0acb9c6d2c5b9aca096887c7d879299a3aab2bac0bdb9b7b2adaba8a6a5a4a3a4a5a6a8abacb2b7b8bdc3c9cfd7d4cec8c0bab2aaa29a93877e716b60574d42392e23180c030000000000000000000000000000000000000000000000000006111c26303845525d68717e8b949fabb4bfccd5d8cfc6b9ada1968d80736a5f53494f59616e7a85929fa7b1bdc7d2d7cec1b9aca1968d80736a5f544a3f33281f14080000000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd5c8bbafa295887c808c99a7b1bccfd9d4c7bbafa4998f82756b6053493f30271d0d04000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c37373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373635322d261f160d0300000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616b75828f97a2adbac0cad4dcd1c7bdb5aca49f928d847e78706d676561605d555d5d565e6163666a6f737b818791969fa6b0b8bbb9bbc0c7d0d6dfd8cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343d45515d676d7a8390959fa6aebabec5cdd4d6cec9c1bbb7b0aba9a29e9b989792908f8e8d8d8e8e909298979b9ea1a9acafb5bbc0c7cac1b9b1a9a19791857b6e6155483b2e2215080000000b1724313e4a5764717e828282828282838486898e92989ea6aeb6c0cad4ccc4b9ada1978b7e7164564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f39434b5153545454545454545454545454524d443b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a434b51535454545454545454545454524c443a3025190d010000000000000000000000050e18222b343d454d555d666d747d848c92989ea5acaeb4b8bcc2c5c6cad0d0d2d3d7dcd6d5d4d3d4d5d6ddd8d4d2d1cfd0cac6c5c2bcb8b5afaca49f98928c837c716c635b524a40372e231a0f0600000000000000000713202d3a4653606d798693a0acb9c6d4c8bdb2a89b8e81859299a3abb4bcbdb8b2acaaa9a19e9b9998979697989a9b9ea1a8aaacb1b9bec4cbd1d9d4ccc4bcb4aca49992877d70695e544a4034281f1409000000000000000000000000000000000000000000000000000c17232e38424e58606d7a85929ea6b0bdc6d1dcd1c6bdb0a69e9184796d60584e4146525e68727f8b959fabb5c0ccd7d5c9bdb2a89f92877c6f665b50443b3025190d0300000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd4c7bbaea194887b84919daab7c3cdd6cbbfb4aa9f93877c6f62594f41382d1e150b00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564944444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443423e3831281f150a00000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59616e7b85929fa4aeb8c2cbd4d9cfc7beb6afa49d96918b837d7a75716e6d676a696a6b686d7073777b80868e9299a1a9b0b8b6afacafb6bec5cdd6d8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b606d79839095a0a7b0b8c0cacfd7d7ccc4bdb9b0aaa69f9c97928e8b8885848281808081828385878a8e92979b9fa3abafb5bdc1cac3bbb3a9a1978f8376695c504336291d100000000b1724313e4a5764717d8a8e8e8e8e8f909193999a9fa2aab0b8c0c8d6cbc3baafa59e92857a6d6054473a3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606161616161616161616161615e564d453b30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b555d6061616161616161616161615e564c41362a1d110500000000000000000000030d17202a343d464e575e676d78808991969fa2aaafb8babfc5c7cdd2d3d6d7d3d2cfcccbc9c8c7c7c7c8c9caccced1d2d5dad6d3d2cec8c7c0bbb6afaaa39f9591867e736d635c52493f352c21180b02000000000000000713202d3a4653606d798693a0acb9c6d9cec3b6a99d938e9297a1abb5bdbab1aca8a09e9996918f8c8b8a898a8c8d8e9196999da0a8adb3bbc0c7cfd8d6cec6beb5aba39992857b6e665c51443b30251a0e04000000000000000000000000000000000000000000000004101c28343f4a54606a74818e97a1adb8c2cfd8d7cbbfb5ab9f948a7e71675d51463c414c56606c78839099a4afbbc4cfdacec4bbafa3999083786c60564d41362a1f150b01000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd6c9bcafa396897c8996a0acb8c5d4d3c7baaea3988e81746a5f53473d2f261b0c0300000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625650505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261b1005000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3e46525e68717e8b929da6b0b9c3cbd4d9d0c7c0bbaea8a19e95908a86827e7b7a7877767677787a7d7f83888d92989fa3abb2bbb6aca49fa4acb3bbc5cfdacbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d75818e959fa7b1b9c2cad6d9d1cbc1bab2aca69e9c948f8985827e7b787776757474747576797b7e8185898e92999fa3abb0babfc6c4b9aca1968b7e7164584b3e3125180b0000000815222e3b4855616e7b88989b9b9b9c9c9e9fa4abacaeb4bcc1cad0cac2b9b1a89e938a7e70675d514539291e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d676d6e6e6e6e6e6e6e6e6e6e6e6e685e574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d6e6e6e6e6e6e6e6e6e6e6d685e5246392d201307000000000000000000020b151f29323c464e5860696e79828d929da0a8aeb4bcc1c6cad0d4d8d6d3d1cbc7c5c3bfbebdbcbababbbcbcbdbfc2c4c5c9cfd2d4d7d9d4d1cbc7c0bbb4aea7a098928b7f736e635b51473e332a1d140a000000000000000713202d3a4653606d798693a0acb9c6d3d2c6baafa59d9b9ea1a9b3bcb4aea8a09d96918c8884827f7e7d7d7e7f808184888c91959ea1a9afb5bdc6ced7d7d0c7bdb5aba1979083786d60574d42362a20150a00000000000000000000000000000000000000000000040d1a232c3844505c666f7c88939fa9b3becad4dcd3c7bbaea3998f82766c61554b41343b44505b666f7c87939fa9b3bec9d5d7cbc0b5ab9f958b7f72685e52463d31271d1207000000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfd9cdc0b3a69a8d808d9aa8b2bdc8d4cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5c5a544c42382d21160a000000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a36414d56616c74808d949fa7b1b9c2cad6d9d2ccc0bab2ada79f9d98928f8b8886858483838485878a8c90959a9fa2aaafb5bdbbafa49a939aa1a9b3bec9d5cbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b939ea7b1b9c3cbd4d9cfc7c0bbb0a8a19e948f89827d7975716e696a696867676768656c6e7174797d82868d92999ea6aeb4bcbeb3a99e9184796d6053463a2d2013070000000613202d394653606c7985929fa8a8a8a9aaacafb5b8babfc6ceccc6bfbab0a7a0968e81756c61554b413529170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7a7a7a7a7a7a7a7a7a7a7b75695e52463a2d20160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a7b7a7a7a7a7a7a7a7a7a7a6d6154473a2e2114070000000000000000000a141d27313b444e58606a6f7b838f949da4acb2babfc6ced3d6dad5d0cac6c5c0bbb9b6b3b1b0afaeadaeafb0b0b2b5b7b9bdc2c6c7ccd2d5dad7d2ccc6bfbab1aaa29f918c80736d63594f453c2f261b11060000000000000713202d3a4653606d798693a0acb9c6d3d6cbc0b7afa9a7abadb3b9b1aaa29f95918a847f7b78757372717071727375787c80848a91979fa3abb4bcc6ced7d9d0c7bdb3a99f958c7f72695e52463c32261b0f030000000000000000000000000000000000000000010c161f2a36424d57606d7883909aa4afbbc5cfdcd5c9bdb2a89f92877b6e625a50433a2f333f4a54606a74808d97a1adb9c2cfd8d1c7bdb1a79f92857b6e61594f43392f24180b020000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdccec1b5a89c928d929ca8bac3ced2c6b9ada2978d8073695e52463c3123190b020000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69665e54493e3226190d010000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b1925303b44505a606d78828f959fa7b0b8c0cad0d7d8ccc4bdb9b1abaaa29f9b9894979291909091929796999da0a7acaeb4bbc0b9b0a69f93869297a1adb9c6d2cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202c3844505c666f7c87929fa5afb9c2cbd5d9d0c7bdb5afa69e969189827c76706c6665615f575c5b5a5a5b535b606164666c70757b80878f949fa2aab1b9ada1978b7f72665c5144382c1f120600000005121f2b3744505b657683909ca9b5b5b6b7b9bbc0c5c6cac8c7c0bbb4aea69f9590847a6d615a50433a2f24180500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8787878787878787878787877b6e6154483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f878787878787878787878276695c504336291d10000000000000000006111b262f39434c565f6a6f7c8590959ea6aeb8bdc3cad0d7dad5cfc9c5bebab8b5afaca9a6a4a3a2a1a0a1a2a3a4a5a8abadb2b5b9bbc0c7c9cfd8ddd8d1cbc3bcb4aea39c928c7f726c61574d41382d22170b0100000000000713202d3a4653606d798693a0acb9c6d3ddd2c9c0bab6b4b8b9b8b0a7a098928b847d78736e696866656463646567686a6f73777e858d9299a2aab4bcc5ced7d9cfc5bbb1a79f92867b6e61584e43372b201509000000000000000000000000000000000000000007121d28313946525e69727f8c95a0acb6c0cdd6d8cec6b9aca1968d80736a5f53483e31282d38424e58606d7a85919ea6b0bdc6d1d9cfc2baada2978e81756b61554b4035291d140a0000000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd1c5b9aea49c9a9ca4aeb9ccd5c9bdb2a89e92857a6d60574d42342a201107000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777670665a4e4235281c0f030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323e44505c666d7a8390959fa6aebabec5ced3d6cfc9c2bcb8b4aeaca8a4a9a29f9d9c9d9e9ea1a9a6aaabb1b8babfc1b9b1a79f948c7f85929eabb8c5d2cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2a36424d57606d78839099a3aeb7c1cbd4ddd2c7beb5aba39f948f847c756f6a63605b5455534d4f4e4d4d4e49505354545b6063696e747b828b9298a0a7b1a99e9285796d60544a4034281c1004000000030f1b27333f49536774818d9aa7b4c0c3c4c6c7c7c5c3c1bcb8b6afaaa29f9490837b6e685e52483e31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7783909494949494949494998c7f7266584e43382b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c94949494949494948f8376695c504336291d1000000000000000000b17222d38414b555e686f7c869197a0a7b0b8c0c8ced6dbd6cfc9c4bdb9b3adababa39f9c99989695949494959697999b9ea1a8a9acafb5b9bec5ccd2d9dcd7cec6bfbaada49f93887d70695f53493f33271d130700000000000713202d3a4653606d798693a0acb9c6d3e4dbd2cbc6c2c1c1b7afa69e9590867f78706c65615f575958575657595a585f62666c717a80879298a2aab4bcc5d0dbd6cdc2baaea2988f82756a5f54473c31261a0e00000000000000000000000000000000000000020b18242f39434f59616e7b86929fa7b1bec7d2dcd0c6bcb0a69e9184796d60574e42362c1f262f3c45525d68717e8a949fabb4bfcbd7d6cabeb3a99e93897d70675d51453c2f261b110600000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcd5cac0b6aea8a6a8aeb6c0cad2c5b9aca1968c7f72685d52453b3022180e00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ddd0c4b7aa9d9184838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10030000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d172028343f4a545d686d7a8390949da4adb3bcc1c7cdd4d5cdc8c6bfbab8b5b1b3adabaaa9a9aaabadb3b2b6b8bcc3c6bfbab0a7a0958f8279818e9bacb6c0cccbbeb1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a46525e69727f8c95a0abb5bfc9d3dcd8ccc0b6aca399928c827a6f6a62605853504a48464243424141413f4446484a5053575e61696e757e8690959fa7a2978c7f72675d5142392e23180c00000000000b17222d3e4b5865717e8b98abb5c0bcbcbbbfbab9b6b4b1acaca49f98928c827a6e695e564c41362c1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8b99a3a1a1a1a1a1a19d9184776a605447392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a1a1a1a1a1a19c8f8376695c504336291d1000000000000000040f1b27333f49535c676e7a849198a1a9b1b9c1cad4d9dad5cdc4beb9b2ada9a29f9a9992908c8b8a8987878889898a8c8f9196979c9fa4abadb3bbc0c7d0d6ded7d0cabfbbafa49a92867b6e655b50443a2f24180d01000000000713202d3a4653606d798693a0acb9c6d3dfe4ddd6d2cbc1b8afa59e948f837c726d66605b53534d4c4b4a4a4b4c4d4e54555a61676d737d869298a2aab4becad6dfd6cabfb4aa9e93887c6f62574d42372b1c11060000000000000000000000000000000000000a141d2935404b55616c75828f98a2aeb9c3d0d9d6cbbfb4aa9e948a7d70675d51453c31241a1d2935414c56616c76828f99a3aebac4ced9d0c5bcafa59e9184796d60584e41382d22170b02000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdcdcd2c8c0b9b5b3b5b9c0c8d4c8bcb1a79e9184796d60564c4133291f100600000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3ded1c5b8aca095919090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909085786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e17232e38424c565d686d7a828d929fa2a9afb7bcc2c7cbd1d4d0cac7c5c2bebebab8b7b6b6b7b8b9bebfc3c4c7c1bcb4aea69e9590837a717e8b9aa4afbbc8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d56616e7b86929fa7b1bdc6d1dbd4cac2bbafa49a92877f776d686058544e46443f3b3a36313534342d3337393b3f44464d52575f626c717b8390959f9f92857a6d60554b4030271c120700000000000616232f3c4956626f7c8999a4afafafafafb4aeacaaa7a7a09d9a938e867f796d685e564d443a30241a0d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4754616d7a86929facadadadadaca096897c6f62554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5adadadada99c8f8376695c504336291d10000000000000040d1a242b3744505b656d79839096a1aab3bbc3cbd3dcd6cfc9c1bbb3ada8a19e97928d8a8683807e7d7c7b7a7b7c7d7d7f8284878a8f93999ea1a9afb6bec4ccd5dedbd6ccc0b6aca2988f82776c60554b4035291d1207000000000713202d3a4653606d798693a0acb9c6d3dfeae1d7cdc3b9b0a69e938e82796e6a605c5450494642403f3e3d3e3f4043474950555d606b707d869298a2aebac2ced7dbd0c6bcafa59b8e8175695f5347382e23170b000000000000000000000000000000000006111b262f3845515d67707d8a939eaab4bfcbd5dcd3c7baaea3988f82756c61554b40332a201219242f3a43505a626e7b86929fa8b2bdc9d5d7cec1b9aca0968d80736a5f53493f33271e1308000000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3dad2cac5c1c0c1c5cad2d0c7b8aca0958b7e71675c51443a2f21170d0000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e1d4c8bdb1a8a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c565d686d78808a92979ea5abb0b9bbc0c6c7ccd2d1d2ced0cac6c5c4c3c3c4c5c6cac7c5bfbab9afaaa39f948f837a6d6e7a87939facb9c1c1beb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6874818d98a2aeb9c3cfd8d8cfc2b8afa59f93887e726c655d564e47433d38332d2d2a2628272722272b2d2d33383b42464d535a62696e7a839094988d8073685d5243392f1e150b0000000000000714202d3a4753606d7a86939fa3a3a3a3a2aba39f9d9a9895918c87817b736d675d564d443b32281e120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bebabdb2a89a8d8174675c5145382c1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2babab6a99c8f8376695c504336291d100000000000010c161f2b37434e58606c77818e959fa8b2bcc4cdd5ddd5cdc5beb9afa9a19e96918c85817d7a767371706f6e6d6e6f70717275787a7e82878c92979fa4acb2bac3ccd5ddddd2c7beb4aa9f948b7e71675d5145392f24180c000000000713202d3a4653606d798693a0acb9c6d3dfe3d9cfc5bbb1a79e948e81786d675f58504a443f383631323130313232373b3e434c5159606b707d86929fa6b0bcc5d0dbd7cec1b9ac9f93877b6e62544a3f34281c1003000000000000000000000000000000000b17222d38414e58606d7984919ea5afbcc6d0ddd5c9bdb2a89f92867b6e615a5043392f21180e131e28313e47535f6973808c96a0acb9c1ced7d5c9bdb2a89f92877c6f655b50443a3025190d030000000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9e3dcd5d1cecdced1d5d2c7beb0a69d9083786c60554b4032281e0f050000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e5d9cec3bab1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e28323a444c565d666d747e858e939c9fa6acafb5b9bbc0c2c4c5c7cbd1c9c9d1cbc7c5c4c2bfbab9b4aeaca59e98928c827a6d68687783909daab4b4b4b4b1a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929faab4bfcbd5dcd1c6bcb0a69d928c7f726c605b534c443d38322b2822211e1a1b1a1a171b1f2022282b30363c424750575f686d79829092867a6d61564c4131271d0c0300000000000006131f2c3945515d67778491969696969695949992908e8b88847f7b756e69605c554c443b322920160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000007131d28313a47535f6a737f8c939ea7b1bac4ced6ddd4cbc3bbb3ada59e97918b847f7a74706d67666563626161616263646668686e71767b7f858e939aa0a8b2bac3cbd5e0d9d0c5bcb0a69e9285796d60554b4035291d10040000000713202d3a4653606d798693a0acb9c6d3e8dcd1c7bdb3a9a0958f82786d665d554e443f38332d2a262524232426262b2e313a41454f59606b717e8b949faab4bfcad6e0d4c7bbafa4998d8074665c5044382b1f1206000000000000000000000000000000030f1b27333f49535f6a73808d96a1acb7c1ced7d8cec6b9aca0968c8073695f53483e31271d0f060c161f2b37424d57606d7984919ea5afbcc5d0d9cec4bbaea3999083776c60564c41362a1f150b0100000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9eee7e1dddad9daddd8ccc0b6ac9f94897d70665b5043392e20160c000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3eadfd5ccc3bdb8b7b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434c545c606c717a818990949c9fa3abacafb5b5b7b9bbc0bcbcbcbbbfbab9b7b5b4aeacaaa39f9b938e867f776d685e6673808d99aaa8a8a8a8a8a5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6773808d98a3aebcc6d0ddd7cbbfb4aa9f948e80746d635a5049413a322b271f1c1714120e090e060b0f1213171c1f252a31373e454d565d676d7a848d8074685e52433a2f1f150b0000000000000004101d2935404b556875818989898989898888878683817e7c77726e69615e57514b433a322920170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000010d18242f3a43505a626e7c87929fa5afb9c2ccd6dcd3cbc2b9b1a9a19e938e857e79726d6764605d5558575654545556565759565e6164696e737a81889196a0a8b1b9c3ced7e2d7cec2b9ada1978c7f72675d5145382c1f13080000000713202d3a4653606d798693a0acb9c6d3e3d7cbc0b5aba1979083796d665c544b433c342e27221b1a18171718191b1f22282f353d474f59626c76828f98a2aebac5d0dbd7ccc0b5ab9e9185796d6053463a2d20130a0000000000000000000000000000030c19232b3744505b656f7c87929fa8b2bdc9d3dbd0c6bcafa59e9184796d60574d42362c1f150b00040d1a26313c45515c67707d8a939eaab4bfcad6d7cbbfb5ab9f948b7e71685e52463d31271d120700000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f6f2ede9e7e6e9e0d4c8bbafa49a8f82766b60544a3f30271d0d04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6e3e3e7ded5cec8c5c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6e3d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313a424a515a61686e757d83898f92999d9fa4aba9aaacafb5afafafafb4aeacaaa8aba39f9c98928e89817b726c655d5663707c89989b9b9b9b9b9b9b988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929faab4bfced7e0d3c7baaea3988f82786d605b51443f382f28201b160f0b060502000100000305060b0f141a1f262b333c444c555d686f7c857b6e61564c4131281e0d0300000000000000000c18242f3b4855616e7b7d7c7c7c7c7c7c7b7a797774726f6a66615e57524d454039312820170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844505c6674808d9aa7b1bcc8beb3a99c8f8276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000004111d2935414b55616c76828f99a3afb7c1cbd4dcd3cac1b8b0a7a097928a817a716d66605d5554514c4b4a49484748494a4a4c4c5254575e61686d747d849196a0a7b1bcc5d0dbe0d6cabeb3a99e9285796d6053473a3025190d0100000713202d3a4653606d798693a0acb9c6d3e0d3c7bbafa39992857b6e675d544a42393128231c17110e090b0a0b0a0f13161e2429353d47505a616e7b86929fa9b3becad6ddd2c7b9ada197897d7063564a3d31261a0f03000000000000000000000000000b151e2a36414c56606c77839099a3afbac4cedcd6cabfb4aa9e938a7d70675c51453b31241a0d03000009151f2934404b55616b75818e98a2aebac3d0d9d1c6bdb0a69f92857a6d61594f43392f23180b02000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce9f0f0f0f0f7ece1d7cbbfb4ab9f93877c6f62594f42382d1e150b00000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6d9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdcad6d6d6cabdb0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161f283039404450565e616b70767c82868b909399999c9e9fa3aba2a3a2a2aba39f9d9b9999928f8c86817c756e69605b5353606d79868e8e8e8e8e8e8e8e8e8b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebcc6d1e0d6cabeb3aa9f92867b6e665c50493f332d261d160e0a0300000000000000000000000003090e151a212a323a434c565f6a6f7b6e695e53443a301f160c0000000000000000000714212d3a46535f696e7070707070706f6e6d6d666765625f5854534d46423b342f271f160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c6c5b9ac9f93877b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000613202c3945515d67717e8a949fabb5c0c9d3ddd3cac1b8b0a69f9590857e756d68605c54514b4745413e3d3c3b3a3b3c3d3e3f4146474d52565d616b6f7b849095a0aab4becad6dedacfc5b9ada1978a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3dfd2c5b9ac9f92877d70695f554b423830271f17110b0600000000000003060c1319232b353e46535e69727f8b97a2adbac6d3dfd5c9beb3a99b8e817468584e43372b1f120600000000000000000000000007121d27303946525e68717e8b949fabb5c0ccd6dbd3c6baaea2988f82756b61554b40332a1f1108000000030c18232f39434f59616e7b86929fa7b1bec7d2d8cfc2baada2978e81756b60554b4034291d140a000000000000000000000000101d2a3643505d697683909ca9b6c3cfdce3e3e3e3e3e3e6dbd0c7baaea3998e81756a5f54473d2f261c0c0300000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c5b8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9bdb0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343e444c525960636b6f757a7f83868a8d8f9192999595969695949992918f8d8a86837f7a756f6a615e575049515c66737f818181818181818181817d7063564a3d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6875828f9caab4becfd8dfd3c6baaea2988d8073695e544a3f3727221b140b040000000000000000000000000000000003090f182028313a434e585f696e695f574d4232291e0d0400000000000000000005121e2b37424d575f61636363636363626161605c545855534e4846423b363029231d150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3847535f6a7783909dabb5bfc7bbafa4998c7f7266584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000005111d2a36414c56606d7984919ea6b0bdc7d1dbd5ccc2b8b0a69e9490837b716c615d56514a45413a39352f302f2e2e2e2f30313036393b42464c525960696e7a839098a2aebac2cdd8e1d5c9beb3a99c8f8275685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d9ccc0b3a6998d80736b60574d433a2f261e150d060000000000000000000001081119232a36424d57606d7985929fabb8c2cdd8dacfc4b8ab9e9185786a5f53473a2e2115080000000000000000000000000c18232e39424f59616d7a85929ea6b0bdc7d1ded4c8bdb2a89f92867b6e61594f43392f21180e000000000007121d27313e46525e69727f8c95a0acb6c0ccd8d6cabeb3a99e93897d70675c51453c2f261b11060000000000000000000000101d2a3643505d697683909ca9b6c3cfd6d6d6d6d6d6d6d6d6cabeb3a99f92867b6e61584e43352b1d140a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced6d3c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdb0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c2328323b41464f54596063686e72767a7d808284868788898989888887868482807d7a76726d68626058534d44404b54636d7375757575757575757575706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dfd6cabeb3a99f92857a6d61574d42382e2517110a0200000000000000000000000000000000000000060e161f28313c464e575f615f574d453b3120170d00000000000000000000020e1a26313c454d535556565656565655555453504a4b4847433c3a36312a251f18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5865727f8b99a3aebbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000713202d3946525e6873808d97a1adb8c2cfd9d7cec3bab0a69e948f827a6e69615a524c444039352f2c29242423212122232324252a2d30363a41464f575e686e7b86929fa6b0bcc7d3e2dacfc5b9ac9f92867a6d6154473a2e21140700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265594f453b31281d150c030000000000000000000000000007111a25313b45515d6774808d9aa7b1bcc8d4dfd2c6b9ada197887b6f6255483c2f221507000000000000000000000004101c2834404b54606b74818e97a2adb9c2cfd9d7cec5b8aca0968c7f72695e53473e31271d0f060000000000010b151f2a36424d57606d7883909aa4afbbc5cfdacfc5bbafa59e9184796d60584e41382d22170b0200000000000000000000101d2a3643505d697683909ca9b6c3c9c9c9c9c9c9c9c9c9c9c6baada2978d8073695e53463c32231a0b020000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c9c9c9c6baada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ab9f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0a4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218202930363d44484f54565e6165686d70737677797b7b7c7c7c7c7b7a79777573706d6765615e56544e46423b3942515b6366686868686868686868686360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a99a3aebbc7d3dfd3c6baada2978c7f72685e52453b30261c130600000000000000000000000000000000000000000000040d161f2a343c454d5355534d453b33291f0e05000000000000000000000009141f2a333c42464849494949494949484746443f3f3c3b37322d2a251f1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000030f1c28333f4a54616d7a86929fa9b2becad4d9d0c5bcb2a89f948f82796d685e565046413a342e2924201d191716151415161717191e20252a30353d454d565e69727f8b949fabb7c5d0dbe0d3c7bbafa3998a7e7164574a3e2e23180c00000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f33291f160b0300000000000000000000000000000009141f2935404b55626f7c88959fabb8c4d1ddd5c9beb3a9988b7f7265584c3f2f24180d01000000000000000000040d1a242c3845515c66707d89939da9b3becbd4dbd0c5bcafa59d9184796d60574d42352c1f150b00000000000000030d1a25303b44505c666f7c87939fa9b3bec9d5d7cdc1b9aca0968c80736a5f53493f33271e130800000000000000000000101d2a3643505d697683909ca9b6bdbdbdbdbdbdbdbdbdbdbdbdb2a89f92857a6d61574d42342a201108000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4bdbdbdbdbdbaada093877a6d6054473a2d211407000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39f9285786c5f5245392c1f12060000000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e252a32383d43484c5254565d60636669666d6e6f6f706f6f6e6e6d66686663605d5554524c47433d36313040495157595b5b5b5b5b5b5b5b5b5b56544f473d33271c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566774818d9aabb5bfcbd7ded2c5b8ab9f9285796d60564c4133291e150a000000000000000000000000000000000000000000000000040d18222a333b42464846423b332a21170d000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3c3b3a3a38342e2f2e2b26211e1a140e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ba9b3bec8bdb1a89a8d8174675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000006121f2b3844505b66727f8c98a3aebbc4cfddd2c7beb4aaa0968f82786d675d564d443e353028231c1813110d0809080708090a080d11141a1e2429333b444d57606c7883909caab4becad6e2d7cbc0b5ab9a8d817467544b4034281c1004000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225180d0400000000000000000000000000000000030c18242f3947535f6a7683909da9b6c3d1dcdacfc2b5a89b8f827568554b4035291d10040000000000000000010c161f2a36424d57606d7983919da5afbbc5cfddd6cabeb4aa9e93897d70665c51453b31231a0d03000000000000000009141f28343f4a54606b74818e97a1adb9c2cfd9d4c8bdb2a89f92867c6e655b50443a3025190c03000000000000000000101d2a3643505d697683909ca9b0b0b0b0b0b0b0b0b0b0b0b0b0ada1968c7f72685e52453b3122190e00000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b0b0b0b0b0b0b0ada093877a6d6054473a2d211407000a1724313d4a5764707d8a9696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969285786c5f5245392c1f12060000000a1724313d4a5764707d8a969696969696969696969696968a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141921272c32383b4146474c5254575a545c606162626363626161605c545a5753514b4746413a37322a252e3740464b4c4e4e4e4e4e4e4e4e4e4e4a48443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d1dcd8ccc0b6ac9b8e8275675d51443a3021170c0300000000000000000000000000000000000000000000000000061018212a31363a3b3a36312a21180f0500000000000000000000000000060f181f262b2d2e3030303030302f2e2e2d2b282322211f1b15120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000613202d394653606c7884919eaab4bfcdd6d8ccc0b6aca29891847a6d665d554c443b3229241e18120d07040100000000000000000105090e13192029323b44505b65717d8a98a2aebac6d3dfdcd1c3b7aa9d908477665c5145382c1f1306000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000007121d2b37434e5865727f8b98abb4bfcbd7ddd1c4b7aa9e918477675d5145392c201306000000000000000008131e28313a46535f69727f8c95a0acb7c1cdd7dbd3c6baaea2988e81756b60544b4033291f1108000000000000000000020c17232e38424f59616d7a85929ea6b0bdc7d1d9cec3baaea3999082776c60564c41362a1e150b000000000000000000101d2a3643505d697683909ca3a3a3a3a3a3a3a3a3a3a3a3a3a3a79e9184796d60564c4133291f100700000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba3a3a3a3a3a3a3a3a3a093877a6d6054473a2d211407000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a85786c5f5245392c1f12060000000a1724313d4a5764707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e161c21272c3036393b4145474a4d4a5053545556565655555453504a4d4a4745403a3935302b27201a252e353b3e40424242424242424242423d3c38332b23190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2dfd4c8bbafa49a8b7e7164554b4032281e0f05000000000000000000000000000000000000000000000000000000060f181f262a2d2e2d2a261f180f06000000000000000000000000000000060e141a1e2122232323232323222221201f1c171515120f0a05020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7e7164564d41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c5663707d8a96a0acbcc6cfd7d4c8bbafa49a92867c6e685d544b433a32292019130c0700000000000000000000000000000002080e172027333f4953606d7985929fabb8c5d2dedfd2c6b9ac9f9386796d6053463a2d201307000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010f1b26323c4955626f7c8899a3aebac7d3dfd2c6b9ac9f93867a6d6053473a2d20140700000000000000020b19242f3a43505a616e7b86929fa7b1bcc9d2dfd4c8bcb1a79f92867b6e61594f42392e21170d000000000000000000000006111c26303d46525e68717e8b949fabb5c0cbd7d7cbbfb4ab9f948b7e71685e52463d30271d12070000000000000000101d2a3643505d6976839096969696969696969696969696969696958b7e71675d51443a3021170d0000000000000000000000000000000000000000000000020f1b2835424e5b6875818e969696969696969696969693877a6d6054473a2d211407000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a000000000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1e252a2d2f35393a3d403f4446484849494949484746443f403d3a39352f2d29251e1b16131c232a2f323335353535353535353535302f2c272119110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c6b9ac9f93877a6d6154473a2f21160c0000000000000000000000000000000000000000000000000000000000060e141a1e2122211e1a140e06000000000000000000000000000000000003090e1214151616161616161615141312100b0608060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e6875828f9ca8afb9bec5cdcabeb3a99f93887e706a5f564c4239312820170e0802000000000000000000000000000000000000050e17222d3845515c6774818e9ba7b4c1cedae0d4c7bbafa499887b6e6255483b2f221508000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000a13202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897c6f6256493c2f231609000000000000000a141d2935414c55616c76828f98a2aeb9c3cedbd7cdc5b8aca0958c7f72695e52473d30271d0f050000000000000000000000000a151e2935414c56606c77829099a3afbbc4cfdad1c6bdb0a69e92857a6d61594f43392e23180c0300000000000000101d2a3643505d6976828a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83786c60554b4032281e0f050000000000000000000000000000000000000000000000020f1b2835424e5b6875818a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6054473a2d211407000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706b6055483c2f231609000000000714202d3946525e686e7070707070707070707070707070706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f14191e2024292c2d302e34383a3b3c3c3d3c3c3b3b3a38342e302d2c2924201d19130f0a0a12191e232526282828282828282828282322201c160f080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8dcd0c3b6a99d908376685e5246392d20130400000000000000000000000000000000000000000000000000000000000003090e12141514120e09030000000000000000000000000000000000000000020507080a0a0a0a0a0a090807070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7c5b9ac9f92867b6e6154473d32271b0f0000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000814212e3b4754616e7a8692979ea5adb3bbc1c6baada2978e81746c61584e443a30271f160d0500000000000000000000000000000000000000000006111b2934404b5565727e8b98a5b1becbd8e3d7ccc0b5ab968a7d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000006131f2c3845515c667683909da9b6c3d0dcd8ccc0b6ac978b7e7164584b3e3125180b00000000000006111c262f3845515d67717e8a949eaab4bfccd5dbd0c5bbafa59d9083786d60564d42352b1e150b00000000000000000000000000030c1925303a44505b656f7c87929fa8b2bdc9d5d8cfc2b9ada1978e81746b60554b4034281f150900000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e665b5043392f20160c000000000000000000000000000000000000000000000000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d796d6053463a2d2013070005111e2a36414c565e6163636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636360594f44382c2014070000000005111e2a36414c565e61636363636363636363636363636363615e564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114191d20212423282c2d2e2f2f30302f2e2e2d2b28232420201d1813110d08020000070d121619191b1b1b1b1b1b1b1b1b1b171613100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2ddd9ccbfb2a6998c7f7366564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000205070807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3947535f6a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000714202d3946525e68717e858e939ea1a9afb9bcb1a79f92857a6d615a50463c32281e150d0400000000000000000000000000000000000000000000000c18232f3d4a5763707d8a96a3b0bdc9d6e8ddd2beb1a5988b7e7265584b3f3225180c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000004101c2834404b546774818d9aa7b4c0cddaddd2bfb2a6998c7f7366594c403326190d0000000000000b17222d38424e58606d7a84919ea6b0bcc6d0ded6cabeb3a99e93897d6f665c50443b3023190c03000000000000000000000000000008131e27333f49535f6a73808d96a1adb9c1ced8d6cabeb3a99d93897d70675c51453c31261a0e040000000000000915222f3b4854606b6f7070707070707070707070707070707070706e695f544a3f31271d0e04000000000000000000000000000000000000000000000000000815212e3b47535f6a6f70707070707070707070707070706d665c5044382c1f120600010d1925303b444c5254575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575756554f473d33271c100400000000010d1925303b444c525457575757575757575757575757575754524d443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080d11131417171c1f202122232323222221201f1c17171413100d070501000000000002060a0c0d0f0f0f0f0f0f0f0f0f0f0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfdbd7ccc0b5ab968a7d7063574a3d3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a08070502000000000000000000000000000000000106090b0c0e0e0d0d0c0c0b0a0807060401000000000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7c0b5ab9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100005111e2a36414c56616c717a818a92979ea5adb3aba0958b7e72685e52483e342a20160c030000000000000000000000000000000000000000000000000716222f3c4955626f7c8895a2afbbc8d5e2d8cbbfb2a5988c7f7265594c3f3226190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c18232e3e4b5864717e8b97a4b1becad7dacdc0b4a79a8d8174675a4e4134271b0e0000000000030f1c28333f4a545f6a74808d96a1adb8c2ced8d9d0c7baada2978e81746b60544a3f32291f1107000000000000000000000000000000020b17222d38414e58606d7984919ea6b0bcc6d0dacfc5bbafa59d9184796d60574d42372b20160c02000000000007131f2c38434f596063636363636363636363636363636363636363615f574d42382d1f150b000000000000000000000000000000000000000000000000000006131f2b37434e585f626363636363636363636363636363605c544a3f34281c1003000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443d352c21160b00000000000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746423b32291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707060c10121315151616161615141312100b0607060401000000000000000000000000000202020202020202020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0ddd4c7bbafa499887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f121415161616161616161616161616161616161616161616161616161616161616161616161514120e090300000000000000000000000000060d121618191a1a1a1a19181817151413110d0809070603000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616d7a86929facb9c5c7b8aca095897c6f62554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000020e1925303b44505a61686d757e858e939ea1a9a89d9083786c60564c41362c22180e04000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9ccbfb2a6998c7f7366594c403326190d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000071623303c4956636f7c8996a2afbcc9d5dbcec2b5a89b8f8275685c4f4235291c0f00000000050f1a232b3844505b666f7c87929fa9b2bdcac9c9d2c7beb1a79f92857a6d61594f42382e20170d000000000000000000000000000000000006111b262f3c45515d67707d8a949eaab4bfcac9c9cdc1b8aca0968c7f73695f53473e32281e13080000000000030f1b27323d464f545657575757575757575757575757575757575755534d453c2f261c0d030000000000000000000000000000000000000000000000000000030f1b26323c464e5355575757575757575757575757575753504a42382e23170c000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a0f05000000000000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36302920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070809090a09090808070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ded2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f21222323232323232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000010911181e22242527272727262524232221201d1919161312100c0604010000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074675c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000008141e29323e4850565e616c717a818a92979ea0968a7d70665b50443a30231a0f0600000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d9cdc0b3a69a8d8073675a4d4034271a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbd2dddcd0c3b6a99d9083766a5d5043372a1d10000000000b16212a36414d56606c78839099a3afbbbdbdbdbdbdc0b6aca0958b7f72685e52473d30261c0e050000000000000000000000000000000000000a141d2935404b55616c75828f98a2aebabdbdbdbdbdbdb2a89f92867b6e625a50443a3024190d0000000000000a16212b343d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423c332a1d140a000000000000000000000000000000000000000000000000000000000a15202a343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c110600000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2c27211a11080000000000000000050e171e252a2d2e3030303030303030303030303030302e2d2a251f170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546c7885929fabb8c5d2ded1c5b8ab9e928578665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f303030303030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000009131b23292e313234343433333231302f2d2c29242523201f1c1713110d08010000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6c3b8ab9f9285796d6053463b3025190e020000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000020d17202c363e444c525a61686d757e858e939d9184786c60544a3f32291e11080000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6e3d9ccbfb3a6998c807366594d4033261a0d000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b5c0ccd7ddd0c4b7aa9d9184776a5e5144372b1e1100000004101c27333946525e68727f8b959fabb5b0b0b0b0b0b0b0afa49a9083786c60564c41352b1e150a00000000000000000000000000000000000000020b18242f3943505a616e7b86929fa8b1b0b0b0b0b0b0b0aea3988f82766c61564c4135291c11060000000000040f19222b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180b0200000000000000000000000000000000000000000000000000000000040e18222a32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e150a000000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242323201c160f0800000000000000000000050d14191e202124242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c0f11121313131313131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667986929facb9c5d2ded1c4b7ab9e9184786b544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000030c1b252d343a3e3f414140403f3f3e3d3b3a39352f322f2d2c2823201d19130f0a040000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000050e1a242c323a414650565e616c717a818a928b7f72655b5042382d20170c000000000000000000000000000000000000000000000000000000030c1524313e4b5764717e8a97a4b1bdcad7e4d8cbbeb2a5988b7f7265584c3f3225190c000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7d4ded1c4b7ab9e9184786b5e5145382b1e120000000714202c38444f59616e7b85929fa7a3a3a3a3a3a3a3a3a3a99f93877c6f665b50443a3023190c03000000000000000000000000000000000000000007121d28313e46535f69737f8c95a0a3a3a3a3a3a3a3a3a3aa9f948b7e71685d5246382d22170b00000000000007101921272c2f303030303030303030303030303030303030302e2d2b261f180f0600000000000000000000000000000000000000000000000000000000000006101820262b2e2f30303030303030303030303030302d2c28231c150c030000000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171614100b0500000000000000000000000002080d1114141717171717171717171717171717171414110e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1f20202020202020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3ddd0c4b7aa9d9184776a5e51442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494846423b332a1f1409000000000000000b151e2d373f464a4c4d4d4d4d4c4b4b4a48474541413f3c3a38342e2c29241e1b150e09030000000000000000000000000000000000000000000008131f2c3845515c6674808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000008121a202930363e444c525a61686d757e85867a6d6053493f2f261c0e050000000000000000000000000000000000000000000000000000000b151e2b37434e586774818d9aa7b4c0cddae4d7cabdb1a4978a7e7164574b3e3124180b000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f120000000916222f3c4854606b75818e97969696969696969696969696978e81746a60544a3f32291e1107000000000000000000000000000000000000000000010c161f2a36424d57606d7984919696969696969696969696969692857a6d61544a3f33281c0f03000000000000070f161b1f222324242424242424242424242424242424242422211e1a140e060000000000000000000000000000000000000000000000000000000000000000060e151b1f21222424242424242424242424242424201f1c17110a0300000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b4bfcbd7ddd0c3b6aa9d9083776a5d5044372a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1a26313c464e53555656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e02000000000007121d27303f495156585a5a5a5a595857565554514c4e4c4946443f3a39352f2b26201a140d0500000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acb8c7c5b9ac9f92867a6e6154473c32271b0f0000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000080e171e252a323a414650565e616c717a7e71675d5141382d1d140a0000000000000000000000000000000000000000000000000000020a121c27303947535f6a7884919eabb7c4d1dee3d6c9bcb0a396897d7063564a3d3023170a000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000005121f2b3744505b657885929fabb8c5d2ded2c5b8ab9f9285786c5f5245392c1f120000000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a857a6d61584e42382d20170d0000000000000000000000000000000000000000000000040d1a26313b45515c66707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8174665b5044382b1f120600000000000000040a0f1315161717171717171717171717171717171717171514120e090300000000000000000000000000000000000000000000000000000000000000000000040a0f13151617171717171717171717171717171312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f343738393939393939393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3aebac7d3ddd0c4b7aa9d9184776a5e51442f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f6263636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e120500000000000c18232e3942515b6265676767666665646362605d555b585653504a4745413a37312a251f170f060000000000000000000000000000000000000000000c18232e394754606a7783909dabb5c0c7bbafa3998c7f7265584e43372b1d120700000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000050d1319202930363e444c525a61686d716c61554b412f261b0b0200000000000000000000000000000000000000000000000000040b141c232e39424e58626f7c8896a1acb9c5d2dee1d5c9bdb2a895887c6f6255493c2f221609000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c0000000000000000000000000000000000000000030f1b27333f495e6b7885919eabb8c4d1ded2c5b8ac9f9285796c5f5246392c1f130000000916222f3c4955626f7c7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f685e52463d2f261c0e0500000000000000000000000000000000000000000000000009141f2834404b54606b707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786c605346392d201306000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0c0d0d0e0e0e0e0d0c0b0a08070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0b0c0c0d0e0e0e0d0d0c0a09070705010000000000000000000000000000000000000000000000010406070a0b0c0c0c0b090707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646464646464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667986929facb9c5d2ded1c4b7ab9e9184786b554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a6e707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d2114070000000004101c2834404b54626d7274747373727271706e6d676a676562605c5454524c47433c3631292117110a030000000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000002080e171e252a323a414650565e6164615a50433a2f1d140a00000000000000000000000000000000000000000000000003090d161d262d34404a545f6a75818e9ba8b2bdc9d5e1ded2c5b9aca096877a6e6154473b2e211408000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5d2ded1c5b8ab9e9285786b5f5245382c1f120000000815222e3b4754606a6f707070707070707070707070707070706f6a5f564c41342b1d140a00000000000000000000000000000000000000000000000000030c18232e39424f59606b70707070707070707070707070707070706c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070c101213151718191a1a1b1b1a1a191817151312100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d111314161818191a1b1b1a1a191917161413110d08080705020000000000000000000000000000000206080d111314161819191818161413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535353535353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5f6c7885929fabb8c5d2ded2c5b8ab9f928578675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7b6e6155483b2e2215080000000006131f2c3845515c66727f808080807f7e7e7d7b7a787674726f6d6665605d56534e46423b3328231c150c03000000000000000000000000000000000000000f1b27323c4754616e7a86929facb9c5c7b8aca095887c6f62544b4034281c1004000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000050d1319202930363e444c5254575550483e31281d0b0200000000000000000000000000000000000000000000030a0f151a20282f383f44515c666f7c87939facb9c4cedae5ddd1c4b7aa9e918477685e5246392d201407000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ded1c4b8ab9e9185786b5e5245382b1f1200000006131f2b37434e58606263636363636363636363636363636363625f584e443a3022190b02000000000000000000000000000000000000000000000000000007121d27303d474f59606363636363636363636363636363636363605b544a3f33281c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070604000000000000000000000000000000000000000000000000000000000000000000000000000206090e121415181c1f202223252627272828272626252322201f1c181514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d20212324252627272827272625242221201d19171514120e0906030000000000000000000003090e1214191d20212324252625242321201d19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e606060606060606060606060605f5a52493e33271b0f020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e45525e6b7885919eabb8c4d1ded3c6baada297877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b687581898989898989898989898989898989898989898989898989898989898989898989898074675a4d4134271a0e000000000713202d3a4653606d79868d8d8d8d8c8b8a8988878583817f7c7975716d68625f58534d453f342e261e150b020000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5145382c1f1408000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000002080e171e252a323a4146474b49453e362c1f160c000000000000000000000000000000000000000000060b10151b20262b323a424a505b606d7882909aa4afbbc8d6e0e4d8ccc0b6ac9a8d817467564d41362a1e1105000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000714212d3a4754606d7a879aa4afbbc8d4ddd1c4b7aa9e9184776b5e5144382b1e11000000030f1b27323c464e54555757575757575757575757575757575755534e463c32281e1007000000000000000000000000000000000000000000000000000000000b151e2b353d474f54565757575757575757575757575757575753504a42382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c07010000000000000000000000000000000000000000000000000000000000000000030a0f12141a1e212223282c2d2e3032333334343434333332302e2d2c282322211e1a15120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e202124292c2d3031323333343434333332312f2e2d29242421211e1a13120f0b0600000000000003090e151a1e2124292c2d303132333231302e2d29241e19130c0500000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d2a3744505d6a7783909daab6c3d0ddd6cabeb3a995887c6f6255493c2f22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e96969696969696969696969696969696969696969696969696969696969696968d8074675a4d4134271a0e000000000a1723303d4a5663707d89989a9a9999989796959892908e8b8985827e7a756f6a615e5751443f3830261d140a00000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6c3b8ab9e9285796d6053463b3025190d010000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000050d131920293036393a3e3d39342c241a0d0400000000000000000000000000000000000105090e11171c1f262b31373e444c545b606d74808d949facb6c0ccd8e8e0d4c8bbafa49a8a7d7164574a3e3025190e02000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1b6c0ccd8ddd0c4b7aa9d9184776a5e5144372b1e11000000000a15202b343c4347494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c342a20160c0000000000000000000000000000000000000000000000000000000000030c19232b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181c1f201f1c18120b030000000000000000000000000000000000000000000000000000000000060b10151a1f21262b2d2e2e34383a3b3d3f404041414141403f3e3d3b3a38342e2e2d2b26211f1b15100c060000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f252a2d2e2f35393a3d3e3f3f4041414140403f3d3c3a393530312e2d2a25201f1c17110d08020000050d141a1f262b2d2f35393a3d3e3f3f3f3e3c3a3935302a251e160e0500000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c68737879797979797979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cedbdbd0bdb0a4978a7d7164574a3e31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39a8d8074675a4d4134271a0e00000006121f2b37434e586774808d9aaaa6a6a5a5a4a3aaa29f9d9a9898928f8b86817c756e69625b504a42382f261b11060000000000000000000000000000000000010d1925303b4653606d7985929eabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000002080e171e252a2d2e31302d28221a12080000000000000000000000000000000104080d11141a1c23282b32373c424750565d666c737f8c929da6b0bec7d2dde8dfd2c6b9ac9f93877a6d6154473a2e21140800000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd2dddccfc3b6a99c908376695d5043362a1d1000000000040e19222b32373b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3a37312a22180e04000000000000000000000000000000000000000000000000000000000000071119232b32383b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3938332d261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d23292c2d2c29231d150d030000000000000000000000000000000000000000000000000000060c11171c1f262b2e31373a3b3e404446484a4b4c4d4d4e4e4d4d4c4b4a484644403e3b3a37312e2b261f1c17110c070000000000000000000000000000000000000000000000000000000000000000000001080b141c22282b30363a3b3f414547494b4b4c4d4e4e4d4d4c4c4a49474641403e3b3a36312d2b28221c19140e09080f171f252a31373a3b414547494b4c4c4b4b494746413a36302820160c02000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788586868686868686868686868686796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0d1dcdacdc0b3a79a8d807467584e43372b1f120600000000000000000000000000000000000000000000000000000000000000030608090605030000000000000000000000000000000f1c2835424f5b6875828e9ba8afafafafafafafafafafafafafafafafafafafafafafafafafafafafa79a8d8074675a4d4134271a0e0000000815212e3b47535f6a7884919eabb3b3b2b1b1b0b3aeaba9a7aaa29f9c98928e88827b726d605c544a41382d22170b04000000000000000000000000000000000008141f2c3845515c6774808d9aa7b1bcc8beb3a99c8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000050d13191e20212423211d171008000000000000000000000000000104080d1113191e20262b2e34383c43474d535a61686d78808c919ba4aeb8c2d0d9e4e2d4c8bcb1a79d908376685e5246392d20130700000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6dbcec1b5a89b8e8275685b4f4235281c0f000000000007101920272b2e2f303030303030303030303030303030302f2e2b2620181006000000000000000000000000000000000000000000000000000000000000000007111921272c2f30303030303030303030303030303030302d2b28221c140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272f34383a38342f271f150b010000000000000000000000000000000000000000000000030a11171c23282b31373a3c4246484b4a5153555658595a5a5b5b5a595958565553514a4b4847423c3a37312c28231c18120b0300000000000000000000000000000000000000000000000000000000000000040c13191d262d33383b4246484b4c5254565758595a5a5b5a5a5958575554524c4d4a4846423c3938332d2a251e1a15121a212930363c4247484c51545657585958575654524c46413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b788591939393939393939393939386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98abb5bfcbd7ded1c4b7ab9e9184786a5f53473a2e2114090000000000000000000000000000000000000000000000000000000000040a0f12151513120f0b06000000000000000000000000000f1c2835424f5b6875828e9ba8b5bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb3a79a8d8074675a4d4134271a0e0000000915222f3c4855626f7c8896a1acb9c0bfbebdbcbebab8b6b4b4aeacaaa39f9b938f867f746d665c53493f332720150a000000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000002080d111314181714110c0600000000000000000000000004070d1013191d20252a2d3137383f44464e53575f626c717a828d929ba3adb7c0cad4e2e3d9d0c7b8aca0958a7e7164564c41362a1d110500000713202d3a4653606d798693a0acb9c6d3d8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbd8dacdc0b3a79a8d8074675a4d4134271a0e000000000000070e151b1f22222424242424242424242424242424242422211f1b150e0600000000000000000000000000000000000000000000000000000000000000000000070f161c20222324242424242424242424242424242424201f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151a1d262d333940454745403931271d120700000000000000000000000000000000000000000001080c151c23282e34383c4347484d535558545c606163656666676767676666656361605c545855534d4847433c38342e28231d150c080200000000000000000000000000000000000000000000000000000000060d161e24292f383f44464d525458565d6063646566666767676666656462615d565a5754534d4946443f3836302b262018242c333b42464d5355555d6063646566656463615d56524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3ded2c5b9aca196887b6e6255483b31251a0e04000000000000000000000000000000000000000000000000000000060e151b1f2122201f1b17110a0200000000000000000000000f1c2835424f5b6875828e9ba8b5c1c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c0b3a79a8d8074675a4d4134271a0e000005111e2a36414d5666737f8c99a8b2bdc9cccbcad0cac6c5c3c1bfbab8b4aeaca59e98928b80786d655b50443c32271b0c0200000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998c7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000010507070b0a0805000000000000000000000003070c1013181d2024292c3036393c42464a5053585f62696e767e858f949da4adb5bfc9d2dce8ddd2c7bdb2a89d9184786c6053463a3025190d0100000713202d3a4653606d798693a0acb9c6d3d8cbbfb2a5988c7f7265594c3f322619060000000000000000000000000000000000000004111d2935404b556874818e9ba7b4c1cedad8ccbfb2a5998c7f7266594c3f3326190c00000000000000040a0f131516171717171717171717171717171717171515120f0a04000000000000000000000000000000000000000000000000000000000000000000000000050b101316161717171717171717171717171717171713120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b5153514b43392f23180c0000000000000000000000000000000000000000040c13191e262e34383f44464e5355575f616467666d6e7072737374747474737271706e6d666764615f5755534e46443f38342e271e19130c0400000000000000000000000000000000000000000000000000000610181f282f353e424a5053575e616568686d7071727273747474737372706f6d68696764615e575653504a46413b373129242d363e454d52575f6166676d7071727272716f6d68615e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabacacacacacacac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd5c9bdb2a8998c7f7266574d42362a20150a000000000000000000000000000000000000000000000000000006101820262b2e2f2d2b27221b140b02000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6d6d1cac4c1bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb3a79a8d8074675a4d4134271a0e00000714202d3946525e687683909da9b6c3cececfd1d2d4d3d2d0d0cac6c5bfbab9afaaa29f928e81776c60584e43372b1e140a000000000000000000000000000000000007121d2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000060c1012181c1f24292c2f35393a4146474d53545c60636a6f757b828a91979ea6aeb6bfc7d1dbe4ded7ccc0b5aba0968a7e71665b504438281e13080000000713202d3a4653606d798693a0acb9c6d3d9cdc0b3a69a8d8073675a4d402d22170b000000000000000000000000000000000000000613202c3945515d677784919daab7c4d0ddd7cbc0b5ab978a7e7164574b3e3124180b000000000000000000030608090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b12181e252931373d414950555c605c554b4034291c1004000000000000000000000000000000000000070d161e242930383f444a5053585f6266696e717477797b7d7e7f8080818180807f7e7d7b797774716e6966625f5853504a4540393029241e160e07000000000000000000000000000000000000000000000000060f18222a313a414550545b6063696e7274777a7c7e7e7f80818180807f7f7d7c7a787673716e696662605b54524c47423c352f373f4850575e61696e73777a7c7e7f7f7e7e7c7a786d685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8b9b9b9b9b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dbdacec3b6a99c908376695e53463c32271b0f05000000000000000000000000000000000000000000000000050e18222a31373a3c3937332d261d140a000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd1c8bfb9b4b3b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2a79a8d8074675a4d4134271a0e00000814212e3b4754616e7b87939facb9bfc0c1c2c4c6c7ccd2d2d5d6d3d1cbc7c1bcb4aea59d938d80736a6054473e30261c110600000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000001040a0f11171c1f23282c2f35393a4145474c5254575f61666d70757c81878f949ea1a9b0b8c0c8d1d9e3ded6ccc4bbafa4999184786d60544a3f3328160c020000000713202d3a4653606d798693a0acb9c6d3dbcec1b4a89b8e81756853493f33271b0f030000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2dfd3c7bbafa399887c6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d232830353c42474f535b60676d675c5145382c1f1306000000000000000000000000000000000009101920282f353d424a50545c60646a6e73777b7e81848688898b8c8d8d8e8e8d8c8c8b89888684817e7b77736f6a64605c54514b423d3530282019100900000000000000000000000000000000000000000000050e18212a343c434c515a61666c70757b7e818486898a8b8c8d8d8e8d8d8c8b8a88878583807d7b77736f6c66615e56534e45413a3f49515a61696e757b808486898a8b8c8b8a8987857a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4c6c6c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa9b3becad6dfd2c5b9ac9f92877b6e61584e43372b21170d0400000000000000000000000000000000000000000000030c17202a343c43474846443f382f261b11060000000000000000000f1c2835424f5b6875828e9ba8b5c1ced5cabfb6aea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8074675a4d4134271a0e0004101d2935404b5565717e8b9aa4afb2b2b3b4b5b7b9bbc0c4c5c9ced5dad7d3cec6bfbaafa59f93877c6f62594f42382e23170b00000000000000000000000000000000000a15202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000001070d11151b1c23282c2e34383a4045474c5254565e6165696e73797d82888e93999fa6adb3bbc1cad2dae3ddd5ccc4bab0a69f93877d70665c5042382d221705000000000713202d3a4653606d798693a0acb9c6d3dccfc2b6a99c8f8376655b5044372b1f12060000000000000000000000000000000000030f1c28333f4a5463707c8999a4afbbc7d4dfd2c5b9ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000106090b0c0c0c0a060200000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c0904000000000000000000000000000000000000000000000000000000000307090a13131313131313131313131313130c0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090b141b22272e343a41464d535960656c71796d6053473a2d201407000000000000000000000000000000010a121b222b323a41454f545c60666d71777b8084888b8e919399969899999a9a9a9a999998969992918e8b8884807b77716d66605c544f46413a322b221b120a0100000000000000000000000000000000000000020d172029333c464e555d606c70787d82868b8e91939a979899999a9a9a999998979597928f8d8a8784807c78736e68625f57514b4347515b626c717b81888c91939a979899989796978a7d7064574a3d2f24180d0100000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3d4a5763707d8a97a2adbac6d3dfd4c7bbafa3998e81756a6054473e332920160c030000000000000000000000000000000000000000030c151e29323c464e535553504941382d22170b0000000000000000000f1c2835424f5b6875828e9ba8b5c1ced0c4b9aea49c9999999999999999999999999999999999999999998d8074675a4d4134271a0e0006131f2c3845515d6775828f9caca4a5a5a6a7a9aaacafb5b7b9bdc4c9cfd6dfd7d0cac0bbafa49a8f82766b61544a3f34281c10030000000000000000000000000000000005111e2a36414d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000040a0f13181d20262b2e34383a4045464b5153565d6065686d72767b80848a8f949b9fa4abb0b9bec4cdd3dce5dcd4cbc3bab2a89e948c7f736b60544a3f2f261c1106000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8ab9e9185796c605346392d22170b010000000000000000000000000000000006121f2b3844505b6673808c99abb5c0ccd7ddd0c4b7aa9d918477675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000070d12161819191816120d07000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000040b101316162020202020202020202020202020191816120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1d262d333940454c52575f616b6f787e84786b5e5145382b1e120000000000000000000000000000010a131c242d343c444c525960666d72787e83888c9196979a9d9fa4aba5a6a6a7a7a7a7a6a5a4aba39f9d9a9796918c88837e79726d666059524c443d342d251c130a0200000000000000000000000000000000000008131e29323b454e585f676d747d848a8f92999b9d9fa4aca5a5a6a7a7a7a6a6a5a3a9a29f9c9a9795918d89847f7a756e6a605d554f4f59626d727e868e93999d9fa4aca5a5a5a4a99a8d807367554b4135291d110400000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cedad7cbc0b5ab9f93877c6f62594f453b32281e150c05000000000000000000000000000000000000050d151e27303b444e585f62605b53493f33271b0f0300000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc1b4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8074675a4d4134271a0e000714202d3a4753606d79869297979898999a9b9c9e9fa4ababacb2b9bec4cdd5dddbd6ccc0b6ac9f948a7d70665c5044382b1f120600000000000000000000000000000000020e1925303b4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000040a0f151b1d24292c3237383f44464b5153555d6064686d71767a7f83888d91969c9ea6acafb5bdc2c9cfd6dfe0d9d5cac2b9b1a8a0968f82776c60594f42382e1d140a00000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada197897c6f6253493f33271d1207000000000000000000000000000000040d16202d394653606c7884919eabb7c4d2dddbcec1b4a89b8e817568554b4034281c100400000000000000000000000000000000000000000000000000000000000000010911181e2225262625221e180b06000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262b2f383f444b51565e61696e757d838a86796c605346392d201300000000000000000000000000010a131c252e363f464e565d606b70787f848a9095999da0a8a7aaacafb5b1b2b3b3b4b4b3b3b2b1b5afacaaa7a8a09d9995908a847f79706b615d564e463f372e251c140a0100000000000000000000000000000000030c1925303a444d575f6a6f7a818a91969c9fa3abaaacafb6b1b2b3b4b4b3b3b2b2b0b3adaba9a6a8a09d9996918c86817b736d67615955606b727f8892989ea5aaacafb6b2b2b1b1aa9d908377675d5145392c20130600000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674818e9ba8b2bdc9d5dcd1c7bbafa49a8f82766b61574d443a30271e170f0802000000000000000000000000000003090f171f273039434d565f6a6f6c655b5044372b1f150a00000000000000000f1c2835424f5b6875828e9ba8b5c1ceccbfb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000a1724303d4a5763707d8a8a8b8b8b8b8c8d8e8f9193999a9ea1a8adb3bbc3cbd5deddd2c7beb0a69d9184786d6053463a2d201308000000000000000000000000000000000008141f2c3845515c6774818d9aa8b1bdc8beb3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2b8b8b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000040a0f151b20262b2f35393c43474a5053555c6064676d71757a7e82868b9094999ea1a8aab0b9bbc0c7d0d5dae1ddd8cec9c0b8b0a7a09691847a6d655b50473d30261c0b0200000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a99a8d8073655b5044392f23180f0500000000000000000000000000010c161f2a36414d5663707d8a96a1adb9c5d2e3d5c9bdb2a8988b7e7165584b3e2e23180c000000000000000000000000000000000000000000000000000000000000000009131b23292e313233322f2a2317110a02000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000000000000000000000007111921272c2f30393939393939393939393939393933322e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931373d414950555c60686d747b8289909586796c605346392d2013000000000000000000000000000a131c262e373f48505860686d757d838b91969d9fa7aaacb2b4b7b9bbc0bebfc0c0c1c1c0bfbfbec0bbb9b7b4b2acaaa7a09d96918b847d756d686058514940372e261c130a000000000000000000000000000000000a151e2a36414c565f696f7c848e939ea1a8acafb5b7b9bbc0bebfc0c0c1c0c0bfbebdbebab8b6b3b1acaaa9a19e99928e868079706b625d67707d87939aa2aaafb7b9bbc0bebfbeb9ac9f92867a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8996a1acb9c5cfdbd8ccc0b6ac9f948a7d70695e564c423930292119130e09040000000000000000000104090e141a21293139434b555e696f7b776c6053463c31261b0f02000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679737373737373737373737373737373737373737373706b6055483c2f231609000915222f3c4855626f7c7e7e7e7e7e7f7f80818284868a8d91969ea1a9b1b9c3ccd5e0d9d0c2b8aca095897d706356493d3025190d010000000000000000000000000000000004101c2834404b55626f7c8995a0acb8c7c5b9ac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5ababababa99c8f8376695c504336291d1000000000000000000000000000000000000000000002080d151b20262b32373a4145474e54545c6063676d70757a7e82868b8f92999c9fa6abadb2b7bbc1c7ccd2d9e2e2d9d2ccc4bdb9aea69f9590847b6e685d53493f352b1e140a0000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc4b7aa9e9184786c60554b40342921170d060000000000000000000000020a131d28313a46525e6875828f9ba8b2bdc9d5ded2c5b9aca196887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000007111b252d353a3e3f3f3e3b3528221c140b0300000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000040f19232b32383b3d46464646464646464646464646463f3e3a352e251c11070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353c42464f535b60676d727a80868f939d9386796c605346392d201300000000000000000000000008121c252e384049515a626a6f7a818991959ea1a8abb1b7b8bdc1c4c6c7ccd2cccccccbcbcdccccd1cbc7c5c4c1bdb8b7b1aca8a19e969189817a6f6a625b514940382e251c1108000000000000000000000000000006111c26303846525e686e7b8591969da5acb2b9bbc0c4c6c8ccd2ccccc9c7c6c6c6c7d0cac6c5c2c0bdb8b7b2adaba39f99928d857d726d606d7a859299a4acb4bcc1c6c8ccd2ccc7bbafa399897d7063564a3d2f23180c00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7884919ea9b3becad6ddd2c7beb0a69e91857b6e685d544b423b332a251e1a14100c07070605040607070d10141a1f252a333b434b555c676e7b857d7063584e43372b1e1408000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d66666666666666666666666666666666666666666360594f44382c201407000815212e3a47535f6a6f71717171717272737476777a7d80848b9197a0a7b1bac3ced9e2d4c8bdb1a89a8d817467564c41362a1e110500000000000000000000000000000000000c18232e394754606a7784919dabb5c0c7bbafa3998b7f7265584e43372b1c120700000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c989e9e9e9e9e9e9c8f8376695c504336291d100000000000000000000000000000000000000000040c131920262b32373c43474b5154585f62666d7074797d81868a8f92999c9fa3ababb0b8b9bdc4c7ccd4d7ddded8d3d0c7c0bbb2aca49d948f837a6e695f564c41382d23190c020000000000000713202d3a4653606d798693a0acb9c6d3dfded2c5b9aca0968a7e71675c51453d33291f180f09030000000000000000060b141b242f3a434f59616e7b86929facb9c4cfdaded1c4b7ab9e918478695f53463a2d211407000000000000000000000000000000000000000000000000000000000000050f19232d373f464a4c4c4b4640332d261d150c0400000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000b16212b353d44484953535353535353535353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41464d535960656c71797f858d92999ea59386796c605346392d2013000000000000000000000007101a242e37404a525b636c717c848e939da0a7acb2b8bcc3c5c8ced0cec9c5c4c2c1c0bebfc0c1c2c4c5c8ced0cec8c5c3bcb8b2ada8a09d938e847c726d635b524a40372e241a1006000000000000000000000000000c17232e3842505a616d7a849197a1a8afb9bdc4c7cbd1d2cdc7c4c3bfbdbbbab9b9babbbcbec1c4c5c8c5c4bdb9b4aeaba39f9791877f746e727f8c97a1abb5bec6ced2d4d8d4d1cbc0b5ab998d807366554b4034291c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c66727f8b97a2adbac4cfdad9d0c2b9ada19791837a6d665c544d453e36302a251f1d181514131210131315181d20252a31363e454d555d676d79838f82766a5f53473b3025190d010000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605959595959595959595959595959595959595956554f473d33271c10040006121f2b37434e585f6264646464656566676869686d7074797e859095a0a8b2bdc8d4e0d9cec3b7ab9e918478685e5246392d201307000000000000000000000000000000000007121d2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5347392e23180c00000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c91919191919191918f8376695c504336291d1000000000000000000000000000000000000001080e161e242931373c43474e54555d60656a6f74797d81858a8e92989b9fa3abacafb5b7bcc2c5c9cfd3d7e0dfd8d3cdc7c2beb6afa8a09e928d82796e685f574d443a2f261b1107000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d5c9bdb2a89e9184796d60584e453b312a211a140e090604000406070c11171d262d35404b55616b74818e99a3afbbc7d6e0d5c9bdb2a89a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000030c17212b353f49515659595751443f382f271e160d0500000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000000000000000000000003101b27323d474f54566060606060606060606060606060595751493f352a1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a21272c303940454c52575f616b6f787e848c92979fa3ab9f9386796c605346392d201300000000000000000000030d19222c363f49525c636d727e8791969ea5acb1b9bdc4c8cdd1cec8c5c4bdb9b7b6b4b3b2b2b3b4b6b7b9bdc3c6c8ccd2cdc8c4bdb9b2aca59e9691877f736d635c52493f362c22180c03000000000000000000000003101c28343f4a54616c76829096a0a9b2bac1c9ced4d7ccc6c2bcb7b6b2b0aeadacacadaeafb2b4b7b8bcc3c4c7c6bfbab5aea9a199938c80747884919ea9b3bdc7d0d8d9d2ccc8c6c0bbb6a99c908376675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7985929fa8b2bdc9d5dfd5c9beb2a9a0958f82786d665e575046413a36312c29242221201f1c1f202224292c31363b42464f575e676d79828f94887c6f62564c41362a1d12070000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352c21160b0000030f1b26313c464e5355575758585858595a5b565d6064666d727a839096a0acb9c4ced9ded2c5b9aca196877a6d6154473a2e2114070000000000000000000000000000000000000f1b27323d4754616e7b86929facb9c5c7b8aca095887c6f62544a4034281c1004000000000000000000000000000000000000000000000000000c1825323f4b5865727f858585858585858585858275685c4f4235291c0f0000000000000000000000000000000000040c1319202830353c43474e53585f62676d72777c8185898e92979b9fa2aaacaeb4b9bbc0c7c7cdd2d5dae0dbd6d3cdc7c2bcb7b1aca49f96918981786d675e564d453c32281d140a00000000000000000713202d3a4653606d798693a0acb9c6d3dfe5d9cec4b9aca1968c7f726a60574d433c332a251f1a1413100c101313181b22272f383f45515d67707d89939eabb5c0cbd7ded2c5b9aca096897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000b151e29333d47515b626566635b504a423930281f170e0600000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b51463a2e22160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d61696e757c838a91969fa2a9aeb59f9386796c605346392d2013000000000000000000010b151f2a343e48515b636e737f8b9299a0a8afb8bcc3c9ced4ccc7c3bcb8b7b2acaba9a8a6a5a5a6a8a9aaacb2b6b9bbc0c7ccd2cfc9c3bdb8afa8a199928b7f736e635b51483e342a1e150b000000000000000000000006121f2c3844505c66707d8a949fa8b2bbc4ccd5d8d1cbc1bab6b1aba9a6a3a1a0a0a0a0a1a3a5a7aaacb1b6b7bbc2c7c6bfbbb3aba49f928b7f7b8796a1acbbc5d0d9d7d0c7c0bbb9b5afacaa9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515d6773808c96a1adb9c2cdd6dacfc4bbb1a79f948e81786e69615a524c46423b39352f2f2e2d2b282c2d2f2f35393b42464d535961696e79828f949b8e8174685e5246392f23180c0000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534640404040404040404040404040404040403d3c38332c231a0f050000000a15202a343c4347484b4b4b4b4b4c4c4d4e4c5254545c60686d7a84919ea8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000000000000000000000000000000000000a15202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c5144382c1f1308000000000000000000000000000000000000000000000000000b1824313d4a56626d7278787878787878787878756f65594d4134281b0e00000000000000000000000000000000050d161e2429323a41454e53585f626a6f747a7e83888d92979b9fa2a9acaeb4b9babfc5c7cbd1d3d8dfded8d3d0cac6c2bcb7b0aba79f9a938d847d746d665d554c443c332a20160b0200000000000000000713202d3a4653606d798693a0acb9c6d3dfebe0d5c9bdb2a89f92867c6f695e564d453e36312a25201f1d181c1f2023282d333a4149505c606d7984919ea5afbdc7d1dcd6cbbfb4aa9e9184776a6054473b2e1f1409000000000000000000000000000000000000000000000000000000000007121d27303b454f59626d72726d605b544b433a312920180f07000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000000000000000000000916222f3b4854606b707979797979797979797979797979726d63574b3e3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434850545c60686d747b828990959ea1a8adb3bbac9f9386796c605346392d201300000000000000000007121d27313c46505a636d73808c919fa3abb2bac1c8ced5cec9c1bbb7b1acaaa8a19e9c9b9998989a9b9c9ea0a8a9acafb6bbc0c7d0d5cec8c1bab2aba39f918c80736d635a50463c30271d1207000000000000000000000713202d3a4653606d7884919da6b0bac3cdd6d8cfc6bfbaafaaa79f9d999694939393949496989b9da0a7a9abb0b8babfc6c4bdb5afa49f9287818e9aa8b2bdcdd6d7cdc5beb6afacaba39f9d9e99897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2935404b55606d7984919ea6b0bbc5d0d9d6cdc3b9b0a69e938e837b706c615e56534d4745403d3b3a393734383a3b3d4045474d53575e616c707b838f949e9f92867a6e61554b4034291c100400000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a33333333333333333333333333333333302f2c27211a110800000000040e18222a31373a3c3e3e3e3e3e3f3f40414145474a50565e68717e8a96a0acb9c5d2dedacebeb2a5988b7f7265584c3f3225190c00000000000000000000000000000000000005111e2a36424d5664717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000915222e3a45515b62656b6b6b6b6b6b6b6b6b6b68655d53493d3125190c000000000000000000000000000000060e171f282f353e444c52585f626a6f757c81868b90959a9ea1a9abadb3b8babfc5c7cbd1d4d7dcded9d4d1cdc7c5bebab8b0aba69f9c9590878079706b605c544b433b322a21180e040000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e5dacec4baaea39891857b6e685f574f46423b36302d2c2924282c2d2e34383f444c535b606e74818e96a1acb7c1cfd9dfd3c7baaea3988c807366584e43382b1f0d0300000000000000000000000000000000000000000000000000000000081118232e39434d57606b727f7f746c665c554c433b322a21191008000000000000000713202d3a4653606d7886868686868686868686868686868275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707d86868686868686868686868686867f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000000000000040a0c151d232830353b42464f545a61666d727a80868e939d9fa7acb2babeb9ac9f9386796c605346392d20130000000000000000000c18232f39434e58616c727f8c929ca3aeb4bdc4ccd4d2ccc4bdb9b0aaa7a09d9996918f8e8d8b8c8d8e8f9196999d9fa4acafb6bec3cbd1d4ccc4bdb5aea39c928c7f726c61584e42392e23180c04000000000000000004111d2935414b5565717e8b96a0acb8c2ccd5d9d0c6bdb4aea59e9b95908c8a888786868788898b8e9195989c9fa6acaeb4bbc0c7c0bbafa399928e929da9bac4cedbd0c5bbb3aca49f9a99929191928c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d18242f3945515d67717e8a949fa9b3bec7d2ddd5cbc2b8afa59e9590857e746d68615e5753514b4948474644404546484a4b5153575e61696e757d8590959fa6a3988c8073675c5145382c1f160b00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2626262626262626262626262626262323201c160f0800000000000006101820262b2e2f31313131323233342f35393a3f444c56606d7884919eaab7c4d1ddd9cdc0b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000020e1925303b4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d110500000000000000000000000000000000000000000000000005121d29343f495156585e5e5e5e5e5e5e5e5e5e5c59534b42372c2015090000000000000000000000000000060f182029313a41454f565d606a6f757c82888e92989da0a7abadb3b8babec5c6cad0d3d7dcdfd9d4d1cec8c5c2bbb7b4aeaba69f9c949089837c746d676059514b423a312920180f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dff6ebe0d6cbbfb4aaa19790837a6e696159534d46423c3a39352f34383a3b40454950565d656c74808d929da8b2bdc9d2e1d7cbc0b5ab9f92867a6d6154473d32271b0f0000000000000000000000000000000000000000000000000000000007101a232834404b555e69707d878c80786d675d554c443c332b221a11080000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c899393939393939393939393938c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000000000000003090e161b1e272e343a41454d535960636c71797f858d92999ea5abb1b9bdc4cab9ac9f9386796c605346392d2013000000000000000004101c2934404b555f6a717e88939fa4adbabfc6cfd6d1c8c0bab2aca69e9c95918c88848381807f7f80818384888c90939a9fa4acb1bbc0c7cfd6cfc6bfbbada49f93887e706a5f544b40342820150a00000000000000000613202c3945515d6776828f9ca8b2bdcad4ddd2c7beb4aba39f938e88837f7d7b7a79797a7b7c7f8184888b90949a9fa3aaafb5bdc2c0b5aba39f9a9da5afbaccd6d6cabeb3a9a29a938d8886848485888276695c4f4336291c10000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2935404b55616c76828f97a1acb6c0ccd8dbd4cac1b7afa79f97928a807a746e6963605d5556555453504b51535557555d6064696e737b818a92979fa7b0aa9e9285796d6053473d33271c1000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201919191919191919191919191919171614100b050000000000000000060e151b1f2122242425252525262724292c2e343a44505c6673808d99a6b3c0ccd9dbcec1b5a89b8e8275685b4f4235281c0f0200000000000000000000000000000000000009141f2c3845515c6774818d9aa8b2bdc8beb3a99b8f8275685e5246392d20150a000000000000000000000000000000000000000000000000010c18232d373f454a4b525252525252525252524f4d49423930251b0f0400000000000000000000000000061018212a333b434c525961686d747c82878f939a9fa2aaabb1b8b9bec5c6cad0d3d6dbddd8d4d2cdc8c4c3bcb8b7b0abaaa29f9a949089837d766f6b605d554f45403930281f170e0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dff1e8e1dad0c6bcb3a9a09590847b706b615e57524d4947454043404546484b51535b60686d77808d929da5afbac4cedbdbd4c7bbafa3998d8174685e5246392b20160a000000000000000000000000000000000000000000000000000000060f19222c353e45515c676e7b8592928d81796d675e564d453d342c231a110800000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000000000000001080d141a20272b303940454c52575f616b6f767e848c92979fa3abafb8bcc2c9ceceb9ac9f9386796c605346392d201300000000000000020c1a242c3845515c676f7c86929aa4afb6bfcbd1d8d0c7bfb6aea8a19e948f8884807b787675737272737576777b7f83878e939a9fa7afb5bdc6cfd8d1cbbfbbafa49a92867c6f665c51453c32261b0f05000000000000000714212d3a4754606d7a86929facb9c3cedfd8ccc0b6aca399928a817b7673706e6d6d6d6d6e707274777b7f83888e92989fa4abb1b9c0bdb5afaca7a9afb7c0cbded3c6baada2979288807b797777797b7e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18242f3943505a616e7b85929aa4afbbc0c9d3dbd3c9c1b9b1a9a29f928d86807b74706d6766636261605b545c60626466676d70757b80868e939fa2a9b1b9ada1978b7e7165594f44382c1c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000000040a0f121515181818181819191a191d202328343f4a5464717e8a97a4b1bdd2dddccfc2b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000004101c2934404b55626f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f0000000000000000000000000000000000000000000000000006111b252d343a3d3f4545454545454545454542413d3730271e140900000000000000000000000000050e18222a333b454d565d606b707a81878f939a9ea6acaeb4b8bcc3c6c9cfd3d6dbddd7d4d2ccc8c6c3bcb8b6b1acaaa69f9c98928e89837d76706b636059514b433d342e271e160d050000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8dfd6cfc9c6c4bbb1a7a09691857d756e69615e575553514b504b515354555c60656c717a818d929da4aeb7c0ccd6ddd5c9beb3a99f92877b6e61564c41362a190f040000000000000000000000000000000000000000000000000000050e18212b343e47515b606d798390979d938e82796e685f574e463d352c241a1005000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3acacacacacacacaca5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000070c13191f262a32383e424b51565d60696e757c838a91969fa2a9aeb5bdc1c8cdd0cac4bdac9f9386796c605346392d2013000000000000000a141e2c38434f59606d79839198a2acb6c0c8d7dcd0c7bfb5ada49d96918a827c77736f6a6968666565676869696e72767b818790959fa3abb5bdc6cfd8d7ccc0b6aca2989083796d60584e43372b21160b000000000000000a1724313d4a5764707d8a99a3aebbc7d3e0d4c8bbafa49a92877e756e696663616060606161636568696e72767b81868d93999fa7aebbbfc0bbb9b4b5bac0c9d2d4c8bdb1a89f92857d746e6d666b696e706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313e46525e69707d88939fa5afb7c1c9d6dbd3cbc2bbb3ada49d98928d86817d7a7672706e6d6c656b666d6e7073767a7d82878d92989ea5adb3bbbeb3a99d9083776b605448382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000030608090b0b0b0b0b0c0c080d111317232e3b4855626e7b8895acb6c0ccd8dccfc3b6a99c908376695d5043362a1d1003000000000000000000000000000000000000000c18232f394754606a7784919dabb5c0c7bbaea3998b7f7265584e43372b1c11060000000000000000000000000000000000000000000000000009121b23292e3132383838383838383838383534312c251e150c02000000000000000000000000020b17202a343c454d575e686d747d848e939a9fa4acb0b8babfc6c8cdd2d5dadcd7d3d2ccc7c6c0bbb9b6b1acaaa7a09d9994908b85817c76706b636059544f4540393128231d150c04000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe1d6cdc5beb9b8b9b9b1a8a0979288817b736e696662605d555d545c606164676d70787e858e939da4aeb6c0c9d2ded5cbc3b9ada1978d8074695f53443a302519070000000000000000000000000000000000000000000000000000040d17202a333d464f59626d74818e959fa59e948f837a6e6960584f473e362c22170b000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afb9b9b9b9b9b9b2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000000000000030b12181e242931363d434750545c60686d737b818990959ea0a8adb3bbbfc6cfd1cbc5bebab2aca79386796c605346392d201300000000000006111c2630384854606b73808d95a0aab4bec7d2dad0c7beb5ada39c928d847d756f6a66625f585b5a58595a5b575f6166696e747c838b9299a3abb4bcc6d0d9d2c7beb4aaa0958d80736a5f54473d33271c10040000000000010e1b2734414e5a6774818d9aabb5bfcbd7d8ccc0b6ac9f93887e716c615f57575554535354555658575f61656a6e747a808790959da4aeb5bdc6c5c1c2c5cbd2dbd1c5b8aca0958b7f726b62605c575f6164615a5044392d201408000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36424d56606b73808c939da5afb7bfcad0d8d4cdc5bebaaeaaa29f99928e8986837f7c7b7a79787879797b7d7f82868a8f92999fa3aaafbabec5c5b8aca095897d7063544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000001040614202d3a4753606d7a869aa4afbbc8d4dcd0c3b6a99d9083766a5d5043372a1d10040000000000000000000000000000000000000007121d2b38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000911181d2224252b2b2b2b2b2b2b2b2b2b292825201b140c03000000000000000000000000000a141d29323c464e575f696e7a818a91969fa4acafb6bec1c6cad0d4d9ddd7d4d1cbc7c5c0bbb9b6afaca9a7a09d9995918c88837e7a746f6a636059544f48433d352f281f18120b0300000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e6dacfc5bbb3adabadb3bab2a9a29a938e86807b77736f6d676a696a666d6e7175797d838b92979ea5aeb6c0c8d2dbd7cdc3b9afa59e91857a6d60574d4232291e130800000000000000000000000000000000000000000000000000040d161f29323c454e58616b727f8b939da7afa69f9590847b6f6a615950483e33281c10040000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc6c6c6c6bfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939d9fa7acb2babec5cbd1ccc6bfbab3ada8a19e9586796c605346392d20130000000000000b17232e3842505a636f7c87939fa8b1bcc6d0d9d3c9beb5ada39b918c8079706c625f5855534e4e4d4c4c4d4e4d5355575e616a6f787f879299a3aab4bdc7d2d9d0c6bcb1a79f92877c6f62594f44382c21160a000000000003101c2936434f5c6976828f9ca9b5c2d1dcd4c8bbafa49a8e81746c615a534d4a484746464748494c4d5355585f62686d747c838d929fa3abb5bfcbcdced1d6ddddd0c4b7aa9d9184796d605953514d5355575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303b444f59636e74818e939ea5aebabfc6ced6d7cfcac0bcb4aeaba39f9b98928f8c8988878685858686888a8c8f92989b9fa3abaeb4bcc1cacac0b9b0a79c8f8276665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000060c121518181f1f1f1f1f1f1f1f1f1f1c1b19150f09020000000000000000000000000006111b262f3b444e585f696e7b838e939ea1a9afb6bbc0c7d0d3d6dbd9d4d2ccc7c6c0bbb9b5afacaca49f9d9895908c8884807b76716d67626058544f48443d383229241d160d07000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e1d5c9beb3a9a19ea1a9afb7b3aca49f98928d87837f7c7a7877767778797b7e82858a90959ea1a9afb7c0c8d2dad7cdc5bbb1a79e938a7e71675d51453b3120170d02000000000000000000000000000000000000000000000000040d161f28313b444e57606a707d87929fa5afb8b0a7a09691857c706b615a5044392d2014080000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d2d2ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000003090e151b1e272e343a41454d535860626c71797f858d92999ea5abb1b9bdc4cad0d0c7c0bbb4aea9a29f96918a83776a5d5044372a1d11000000000003101c28343f4a54616c76839099a4afbac3ced8d6cdc1b7ada39b918b7f746d67615a534e48474342403f3f40424246484d535860666c727e879298a3abb5c0ccd7d8cec3bbafa3998f82766b6054483d32271b0f020000000004101c2834404a546a7784909daab7c3d0ddd2c6b9ac9f93877b6e615a5047423d3b3a3a3a3a3b3d3f4246484e53565e616a6f78808b9299a3aebbc0cbd4dee2e5d9ccbfb2a6998c7f73665c5046444246484a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323d47525c606c78818e939ca4aeb4bcc2cad0d7d6cec6bfbab5aeacaaa39f9c9996959992919292989597999c9fa3aaacafb5babfc6cec6bfbaaea69f959083796d6053463a2d2013070000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000a16202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c5044382c1f13080000000000000000000000000000000000000000000000000000000105090b0c121212121212121212120f0e0c09040000000000000000000000000000000b17222d38414c565f6a6f7b8491959da5adb2bbc0c7ccd2d9dfd8d3cec8c7c0bbb9b5afacaba49f9c9a93908c88837f7b77736e6964605d55544e48443d38332c272118120c0400000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfd2c6b9ada19792979ea5afbcb6afaaa39f9a95908c8886858483848586878a8e92989d9fa7adb3bbc1c9d2dad5cdc5bbb3a9a0958e81756c61554c4133291f0e05000000000000000000000000000000000000000000000000040d161f28313a434d565f6a6f7d869299a3afb7c0b9b1a8a09792867d706c6155493c3023160a0000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000001080d141a20272b303940444c52575f616a6f767d848b92979fa3abafb8bcc2c9cecec8c2beb6afaba39f97928c847e776c605346392d201306000000000006121f2b3844505c66707d8a959fabb5c0ccd5dacfc4bbafa59b918b7f726d605d555047433c3a37313332323431373a3b42464e545b606c717d869299a4afbbc3cfd9d7cbc0b5ab9f94897d7063594f43382c1e13080000000006121f2c3844515c667885929eabb8c5d1dccfc3b6a99c908376695e53473e37312e2d2d2d2e2e3031363a3c43474c525860666d747e87929fa4aeb9c2cdd8e4e3d6c9bdb0a3968a7d7063544a3f38363a3b3d3c39332c241a10050000000000000000000406070c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000000000000000000000000000000020d17202c354044505b666d78818c929fa2aab1babfc6ccd2d6d0cac6bfbbb9b4aeaca9a5a3aba39f9e9e9fa3aaa3a6a9acaeb4b9bbc0c7cbc9c2bcb4aea49d9490837a6d665c5044382b1f12060000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495f6b7885929eabb8c5d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6c3b8ab9e9285796d6053463a3025190d01000000000000000000000000000000000000000000000000000000000000000505050505050505050502020000000000000000000000000000000000030f1b27333f49535e686f7c859196a0a7afb9bdc4ccd2d8ddd8d3ccc7c3bcb8b5afacaba39f9c9993908b87837f7b77736e6a66625f5753514b47433d38332c27211b160d07010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c5b8ab9e92858e939ea9b3bcbbb4aeaca79f9d99959792919091929794979b9fa2aaabb1b9bec5cdd3dad5ccc3bbb3a9a1979183796d605a50433a2f21180d000000000000000000000000000000000000000000000000040d161f28313a434c565e696e7c859298a2abb5c0c9c3bab2a9a19892867d7064574a3d3124170a0000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000060c13191f252a32373e424a51565d60696e757c838a91969ea2a9aeb4bdc1c7cdcfc9c3bdb8b0aca49f99928d857f79716c655b5044372b1f120500000000000713202d3a4653606d7884919da7b1bdc7d2ded5c9beb2a99e938b7f726d635b514b433e37312e2b2627252627262b2d31363d424a505a616b707d87939fa7b1bdc7d1dcd1c7bdb0a69d9083766b6054483a3025190d010000000713202d3a4653606d7986939facb9c6d2d9ccbfb3a6998c807366574d42352b2622212020212223262a2d31373a41464e545c606c717e8a929ca7b1bcc7d3dfe2d5c8bcafa295897c6f6256493c2e2a2d2e31302d28221a12080000000000000001070c10131418181818181818181818181818181818181818181818181f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201818181818181818181818181818181818181818181818181413110d070100000000000000000000000000000000000000000000000000000000000000000000050e1a2328333f4a545c666d77808b92989fa7aeb4bbc0c7cbd0d4d1cbc7c5bfbab9b6b2afb5afacababacaeb4b0b2b5b9babfc5c7cbc8c4bdb9b0aaa29f928d827a6d685e544a3f34281c10030000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d45525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202b3744505b656e7a859197a1a8b1b9c0c9cfd8dddad5cdc7c2bbb7b1acaba49f9c99928f8b86837f7b76726e6966625f5855534d4745403937322c27211c160f0a0400000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82818e97a2aab4bdbfbab9b1abaaa6a9a29f9d9c9d9ea2a9a4a8acaeb4b8bcc2c9cfd6d6cfc9c1bab1a9a29792857c6e675d51483e31281e0f060000000000000000000000000000000000000000000000050d161f28313a434c555d686e7b849197a2aab4bdc7d1cbc2bbafa39992857b6e6155483b2e2215080000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000000000000030a11171e242931363d434750545c60686d737b818990949ea0a8adb3babfc6cfd0cac4beb9b1aca69f9a938e86807a726d67605b53493f33271b0f030000000005121e2b37424d5764707d8a96a0acb9c2d0d9dcd2c6b9ada1978e81756d625b51454039312b26211f1a1a19191a1a1e21252a2f383f445059616b73808d95a0abb5c0cbd7d9cfc2b8ab9f95897c6f63564c41362a1d11050000000714212d3a4754606d7a8799a3afbbc7d4d7cabdb1a4978a7e7164574b3e31241a151413131415161a1e21262b30363c424a505a626c73808d959fabb7c2cdd8e4d5c8bbaea295887b6f6255483c2f2221222423201c17100800000000000000030b12181d1f202525252525252525252525252525252525252525252525252b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2525252525252525252525252525252525252525252525252520201d18130c0400000000000000000000000000000000000000000000000000000000000000000000081117222d38424b545c656c737e8690959fa2aaafb5babfc6c8ced2d3d1cbc7c5c2bfbcc0bbb9b8b8b9babfbdbfc2c5c7cbcbc7c3bdb8b2ada69f98928b81796d685e564c42382e23170b000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685e5246392d20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b37434e58606c77828f97a1a9b2bac3ccd5dadfd6cfc9c2bbb7b0aba7a09d99938f8b86827e7a76726e6965615f5755534e4847423c39352f2b27201c16100b05000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827a859298a3abb3bbc3c3bcb8b6b2b3adabaaa9aaabadb3b1b5b8babfc5c8cdd5d6d0cbc5beb9b0a8a09792857c6f6a5f554b40362c1f160c0000000000000000000000000000000000000000000000050e161f28313a434b555d676d7a839096a1a9b3bcc6cfccc2b8afa59f92877d70695f53463a2d2114070000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939c9fa6acb2b9bec5cbd1cbc6bfbab3ada8a09d949087817b736d68605c55504941382d22170b00000000000714212d3a46535f6976828f9ca8b2bdcbd4e2d2c6baafa59e91857a6d615b514940352f271f1b15120f0a0c0c090e12141a1d262d333e474f59606d79839199a3afbbc7d2ddd4c8bcb1a79b8e8175685e5246392d2013080000000613202d394653606c7986929facb9c5d2d6c9bcafa396897c706356493d302316090707070708090e12151a1e252a30383f44505a606c7883909da7b1bcc8d4e0d5c8bbaea295887b6f6255483c2f221515171614100b0500000000000000030d151d24292c2d323232323232323232323232323232323232323232323232323845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463932323232323232323232323232323232323232323232323232322d2c29241d160d040000000000000000000000000000000000000000000000000000000000000000000006111c262f39424b535b606c717b838c92989fa4abaeb4b8bdc3c5c7cbd1d0d1cfccd1cbc7c5c4c5c5c7cbd1cccfcac6c5bfbab9b2aca8a19e948f867e746d675d564c443a30261c1106000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb8c7c5b9ac9f92867a6d6154473c31261b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303a47535f6a727f8c949fa9b3bbc4ccd5dedcd4cdc5beb9b0aba69f9c95918c87827e7a76726e6865615e5755534d4847433c3a37312c29241d1b16100b050000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82757d869299a2a9b1b9bec5c4c3bfbebab8b7b6b7b8b9bebdc1c5c6cad0d4d3d0cac6bfbab3ada69e9591857c6f6a5f574e43392f241a0d0400000000000000000000000000000000000000000000060f172028313a434b555d676d79839095a0a8b2bbc5cecdc4bab0a69d938b7f726b60574d42362a1e12050000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70797f858d92989ea5abb0b9bdc4cacfcfc7c0bbb4aea9a19e95918a827c756e69615d56514b443f382f261b110600000000000815222e3b4855616e7b87939facb9c3cedfdbcfc2b6a99e938a7d70685d52493f3729241d150d0a0603000000000205090b141c2228353e45515c676f7c87929facb6c0ccd8d8cdc2b9ac9f92867a6d6154473a2f24190d01000006121f2b3844505b667885919eabb8c4d1d6c9bdb0a3968a7d7063574a3d3024170700000000000002050a0f13191e262e343f44505b66707d89959fabb8c4d1ddd5c8bbaea295887b6f6255483c2f2215090a0a08040000000000000000010b151f272f35383a3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f45525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000000000000000000000000000000000000000a141d2730394149505a62696e787f868e93999fa3aaacb2b6b9bbc0c1c3c5c6c9cfc8c9c9c8d0cbc7c5c4c2c0beb9b8b4aeaca8a09d96918a827b716c605c554c433a32281e140a00000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000c18242f394854606b7784919eabb5c0c7baaea3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000001010101010101010101000000000000000000000000000000000005111e2a36414d56626e7c86929fa6b0bbc4cdd6dedbd2cac2bbb3ada69f9c948f89847f7b76716d6865615e5654524d4846423b3a37312e2b26201d18120f0a0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275717e8792979fa7adb3b9bdc4c6cac6c5c4c3c4c5c6cacfced2d2d0d0cac6c5bebab4aea9a19e948f837b6f6a60584e453c31281d120800000000000000000000000000000000000000000000070f182129323a434b555d676d798290959fa7b1bac4cdcec5bbb2a89f948e81746d62594f453b31261a0e020000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000000000000001080d141a20272b30383f444c52575e616a6f767d848b92979fa3aaafb7bcc2c9cecdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d140a000000000005121e2a36424d576673808d9aa4afbbc8d4e0d3c7bbb0a69b8e81746b61564c41372d2518120b0300000000000000000000020a1117232934404b55606a74808d9aa4afbbc8d4e0d3c7baaea3988b7f7265554c4135291d11040000030f1c28333f4a546a7784909daab7c3d0d7cabeb1a4978b7e7164584b3e2f24180c03000000000000000002080c141c2328333f4a54606b7683909da9b6c3d0dcd5c8bbaea295887b6f6255483c2f22150900000000000000000000000007121d2731394045474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b525e6b7885919eabb8c4d1d2c6b9ac9f9386796c60534b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4745403a31281d130700000000000000000000000000000000000000000000000000000000000000000000020b151e272f383f4450575f666d737b81878e92989ea0a8aaacafb5b5b6b8b9bebbbcbcbcbcbbbfbab8b7b5b4b3adababa39f9c96918b847e766e69615a514b433a312820160c0200000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000007121d2c38434f5966737f8c99a4afbbc7bfb4ab9d9083776a5f5347382e23170c00000000000000000000000000000000000000000000000000000407090a0e0e0e0e0e0e0e0e0e0e0c0b0906010000000000000000000000000714202d3946525e6874818e99a3aeb8c2cdd6dfdbd2c9c0b8b0a9a19e948f89827d77726e6964615e5654524c4846423b3a36312e2b26211e1a15100d0701000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756c717d8590959ea1a9adb2b8babec2c4c5c7cbd1c9c9d0cac6c5c3c2bfbab8b3adaaa39f97928a827a6e6960584e463c332a1f160c00000000000000000000000000000000000000000000081019212a333b444c555d676d798290959fa7b1b9c3cccfc5bcb3a9a1969082786d605b51473d332a1f1409000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000000000000000000000060c13191f252a32373e424a50565d60696e757c838a91969ea1a9aeb4bcc1c7cdcec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0200000000000714212d3a46535f697784909dacb6c0ccd8ddd0c3b7ab9f94887c6f62594f443a30251b13070100000000000000000000000000061118232f39434e58616e7b87939facb9c4cedad7cbbfb4aa9c8f8276675d5145392c2013060000000b17222d434f5c6976828f9ca9b5c2cfd8ccbfb2a5998c7f7266554b4035291e150c08020000000000000000020a1117222d38424f596773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000c18242f39434b5153585858585858585858585858585858585858585858585858585858585e6b7885919eabb8c4d1d2c6b9ac9f9386796c60585858585858585858585858585858585858585858585858585858585853514b433a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000030c151d262d333e454d545c60696e747c81868c9196999d9fa3aba8a9abadb3aeafafafafaeb4aeacaaa9a7a9a29e9b99928f8a847e79716c615f575045403930281f160e040000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887c6f62544a3f34281c10030000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b191816120d070000000000000000000003101c28343f4a54616e7b86929fabb4bfcad3dfddd3c9c0b7afa69f97928a827c76706b66615e5754524c4746413b3a36302d2a26211f1a15120e0904010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275696b707b838b92979ea1a8abaeb4b5b7b9bbc0bcbcbcbbbfbab8b7b5b4aeaca9a29f98928d857e756d685f574e463d342a21180d0400000000000000000000000000000000000000000006111a222a333c454d565e676d798290949fa7b1b9c2cbd0c6bdb4aaa19791847a6d665c51493f352b21180e03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000000030a11171e242931363c434750545c60686d737b818790949ea0a8adb3babfc6cfd0cac4bdb9b1aba69e99928e868079726d666159544e46423b353028231d17110a020000000000000815222e3b4855616e7b8895a0acbec7d2ddd5c9bdb2a89c8f82766a5f53473e32281e13090000000000000000000000000000000007121d27313d47535f6976828f9ca8b2bdc9d5dcd1c5b9ac9f92867a6d6054473a2d211406000000061b2835424e5b6875818e9ba8b4c1cdd9cec2b5a89b8f8275675d51453a30271e19130f0a06030000000000000006111c262f404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000004101d2935404b555d6065656565656565656565656565656565656565656565656565656565656b7885919eabb8c4d1d2c6b9ac9f9386796c656565656565656565656565656565656565656565656565656565656565605d554b4035291d11040000000000000000000000000000000000000000000000000000000000000000000000030b141b2227333c424a50565e616a6f747a7f84888c909299999b9d9ea1a9a2a2a3a3a2a2aaa39f9d9c9a9797928f8b86827d78716d67615a534d453e342e271e160d04000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000a16202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c5044382c1f130800000000000000000000000000000000000000000000080f161c202223282828282828282828282625221e18110a01000000000000000006121f2b3844505c6673808d99a3aebdc6d1dcdfd5cbc1b7afa59d948f857e766f6a63605954524d4746413b3936302d2a25211e1a14120f0906020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f82756960696e787e858c91969b9fa2aaa8aaacafb5afafafafb4aeacaaa8aaa29f9b97928d86807a716c605d564d453d342b22180f060000000000000000000000000000000000000000020a1117232c343c454d575e686d798290949fa6b0b9c2cbd2c7bdb4aba29892857b6e685e544b40372d23190f0600000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000000000000040a0c151c23282f353b42464e545a61666d727a80868e939a9fa6acb2b9bec5cbd1cbc5bebab2aca7a09d948f87817b736d67605c544f47433d363129241e18120b0600000000000000000c1926323f4c5965727f8c98a7b1bcd0d9ded2c5b9aca0968a7d7064584e43352c20160c0000000000000000000000000000000000010b151f2b37424d5764707d8a96a1acb9c5d2ded3c7baaea3998a7d7164574a3e2e23170c0000000c1825323f4b5865727e8b98a7b1bcc8d4d2c5b8ac9f92867a6d60564c4239302a251e1b13120f0b060502000000000a142734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000006131f2c3845515d676d7272727272727272727272727272727272727272727272727272727272727885919eabb8c4d1d2c6b9ac9f938679727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000020a1117212a30383f444d52585f62686d72777b7f8386898c8e90929794959596969595949892918f8d8b8885827e7a75706c66605c555047423c3328231d150c0400000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c3b8ab9e9185796d6053463a3024190d01000000000000000000000000000000000000000008111a21272c2f303434343434343434343432312e29231b130a00000000000000000713202d3a4653606d7985929eabb4bfcfd8e2d9cdc3b9afa59d938e827a716c626058544f4746423b3935302d2a25201e1a14120e090602000000000000000407090a090806030000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569575e666c717a7f848a8f9298999b9d9fa3aba2a3a2a2aaa29f9d9b9998928f8a85807b746d68615a524c433c332b221910070000000000000000000000000000000000000000040b141c2228353e464e575f696e7a8390949fa6b0b9c2cbd7ccc0b5aba39992867c6f695f564c42392e251b11070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000000000002090e151b1e262e343a41454d535860626c70787f858d92989fa4acb0b8bdc3cacfcfc6bfbab3ada8a19e959089827c746e68605d55504a423e37322a261f19130c0700000000000000000005121e2a36424d576975828f9ca8b5c2cedbddd1c4b7aa9e9184786c6053463c31201a0e04000000000000000000000000000000000000030d1a26313c4653606c7884919eabb7c4d1ded7cbbfb4ab9a8d807467544a3f34281c100300000815212e3b4854616e7b8795a0acb8c7d1d3c7baaea3988b7e71685e544b433c36302b26201f1c1714110e090604000d1a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714202d3a4753606d797e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e85929fabb8c5d2d8cbbeb1a5988b7f7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060f181e262e343b42464e53565e61666a6e73777a7c7f82838586888889898989888887858482817e7b7975716d6864605b54514b433e37312a2118120b030000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000020e1a25303b4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d110500000000000000000000000000000000000000050f1a232b33383c3d414141414141414141413f3e3a352d251b1107000000000000000916222f3c4955626f7c8897a1adbdc6d1e1e0d4c8bcb1a79e938e81786d68615a544e48443d3a36302d2925201e1914120e0905020000000000000000050b101416171515120f0a04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c545b60686d73787d8285898c8f9192999595969695959892908f8c8985827d79736e68615e565045413a312a211910070000000000000000000000000000000000000000060d161d262d333f474f585f696e7b8390959fa6b0b8c2cbd0c7bfbbafa49992877d706a60574d443a30271d1309000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaafb6bec2c8cecdc7c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d0802000000000000000000000714202d3a46525e697885919eabb8c4d1ded7ccc0b5ab998d8073665b5044382b1f1208000000000000000000000000000000000000000009151f2b3844505b6674808d9aa7b3c0cfdadcd1c3b6a99d908376665c5044382c1f120600000714202d3a46525e697783909dabb5c0cbd6cbbfb4aa9e92857a6d665c554e46413a37322d2b2822201e1a1313100c071a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a878b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9298a2aebac6d3d8ccbfb3a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232830363c43474c5254585f6266676d6f727576787a7b7b7c7c7c7c7b7b7a79777674716e6c6564605d5653504a454039302b261f180f0700000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000009141f2c3845515d6774818e9aa8b2bdc8beb3a99b8e8275685d5246392d20150a000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000c1925323f4c5865727f8b98a9b3becfd8e2ded1c4b8aca0958e81776d665e565047433d38332d2a25201d1914110d08050200000000000000000000080f161c20222322211f1b150b060000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4a50565d60666d7075797c8082848687888989898888878584827f7c7975716d67615e56524c443e352f281f180f070000000000000000000000000000000000000000060f181f282f383f445159616a6f7b8491959fa7b0b8c2cbd8c7bfb5ada39f93877e716b60584e453c32291e150b01000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000000040c13181f252a32373e424a50555d60696e757c828a91969ea1a9aeb4bbc0c7d0cec8c2bbb7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e09030000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd4c7bbafa499897d7063544a3f33281c0f030000000000000000000000000000000000000000030f1c28333f4a5464717e8a97a9b2bdc9d5dfd2c5b8ac9f9286796d6053463a2d201307000005121e2a36424d576673808c99a3afbbc5d0d0c6b9ada1978f81786d675f58524c47433c3938332d2d2a25201f1c18131a2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879498989898989898989898989898989898989898989898989898989898989fa2aab3becad6dbcfc3b7aca39b98989898989898989898989898989898989898989898989898989898989894877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171f252a31373a4146474e5355555d606366686a676d6e6f6f70706f6f6e6d6c6569676462605b5354524c46443f38342e271e1a150e060000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6154473c31261a0f00000000000000000000000000000000000004101c27333d474f54565b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000004101c2934404b556875828e9ba8b5c1cfdbdfd3c7bbb0a69d9083796d655c544c443e37322c27201e1a14110d08050100000000000000000000000008111a21272c2f302f2e2b262017110a02000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f444c52545c6064666d6f737577797b7b7c7c7c7c7b7a797775726f6d6664605c55524d46413a3229241e160d0600000000000000000000000000000000000000020a11172129313a424a505b626b707c859196a0a8b1b9c2cad2ccbfb5ada39b918b7f726c61594f463c332a20170c0300000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000070d161d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccfc9c3bdb8b0aba59e99928d857f79716c656059534e46413b352f28231c150c0a0400000000000000000000000000000a1724313d4a5764707d8a97a9b3bec9d5dfd2c6b9ac9f93867a6d6054473a2d22170b000000000000000000000000000000000000000000000b17222d3b4854616e7b8796a1adb9c5d2dfd3c7baaea398887c6f6255493c2f2216090000020e1a25303b4855626e7b87929faab4becad6cabeb3a99e938f81796f6a615e56534e4946443f3b3a36302d2c28231f1c2734404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abaeb3bcc5d0dbdfd4c9beb5aca7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141920262b3036393c4347484b515356595b555d60616262636362626161605b535a58555350494745413a38332d28231d150c0903000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000c18242f394854606b7784919eacb6c0c7baaea3998b7e7265584e43372b1c110600000000000000000000000000000000000714202c38444f5960636767676767676767676765625b51463a2e221609000000000006131f2c3845515c677884919eabb8c4d1dedcd0c3b7aa9e94897c6f675d534a423a322b27201c16110e0905010000000000000000000000000000050f1a232b33383c3d3c3a373127221b140b050000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4241454a5053545c60636668666d6e6e6f706f6f6e6d686a686662605c5453514b46413b3630282019130c0400000000000000000000000000000000000000020b141b2227333b434b545b606d727d869297a1a8b1bac3cbd0c7c0bbada39b918b7f726d625a50473d342b21180e050000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000000710191f282f353b42464e545961666d727a80868e939a9fa6acb2b9bec5cbd0cac4beb9b2aca69f9c938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000c1926333f4c5966727f8c99a5b2bfcfdaddd0c3b6aa9d908377675d5145392c1c1106000000000000000000000000000000000000000000000614212d3a46535e697884919eabb8c4d1ded6cbbfb4aa978a7d7164574a3e3124170b0000000914212e3a47535f6a74818e98a2aebac2cbcfc5bbafa59e938f837c736d68625f585553504a4746423d3a38342e2c282334404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b8babec5ced7e1e5dad0c7beb7b3b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151a1e252a2d31373a3b404547494c4f4b51535555565656565555545350494e4b4846443f3a39352f2b28221c18120b030000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000007121d2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083766a5f5347382e23170b00000000000000000000000000000000000916222f3c4854606b7074747474747474747474726d62574a3e3125180b00000000000714202d3a4753606d7a8696a1adb9c5d2dfd7cbc0b5ab9c8f82756b60554b41393028201b15100b050200000000000000000000000000000000000b16212b353d44484a4847433c332d261d170e0701000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4235383f44464a50535659545c6061626263636262615e565c595653514a4745403936302a251e160e080100000000000000000000000000000000000000000a141d262d333d454d555d666c737f879298a1a9b2bac3cccfc7beb6afa39b918b7f726d625b51483e352b22190f06000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000040f19222b313a41454d52585f626b70787f858d92989fa4acb0b8bdc3c9cfcbc6bfbab3ada8a09d949089817b736d68605c555049413d37312a251f18130c060000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddadacdc0b3a79a8d807467554c4135291d0a000000000000000000000000000000000000000000000005121e2a36424d576875828e9ba8b5c1cedbdcd0bfb2a5988c7f7265594c3f3226190c00000006121f2b37434e58616e7a85929fa6b0b9c3cccdc1b8afa59e959087807a746f6a6662605b5454524d494645403a38342e34404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbabebebebebebebebebebebebebebebebebebebebebebebebebebec5c6cad0d7e0e9ece2d9d0c9c3bfbebebebebebebebebebebebebebebebebebebebebebebebebebebebaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f13191d20262b2e2f35393a3c3f4240454748484949494948484746443f413e3b3937332d2c29241f1c17110c0700000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000010f1b27323d4854616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000000000a1723303d4a5663707d818181818181818181817f7265594c3f3226190c00000000000814212e3b4754616e7a8794a8b2bdc9d5e0d4c7bbafa3998a7d7164594f43392f271e160e0a040000000000000000000000000000000000000004101c27333d474f545655534e443f382f292018120b030000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f42362e34383a3f4446494d4a51535455565656555554524c4f4c494644403a38342f2a251f19130c0500000000000000000000000000000000000000000006111b262f383f444f575f676d78808b9299a2aab3bbc4cccec6bdb5aca49f918b7f726d625b51493f362c2319100700000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000a15202b343d434b51575e616a6f767d848b92979fa3aaafb6bec2c8cecfc7c0bbb4aea9a19e96918a837c756e69615d56514b443f382f2b262019140d070100000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd7cabeb1a4978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000020e1a25313f4c5966727f8c99a5b2bfccd8dacdc0b3a79a8d8074675a4d4134271a0e000000020f1a26313c46525e68727f8c949fa7b1bac4cccac1b7afa79f99928d86817c77736f6c6665615e575653514b4645403937404d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7cbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbd2d3d6dbe1e9f2f4ebe2dad4cfcccbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbc7baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11151a1f2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a3937332d312f2d2b2722201d19130f0b06000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000a16212d3a46535e6976828f9caab4bec8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000000000c1926323f4c5965727f8c8e8e8e8e8e8e8e8e8e8276695c504336291d1000000000000815222f3b4855626e7b8895a1aebbcfdadfd2c5b9ac9f92867a6d6054473d31271d150c040000000000000000000000000000000000000000000714202c38444f596063625f585049413b3229231d150d0600000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f423623282b2e34383a3c4040444648484949494948474641423f3c3a38342e2c29231d19140d0802000000000000000000000000000000000000000000000b17222d384149505960696e79828d929fa3abb4bcc5cdcec5bcb4aba39a938b7f726d625b51493f372d241a11070000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00030f1b27323d464e555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f97918b847d766f6a615f57524c454039332d261d1a150e0802000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd6c9bcb0a396897d7063564a3d30231708000000000000000000000000000000000000000000000000091825323e4b5865717e8b98a4b1becbd7dbcec2b5a89b8f8275685c4f4235291c0f000000000915202a36414c56606d79829095a0a8b2bac1cbc9c1b9b1aba39f98928e8884807c7975716e696763605c5453514b46443f4d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac7d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d2d3d7dce3eaf3f9efe7dfd9d4d1d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0c7baaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050a0f1214181d2020232624292c2d2e2f2f30302f2f2e2e2d2b27222522201f1b1713110d08030000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a3024190d010000000000000000000000000000000c1926323f4c5965727f8c989a9a9a9a9a9a9a8f8376695c504336291d100000000000091623303c4956636f7c8996a2afbcc9d5ddd0c4b7aa9d918477685d5245392b1f150b03000000000000000000000000000000000000000000000916222f3c4854606b706f6a605b534c443e342f271f17110a020000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c1f23282c2d302e34383a3b3b3c3d3c3c3b3a393630332f2d2c28231f1c18120e08020000000000000000000000000000000000000000000000030f1b27333f49535b606b707b838f939da4afb5bdc6cecdc5bcb3aaa39992887f726d625b51493f372d241b1208000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2b37434e5860676d737b81878f949da0a8adb3babfc6cccec9c3bcb8b0aba39f98928c857e78706c626058534d46413a342e27221b140b0a030000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1ded5c8bbafa295887c6f6255493c2f2216090000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0bdcad7dccfc3b6a99c908376695d5043362a1d1000000000030d1925303b45515c676d7a839196a1a8b0bbc0c7cbc2bdb5aeaaa39f9a96918c8885827e7b7773706d6664605c545350494d5a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adbac3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c7cbd1d9e1eaf1e7ddd5cdc8c4c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206070d1013141619181d2020222223232323222221201f1b17181513120f0b06040100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000020e1a25313b4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d11040000000000000000000000000000000c1926323f4c5965727f8c98a5a7a7a7a7a79c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dccfc2b6a99c8f837669564c413529190d030000000000000000000000000000000000000000000008131f2b38434e5863707d7c726c655e564f4540393127221b140b0500000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c12171c1f202323282c2d2e2f2f30302f2f2e2d2a252623201f1c1813100c07010000000000000000000000000000000000000000000000000005121f2b3744505b656c727d8590959ea6aebbc0c7cfccc3bbb3aaa29892877e726d625b51493f372d251b120900000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000815222e3b4754606a6f7980868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba69e99928e868079726d66615a544e46423b353028231d17110a0200000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cbc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000008141e2834404b555d686e7b8491969ea6afb5bdc2c8c6bfbbb4aeaca8a09d9997928e8b8784807d7975706d6663605b53515a6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1adb6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b9bbc0c7cfd9e3eadfd5cbc3bcb8b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060709070d10131415151616161615151413120f0b06080605030000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000009141f2c3945515d6774818e9aa8b2bdc9beb2a99b8e8175685d5245392c2015090000000000000000000000000000000c1926323f4c5965727f8c98a5b2b4b4b4a99c8f8376695c504336291d1000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec2b5a89b8f8275685c4f422f24190c00000000000000000000000000000000000000000000040e1a242e3b4754606a7783867f776e686159514b433c332d261d170e07000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c060c10121316181c1f202122232323222221201e1919161312100c0704000000000000000000000000000000000000000000000000000000000613202d394653606c777f879297a0a7b0b8c0cbd1cac2b9b1a9a19892867e716c625b51493f372d251b13090000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000916232f3c4956626f7c858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca7a09d948f87817b736d67605c545047433d363129241e18120b06000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfd3c7bbafa399877a6d6054473a2d2114070000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000020c18232e39434c565e696f7c848f949fa3abb0b8bcc3c8c6bfbab8b2acaaa9a19e9b9895908d8985827d7974706c65605d556773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a8794a1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacafb5bdc7d1dce4d9cdc3b9b1acaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a090908070605030000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acb9c7c4b9ac9f92867a6d6054473c31261a0f0000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc1b6a99c8f8376695c504336291d1000000000000a1623303d495663707c8996a3afbccfdadccfc2b6a99c8f837669544a3f34281c10030000000000000000000000000000000000000000030c16202b37424d57626f7c89928b827a706b605c554e443f382f29201910070000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f00030607070c101213151516161616151413110d0809070604000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818c9399a2a9b1b9c1cad2ccc1b8b0a7a09792867d706c625a51493f372d251b1309010000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a979fa2aaafb6bec2c8cecfc6bfbab3ada8a19e959089827c746e69605d55504a423e37322a261f19130c07000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4dfd2c5b9ac9f928679675d5145392c2013060000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000007121d27303a444d575f6a6f7a828c92999fa6acb1b8bcc2c5c7c3bdb8b7b3adaba8a7a09d9a98928e8a85817c78726d67606773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a87949d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9fa3abb5c0cbd7e0d4c8bcb1a7a09d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eacb6c0c7baaea3988b7e7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000916222f3c4955626f7c8895a9b3bec9d5ddd1c4b7aa9e918477665c5044382c1f130800000000000000000000000000000000000000020b151e28323a47535f6975818e9b948f857d746d675f585049413b322a22190e0400000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000406070808090a09090807070501000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d859297a1a9b2bac3ccc7c0bbafa69f9591857c706b615950483f372d251b130901000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a9aeb4bbc0c7d0d4c9c1bdb4aea9a29f96918a837d756f6a615e56514b443f38302b27201a140d080200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded2c5b8ab9f928578665b5044382b1f12060000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0adbac7d3ded1c5b8ab9e9285786b5f5245382c1f12000000000000000b151e28323b454e585f686d777f8790949da0a7abb1b8b9bdc4c5c5c4beb9b8b5b1acaaaaa29f9b97928e89847f79726d6773808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000814212e3b4754616e7a879090909090909090909090909090909090909090909090909090909090909299a3afbbc7d3ded1c4b8aca09590909090909090909090909090909090909090909090909090909090909090877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000007121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5347382e23170b00000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000714212e3a4754616d7a8797a1adb9c6d2dfd2c5b9ac9f9286796d6053463a30251910060000000000000000000000000000000000040b141d27303a44505a626e7b86929f9e97928a80796f6a605b534c443c342a20150a00000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f7c859197a1a8b2bac3bdb5afa59e948f837b6f6a60594f473e362d251b13090100000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bfc6ccd2d5cbc1b7afaba39f97928c847e78706b625f58524d45403a342e261e1b150e0903000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3dfd2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1aebbc7d4ded1c4b7ab9e9184786b5e5145382b1e1200000000000000030c162029333c464e565d656c727c838990959d9fa7abadb2b7b9bdc1c5c6c5c1bcb8b7b4aeaca9a29f9a96918b857f797073808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000714212e3a4754616d7a8383838383838383838383838383838383838383838383838383838383838387929facb9c5d2ddd0c3b6aa9d8983838383838383838383838383838383838383838383838383838383838383837a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5c6b8ab9f95887b6e62544a3f34281c1003000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000713202d3946525e687885929eabb8c5d1ded3c7baaea3988a7d7063564c41362a22181008020000000000000000000000000001080d161d262e39434c56616c76828f99a3a9a19e928d837c726c655e564e463c32261b0f03000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606a6f7c859196a0a8b1b9b3aba49f938e827a6e695f584f473e352d241b1309010000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdd0d8d9cdc3b9afa59e99928d857f79716c656059534e46423b352f28231c150c0a0400000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2dfd4c7bbafa499877a6d6154473a2e2114070000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5ddd0c4b7aa9d9184776a5e5144372b1e110000000000000000040e17212a343c444c535b606a6f767d838a9095999ea1a8aaacb2b4b8b9bec2c5c5c3bfbab8b3adaba8a09e97928c847d73808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f22150900000000000000000000000713202d3946525e686d7777777777777777777777777777777777777777777777777777777777777885919eabb8c4d1d2c6b9ac9f938679777777777777777777777777777777777777777777777777777777777777776e685e5246392d20140700000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000b17222d3846535e6976838f9caab4bfc8bcb1a7998d8073665c5044382b1f1308000000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000005111d2a36414c566976838f9ca9b6c2cfdad7cbbfb4aa9b8e8175685e52463e342a2219140e090502000000000000000105080d13191f282f38404b555e68717e8a949fabb3ada49d9590867f776e685f584e43372b1f1306000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464f585f6a6f7b849196a0a7b1aaa299938c81786d685f574e463d352c231b120901000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d4c8bcb1a79e938e86807a726d67605b534f47433c363029241d17110a03000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2ded7ccc0b5ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000050f18222a323a4149505860626b70787e83888d91969a9ea0a8a8abadb3b6b9babfc3c5c5bebab8b2aca9a19e96918880808d9aa6b3c0cdd9d5c8bbaea295887b6f6255483c2f221509000000000000000000000005111d2935414c565e616a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6b7885919eabb8c4d1d2c6b9ac9f9386796c6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615e564d41362a1e11050000000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393939393939393939393939393635322d261e160c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184796d6053463a2f24190d010000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000010d192530404d596673808c99a9b3bec9d5dcd1c5b8ac9f92867a6d61594f463c342a251e1a14120e090b0a0a0a0b080d1113191e2429313a4149515c676d7a85919ea6b0bdb9aea7a098928b827a6f6a5f54473b2e221508000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d464e585f696e7b849095a0a7a09892877f746d665d564d453c342b231a11090000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0958e817b746d68605c555049413d37312a251f18130c0600000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1deddd2bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad7dccfc3b6a99c908376695d5043362a1d100000000000000000000006101820282f383f444e545961656c71767b8084898e9196989b9ea1a9a9acaeb4b7b8bcc3c4c3bdb9b3ada8a09a938c85929fabb8c5d2ded5c8bbaea295887b6f6255483c2f2215090000000000000000000000010d1925303a444c52545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5e6b7885919eabb8c4d1d2c6b9ac9f9386796c605d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d54524d443b3025190e0200000000000000000000000000000000000000000000000000000000000005101a232c33383c3d46464646464646464646464646464643413e3830281e0e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000e1a25313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000081623303c4956636f7c8997a1adb9c6d2dfd3c7baaea2988e81756b61584e463e36302a26211e1a19181716171818191e20252a2f353c434b535b606d79829097a1adb8c2c0b9b1aaa39f948f857c6f6255493c2f221609000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b343c464e575f696e7a8390959e9691867d726d605c544c443b332a22191108000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d0c3b6aa9d90837b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0ddd6c9bdb0a3968a7d7063574a3d302417080000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000060e161d262d333d43474f535b60646a6e73787d8184888b8e9297999c9fa3aaaaacb1b6b8bcc2c5beb9b2aca49f989298a2aebac6d3dfd5c8bbaea295887b6f6255483c2f22150900000000000000000000000008131e28323a414647505050505050505050505050505050505050505050505050505050525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053505050505050505050505050505050505050505050505050505050504746413b32291f1408000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a5353535353535353535353535353534f4e49423a3020170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c2015090000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000713202d3a4653606d7985929eabb8c1d0d9d6cabfb4aa9e938a7d706a5f585046413b36312d2a2626252423242425252a2d30363a41454d555d656c75818e949fa9b2becacbc3bcb4aea69f92867a6e6154473b2e211408000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a343c454d575e686e7a8390938f847c706b635b514a423a32292118100700000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcad7d1c4b8aca0959087807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8b5c2cedbd7cbbeb1a4988b7e7165584b3e3025190e020000000000000000000000000000000000000000000003101c28343f4a546673808c99a6b3bfccd9d9ccc0b3a6998d8073665a4d4033271a0d000000000000000000000000040b141b222732373d41495053585f62666c7074777b7e8185888c8f92989a9da0a7a9abb1b8b9bec4beb6afaaa29fa2aab3becad6e2d5c8bbaea295887b6f6255483c2f221509000000000000000000000000020c1620283035393a444444444444444444444444444444444444444444444444444445525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053464444444444444444444444444444444444444444444444444444443b3936302920170d0200000000000000000000000000000000000000000000000000000000000004101c28333e474f55576060606060606060606060606060605c5a544c4232291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acb9c7c4b8ac9f92867a6d6054473c31261a0e0000000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000006121f2c3844505c6673808d9aa6b0bec7d2dbd0c6bcafa59e92857c6f6a615a524c46423b3a3631323131303031323036393a41464c51575f676d77808d939ea6b0bbc4cfd5cfc6bbaea3998d8074685e5246392d201407000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071019222a333c454d565e686d7a828b82796e6a615951444039302820170f070000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcadcd4c8bcb1a7a099928d857f79716c656059534d46413a342e27221b140b090300000000000000000000000000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b3c0d2dddacec1b4a79b8e817468564c41362a1e11050000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2cfdcd8cbbeb1a5988b7e7265584b3f3225180c00000000000000000000000000020a111720272b2f383f44464e53545b606367696e7175787c7f8286898d9095989d9fa7abadb3b8bcc0bbb3aeabaeb3bcc5d0dbe6d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000040e161e25292d2e373737373737373737373737373737373737373737373737373845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c6053463937373737373737373737373737373737373737373737373737372e2d2a251f170e05000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000010d18242f394653606c7884919eacb6c0c7baaea3988b7e7165574d42372b1c110600000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000003101c28343f4a54626e7b88949eacb6c0ccd8d8cec1b9ada19792857c706c615e56534d484642403f3e3d3d3d3e3f404146474c52555d60696e79818d929da5afb8c2cdd6d7cbc0b5ab9f92867b6e61564c41362a1e1105000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071018212a333b444c565e686d797e756d675f584f473f342e271e160d06000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b1bdcbd1d9cdc3b9b1aba39f97928c847e786f6b615f57524c454039332d261d1a150d08020000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98acb6c0ccd8ddd1c4b7aa9e918477685e5246392d201407000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2ded5c9beb3a9968a7d7063574a3d3024170a000000000000000000000000050c13191d202120262d33373c43474a505356575f6165656c6f72767a7d8084878b9095999ea1a9acb1b9bdbebab8babec5ced7e1e1d5c8bbaea295887b6f6255483c2f2215090000000000000000000000000000040c13191d20212a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a21201e19140d0500000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70797979797979797979797979797979767066564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000007121f2b3744505b6573808c9aa4afbbc8bfb4aa9d908376695f5347382d22170b00000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000c17232e3847535f6a75828f9aa4afbbc5cfdad6cabeb3a9a19792857e756e68615f5755534d4d4c4b4a494a4b4b4d4c5254565e61676d737b838f939da4aeb7c1cad4d8cec6bbafa3998e8174695e53443b3025190d01000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f182129323b444c565d676d716c605d554e463e3528231c150c0400000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a4b4bbc0c7cfd4cbc3bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c0700000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d899aa4afbbc8d4ded2c5b8aca096877a6e6154473b2f24180c000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3dfd2c6b9ada197877b6e6154483b2e2115080000000000000000000000050e161e252a2d2e2d2a25272b3137383f44464a4d5355535b606266676d7073777b7f83888d92979da0a7acb2bbc0c5c6cad0d7e0e9e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000002080d1113141d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1414110e0802000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5663707d8686868686868686868686868686868276695e52463a2d20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c6b7ab9f95887b6e62544a3f33281c0f03000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000006111c2b37434e58626f7c87939fa9b3becad6dacfc5bbb3a9a197928a817a736e6964615f57595958575657575859565e6164686d727a808690959ea5aeb6c0c9d3dcd0c6bcb1a79f92877b6e62574d4232291e140800000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f172029323a434c555d6064615a514c433c332c2318120b030000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a97a2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2dfd4c8bdb2a8978a7d7164554b4035291b1106000000000000000000000000000000000000000004111d2935414c5665727e8b98aab4becad6ded1c5b8ab9e928578695e53463a2d21140700000000000000000000030c1620283036393a3936302820262b2d3338393d42464849505355555d606367696e72767b80858b90959ea1a8afb6bec5ced7e2e9f2e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000105070711111111111111111111111111111111111111111111121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013111111111111111111111111111111111111111111111108070502000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9393939393939393939393939393877b6e6154473c32261b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000b17222d3846535f6976838f9caab4bfc7bcb1a7998d8073665b5044382b1f1308000000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000f1a26313c47545f6a75818e97a1adb9c0cad4d7cdc5bbb3a9a29e938e85807b75716e696866656464636364656668686d71757a7f858d9299a0a7afb8c0c8d2dbd6cbbfb4aa9f958c8073695f53453b3120170d0200000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e172028313a434b515358565045413a312a211a110700000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000b1824313e4b5764717e8a92989fa3abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000000000000000000000613202c3945525d687784919daab7c4d1dcd9cec0b4a79a8d8074675d5145382d22170b00000000000000000000000000000000000000000a13202c3945525d6875818e9ba8b4c1d0dbdbcfc2b5a89c8f827569574d42362a1e1205000000000000000000000a151e28323a41464746413a322c231c22282b2d31363a3b3f4446494b515356575e6165696e73797e838a91969fa4acb4bcc5d0d9e3eee1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000004040404040404040404040404040404040404040405121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060404040404040404040404040404040404040404040400000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f9f9f9f9f9f9f9f9f9f9f9fa4998c7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5764717e8b98a2aebac6c2b8ab9e9184786c6053463a2f24190d010000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000915202b37434e58616d7a85929ea4aeb8c2cbd4d7cdc5bbb3ada59e97928d87827e7b787573727170707071727375787a7d82868c92979fa3abb1b9c1cad2dad2c9c1baaea3989083786d60574d4233291f0e050000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2831394045474b49453e352f281f180f080000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000714202d3a4753606d797f868e92999ea6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000000000000000000004111d2935414c566874818e9babb5c0cbd7ded1c5b8ab9e9285796d6053493f33271c110600000000000000000000000000000000000006111c27333f4953606d7a86929facb8c5d2dfd5c9beb3a9998c807366594d4031251a0e0200000000000000000006111c26303a444c5254524c443e352c21171c1f20262a2d2d3337393c4045474a4d5254575f62676d71787e848d939aa2aab4bdc7d2dde8e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aeacacacacacacacacacb5ab9d9084776a5f5347382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000e1a26313b4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d11040000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000030f1b26323c46525e68717e8a929da6b0b9c2cbd6d7cdc5beb9afa9a29f99938f8a888582807f7e7d7c7d7e7e808284878a8f92999ea1a9aeb4bdc3cbd3dbd6c9c1b7afa59f92867c6e665c50453c3121170d000000000000000713202d3a4653606d798693a0acb9c6d3d6cfc2b5a89c8f8275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161f282f35393a3e3d393429241e160d06000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0006131f2c3945515d676d737a81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000010d19242f3e4b5764717e8a99a3afbbc7d3dfd2c6b9ada2978b7e71655b5044382d22170d0300000000000000000000000000000000030c17222d3744505b65727f8c98a2aebac6d3dfd2c6b9ada197897c6f6356493c30231609000000000000000000000c17232e38424c565e615e564f473e3329201712131a1e2122272b2d2f35393a3d4246484d53555c60656c717980889298a2abb5c0ccd7e3e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7783909dabb4bfb9b9b9b9b9b9b9b9b8aca095887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2015090000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000a15202a36414c56616c74808d949fa7b0b9c1cad0d7cfcac1bbb3adaba49f9c9797918f8c8c8b8a898a8a8b8c8f9196979c9fa3abadb3babfc6cfd5d7d0cac1b7afa59d938b7f726a5f544a3f332a200f05000000000000000713202d3a4653606d798693a0acb9c6c9c9c9c2b5a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d31302d282219130c0400000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0004101d2935404b555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000814212d3a4754606d7a86929facb9c5d0dbd6cabeb3a99d9184786c60544a3f33281f150c040000000000000000000000000000030c151e28333f4a54606c7884919eaab4bfcad6ded1c5b8ab9e9285796c605346392d20130600000000000000000003101c28343f4a545e686d6861594f453b32292117110e1214171b1f2024292c2d30363a3c42474b51535b60676d737d869299a4afbbc7d4e0e1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54626f7c8895a0acbdc6d1c6c6c6c6c6c6c8bcb1a79a8d8073665c5044382b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000040d1925303a44505a606d78828f959fa6afbabec5ced6d6cdc5bebab5afaca8a9a19e9b9998979796969798999b9ea1a8a8acafb5b9bec5cbd1d8d6cec6bfbaafa59e938e81776c60584e42382e21180e00000000000000000713202d3a4653606d798693a0acb9bdbdbdbdbdb5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d20202524211d170d08010000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000c18242f39434b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000713202c3945525d6876828f9caab4bfcad6dbcfc5b8aca095897d70665b50443c31271e160d04000000000000000000000000030c151e26303844505b66707d8a96a0acbcc6d0dbd5c9bdb2a89b8e8174665b5044382b1f12060000000000000000020b19222c3844505c666d7a706b61574d443b3328221c140b080b0f1213181d1f20252a2d31373940454950555c606b707d87939facb9c6d2dfe1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6674808d9aa7b1bccfd8d2d2d2d2d2d9cec3b8ab9e9185796d6053463a2f24180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1c110600000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000008131e29323e44505c666d7a8390949ea5aeb4bcc2cbd0d6cfcac7c0bbb9b5b3adaba8a6a5a4a3a3a3a4a5a6a8abadb2b5b9bbc0c7c9cfd7d6d0cac2bcb4aea59e938e81786c655b50463c30261c0f0600000000000000000713202d3a4653606d798693a0acb0b0b0b0b0b0b0a89c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314181715110c0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000007121d27313940454c52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a02000000000000000000000000000000000000000004111d2935414c5665727e8b98a2aebac6d3dfd4c8bcb1a79c9083786c60584e433930281f160e0904000000000000000003090d151e273038424e58606c7883909ca8b2bdced8dfd2c5b9ada1968a7d7064544a3f33281c0f0300000000000000000a141d2a36414c56606d78847d70695e564d453c332d261d19140e0905070c1013141a1e20262b2f34383f444b5159616b74818e9aa7b4c1cddae1d5c8bbaea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdddd8d4d2d1d2d5d2c6b9ada197897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000007131f2b3744505b6573808c99a6b0bbc7bfb4aa9c908376695f5347382d22170b00000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000020d172028343f4a545d686d79828e939fa2aab1babfc6cacfd5d2ccc7c6c2beb9b8b5b3b2b1b0afb0b1b1b3b5b7b9bdc2c5c7cbd1d5d5cfcac6bfbab1aaa29f938e81786c665b53493f332a1e150a0000000000000000000713202d3a4653606d798693a0a3a3a3a3a3a3a3a3a39c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c0000010b151f272f353b41464e535960666c71797f868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b0903000000000000000000000000000000000000010d19242f3a4754606d7a86929facb8c1cfd9d9cec3b7ab9f948c7f726a5f554b433a3128201a15100c0707060607060b10141a1f273039424a545f6a727f8c949fabbac4cee0d7cbc0b5ab9e9184796d6053463a2d22170b000000000000000006111b262f3846525e68727f8c857b6e685e574e443f382f2a251e1a14100c070606090e12151a1d23292d333940454f5964707d8a97a3b0bdcad6e1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a97a1adb9c6d5d2ccc8c6c4c6c9cfc9beb3a99b8e8175675d5145392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabb7c6c6b7ab9f94887b6e62544a3f33281c0f03000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000050e17232e38424c565d676d79818a92989fa7aeb4b9bec5c9ced3d4d2cfc9c6c4c2bfbfbebdbcbdbdbebfc2c4c5c9cfd2d3d4d1cfc9c5bebab4aea79f98928b81786d665b544a41382d21180c030000000000000000000713202d3a4653606d79869396969696969696969696968f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000030d151d242930363c43474f545b60676d737b81878f949da0a7adb2babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d080200000000000000000000000000000000000813202c3945515d6774818d9aa5afbdc7d1dcd3c7bcb0a69f92867c6f675c554b433a322b261f1c18151313131315171c1f252a3139424b545c666e7c86929fa6b0bcccd5ded3c7bbafa3998c7f73665c5044382c1c110600000000000000000b17222d38414e58616e7a859290837a6e696058504a423c36302a261f1c1813120f0b060d090e12181b22272f343e4a5763707d8a96a3b0bdc9d6e1d5c9beb3a994877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e6875828f9ca9b3becad0c7c0bbb9b8b9bec4cdc4b8ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000b17222d3846535f697683909caab4bfc7bcb0a6998c8073665b5044382b1f1308000000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000006111c26303a444c555d676d757e8690959fa3aaadb3b9bdc4c6cad0d2d3d2d1cecccbcacac9c9cacbccced1d2d2d1cfcec8c5c3beb9b3adaaa29f9590867e756d665c544a42382f261b0f06000000000000000000000713202d3a4653606d79868a8a8a8a8a8a8a8a8a8a8a8a8a8275695c4f4236291c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000000000000000000000a1623303d495663707c8996a3afbcc9d6d8ccbfb2a5998c7f7266594c3f3326190c00000000030b12181e252a31373d424a50555d60686e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000004111d2935414c55626f7c88939eabb5c0cbd7d8cdc2baaea3999083796d675d554c443e37312c282321201f1f202123282b30363d434b545c666d78839098a3aeb9c2cdded6cabfb4aa9f92867b6e61544a3f34281c0a0000000000000000030f1b27333f4953606a74818e989590847b6f6a605b544e46413b36312c2923201f1c1719191a1a1b1a1e212429333f4a5465717e8b98a4b1becbd7dfd2c6b9ada197867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929facb9c5cfc7beb6afacabadb3bbc4c7baaea2988b7e7164574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000006111b2a36424d5765717e8b98a2aebac6c2b7ab9e9184786c6053463a2f24190d010000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000a151e28323a434c555d606c717b838c92989ea2a9acb2b8babfc2c5c6cad0cccdcececfcfcecdcdcccbcfcac6c5c3c1bcb8b7b2ada9a29f98928c837b716c605c544a42382f261d140a00000000000000000000000613202d394653606c777d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4231261b0f02000000000000000000000000000000000a1723303d4a5663707d8996a3b0bcc9d6d8ccbfb2a5998c7f7266594c3f3326190c000000000001070c141920262b2f383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e18120b060000000000000000000000000000010d19242f3a47535f6a75828f99a3afbbc5cfdad7cbbfb4aba0958f81796d675d564f47423c38342e2e2d2c2c2d2e2e34383b42464f555d666d78818e959faab4bfcbd4dbd3c7baaea2988d8174695e5242382e23170c00000000000000030e18212b3744505b656f7c87939fa09691847c726c665f58524c46423b38342f2d2b28222626272727252a2d30353c44505b6673808d9aa6b3c0cdd9ded1c4b8ab9e918578675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3afbbc7ccc0b6aca49f9ea1a9b3bec9bfb4aa9c8f8276695e53463a2d21150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000e1a26313b4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d11040000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000030c162028313a434b515a61696e7880868c92979ea1a8acaeb4b5b8babebebfc0c1c1c2c2c1c1c0bfbfbebeb9b8b6b4b1acaaa9a19e97928c8680786e69625a504a42382f261d140b02000000000000000000000005121f2b3744505b656c70707070707070707070707070706f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1e1308000000000000000000000000000000000b1825313e4b5864717e8b97a4b1becad7d8ccbfb2a5998c7f7266594c3f3326190c0000000000000002080e151b1d262d333940454d52585f626b70787e848c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c353028231d17110a020000000000000000000000000008131e2b37434e58626e7c87929fa9b3becad6dcd1c6bdb1a79e938f82796d686159534d4644403c3b3a38383a3b3c3f44464d525960676d78818e939ea7b1bcc6d0ddd5c9bdb2a89f92867b6e61574d4230261c1106000000000000000915202935414c56606c7883909aa4a8a09691877f786e6a615e56534d4745403b3938332d333333343431363a3b41464e57606c7884919eabb7c4d1dedccfc3b6a99c90837669554b4035291d100400000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a7784919dabb5c0cbc8bbafa49a939197a1adb9c6c6b9ac9f93877b6e6154483c32271b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000914202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8175675d5145392c2014090000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000040d161f28313a404550575f666d737a80858b91969b9fa2aaa9abadb3b1b3b4b4b5b5b5b4b4b3b3b2b1b3adaba9a7a7a09d9997918c85807a736d665f5750443f3830261d140b02000000000000000000000000030f1b27333f49535b6063636363636363636363636363636260584e43372b1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dcd0c3b6a99d9083766a5f53473a3025190e050000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d8ccbfb2a5998c7f7266594c3f3326190c000000000000000000030a0b141c22282f353b41464e535960666d717980868e93999fa6acb1b9bec4cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000010f1b26313c47535f6a74818e97a1adb9c1cbd5d8cfc3b9afa59e948f837a706b625f5753514a49484645454648494a5053575e616b7079828f939ea5afb9c3ced8d4cbc3b9ada1968d8073695e52453b301e150a00000000000000020f1a26313945525d68717e8b959facb2a8a199928c827c746e68615f5753514b4846443f414040404041424246484c52585f69707d8a96a1adb9c5d2dfd6cabeb3a99a8d8074675a4d412f24180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55626f7c8995a0acbdc7d1c6b9ac9f938885919eabb8c4c8bbafa49a8c7f7266584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c4b8ac9f92867a6d6054473c31261a0e0000000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000040d161f282f353e454d545c60686e73797f848a8f9298999c9fa2a9a4a6a7a7a8a9a8a8a7a6a6a5a4a9a19e9c9a9895908c89847f7a736d68605c544d453f342e261e140b0200000000000000000000000000000b17222d3841495053575757575757575757575757575756544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd1c4b8ab9f95887c6f62564c41352920160d040000000000000000000000000005111d2935414c566773808d9aa6b3c0cdd9d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a150d0802000000000000000000000a15202b37434e58616e7a85929ea5afb9c3cdd6d5cbc1b7afa69f9590847d756e6963605c545654535151535456545c6063696e757d838f949ea5afb7c1cbd4d6ccc3b9aea49e91847a6d60564d4233291f0c030000000000000006121f2b37434e58606d7a85929ea7b1bab2aba39f948f87817a736e6964605c555553504a4d4c4c4d4d4e4f4d5354565d616a6f7b85929ea8b2bdc9d5dfd2c6b9ada297897d706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818d9aa7b1bccfd1c4b8ab9e9184808c99a6b3bfccc0b6ac9d9184776a605447382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606c7884919eabb7c2c7baaea2988b7e7165574d42372b1b110600000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000040d161d2429333b424a50565e61676d72787e8285898d8f92979698999a9b9b9c9c9b9a9a999898969792908e8b8783807c78726d67615e56504a423c3328231c140c0200000000000000000000000000000006111b262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433d342b20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8d8174685e52463d32281f160d060000000000000000000000000b13202d3946525d687683909da9b6c3d0dcd7cabeb1a4978b7e7164584b3e3125180b00000000000000000000000000060b12181f252a31373d424a50555d60696e747c828990959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b443f382f2b261f19130c04000000000000000000040f1a26313c46525e68717e8a939ea7b1bbc5ced7d3c9c1b8b0a79f96918a827b74706d66646261605c5c60616264666d70747b818990959fa6afb7c1c9d2d7cec4bab1a79d92897d70675d51443b3020170d00000000000000000814212e3a47535f6a73808d97a1adb9c2bdb5aea69f99928d86807b75706d676462605b545a59595a5a5a5c575e6164686d727c839197a1adbac4cfdad9cfc5b8ab9e9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1d2c6b9ac9f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ced0c3b6a99d90837e8b98a4b1becfc7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000007131f2b3844505b6673808c99a6b0bcc7bfb4aa9c908376695f5346382d22170b00000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000040c1318212930383f444c52555d60666d7175797d80828588898b8c8d8e8e8f8f8e8e8d8c8c8b89878583817e7b77736f6c65605d55524c443f38302a2117110a0200000000000000000000000000000000000a141d262d3337393d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d8cdc2b8ac9f92867a6d61594f443a31281f170f0a040000000000000000030b121c27303a4754616d7a86929facb9c5d2dfd7ccc0b5ab968a7d7063574a3d3024170a000000000000000000000000000001070d141920262b30383f444b51565e616a6f767d838b91979fa2aaafb5bdc2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555049413d373129251e160e040000000000000000000a15202a36414c56616c75818e95a0a9b3bcc5ced6d3cac2b9b1a8a09e948f86817d7974716f6e6d66676d6e6f7174797c80868e939da0a7b0b8c1c9d2d6cdc5bcb2a89f958d81746b60554c4132291f0e0500000000000000000815222f3b4855626e7b87929fa9b3becbc6bfbbb0aba39f98928d87827d7975716e6c6668676666666767696a696e71747a7f869195a0a9b3beccd6dcd1c7bdb1a79b8e8174665c5044382c1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cecec6b9ac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d5cec1b5a89b8e817d8996a8b2bdc9c8bdb1a89a8d8074665c5044382c1f13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fabb7c6c6b7ab9f94887b6e6153493f33271b0f03000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000001070f181e262e343b41464b51545c6064666d707376797b7c7e808181828282818180807f7e7c7a787674726e696662605b53514b46413a342e261e180f0600000000000000000000000000000000000000020b141b22272b2d30303030303030303030303030302f2e2b27201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfdfd3c6baaea2988e81746b60564c433a3129211b15100c0707060406070a0c151c232e39424f5964717e8a99a3afbbc7d4e0d4c7bbafa499887b6e6255483b2f2215080000000000000000000000000000000002080e151b1e262e343940454d52585f626b70787e858c92989fa4abb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f47423c35302820160c020000000000000000030d1925303b44505a606d79839097a1aab3bcc5cdd5d4cbc2bab2aca69e99928e8985817e7c7b797878797b7c7e8185898d92989ea5acb1b9c2cad3d4cdc4bbb3aaa1969083796d60594f433a2f20170d0000000000000000000d1a2633404d596673808c949fa7b0b8c1cbcbc2bdb5afaaa29f99938f8a85827e7b7976757473737373747577787b7e81868c9298a0a7b1bbc5cfded7cbc0b5ab9f958a7d7064544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1b9ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9b3becad6ccbfb3a6998c807a8796a1adb9c5cec3b8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909caab4bfc7bcb0a6998c8073655b5044372b1f1307000000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000060c151c232830363940454a5053545c606366656c6e70717374747576757574737372716f6d68696765615e575653504945413a353028231c150c06000000000000000000000000000000000000000000020a11171b1f20242424242424242424242424242423221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe2d6cabfb4aa9d93897d70685e554b433b332b271f1d18141312101314151b1e272e34404a54616b7683909cabb5c0cbd7dfd2c6b9ac9f9386796d6053463a2d201307000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d717980868e93999fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a32281e130800000000000000000008141e29323e45515d676e7b859298a2a9b3bbc3cbd5d4ccc4bdb9b0aba39f9a97928e8a89878685858687898a8e92979a9fa2aaafb8bcc3cbd4d5cbc2bbb3a9a29891847b6e675d51473d31281e0e050000000000000000000713202d3a4653606d78828f959fa6afbbc0c7cfc7c0bbb4aeaba49f9c98928f8b88858381807f7f808081828385878b8e92989fa2aab1b9c3cdd7d4ccc3bbafa3999083786d6053463a2e23170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4ac9f9386796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5d0d6cabeb3a9978a7d7884919eabb8c4d1c6b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b98a2aebac7c2b7ab9e9184786c6053463a2f24180d010000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000030a11171e252a2f35383f44464b515356535b6061636566676868696968676766656563615e565b5854534d4946443f38352f29251e17110a03000000000000000000000000000000000000000000000000060b0f121317171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dbd0c6bcafa59e91847a6d675d554d453e37322c292421201f1c1f2021262b30394044515c66707d8a949fabbdc7d1dcddd0c3b6aa9d908377675c5145382c1f13060000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c443a3025190d010000000000000000020d17202935414c555e696f7c869297a1a9b1b9c0c9ced6cec9c1bdb4aeaca9a29f9b97959a939292979495979b9ea1a9acaeb4bcc1c8ced6cec9c0b9b1a9a19792867c6f695e554b40352b1f160c0000000000000000000006121f2c3844515c666d798390949ea5afb5bdc3cbcbc5bfbab5afacaaa29f9b979892908e8d8c8c8d8d8d8f909297979b9fa2aaaeb4bcc3ccd5d5cbc3bab2a89f92877c6f665c5044382b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a89f9386796c605346392d201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5966737f8c99a4afbbc7d7d3c6baada297887b75828f9ba8b5c2d0c9beb3a99b8e8275685d5245392c20140900000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000060c14191d24292e34383a4045464a495053555658595a5b5b5c5c5b5b5a5959585654524c4e4b4846423c3937332d29241d19130c06000000000000000000000000000000000000000000000000000000000305060a0a0a0a0a0a0a0a0a0a0a0a0a0a09080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfede2d7cec1b9aca0969083796d675f575047433c38352f2e2d2c292c2d2e31373c424a515b606d7883909da6b0bccfd9e3d5c9beb3a9998c807366554b4034281c100400000000000000000000000000000000000000000000060b12181f252a31373d424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e564c4135291d1105000000000000000000050e19242f3a434d57606a6f7d859297a0a7aeb9bdc4cbd0d5cfc6bfbab9b3adaba7a4aca49f9e9fa2a9a2a4a7abadb3b8babfc6ced4d0cac4bdb9aea79f9791857c6f6a5f564d43392f231a0d040000000000000000000004101c2834404a545d676d7a828e939fa3abb1babfc6cbcac7c0bbb9b4aeaca8aaa29f9c9b9a9999999a9a9c9d9ea1a9a7acaeb4babfc6ced6cfc9c2b9b1a8a0968d80736a5f544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b7784919eabb5c0ccd7d2c5b8ab9f928578737f8c99aab4bfcbcfc5b9ac9f92867a6d6054473b31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c2014090000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000002080d12181c23282b2e34383a3d3f444648494b4d4e4e4f4f4f4e4e4d4d4c4b49474641413f3b3a36312d2b27221b18130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe8e0dad5c9bdb2a89f958f82796e69615a544e4745403d3a3a3834383a3b3d43474d545c606d74818e95a0acb8c2cde1dfd2c6b9ada197887c6f6255493c2e23180c00000000000000000000000000000000000000000000000001070d141920262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d685e5246392d2013070000000000000000000008131e28313b454e58606b6f7c8590959da4acb2babfc6cad0d1cbc7c5bebab8b4b1b6afacababadb3afb0b4b8b9bec5c6cad0d0cac6bfbab2aca49d9590857c6f6a60584e443b31271d11080000000000000000000000000c18232e39424b555e686d79818c9299a0a7aeb4babfc6caccc7c6bfbab8b5b4aeaca9a8a7a6a6a6a6a7a8aaabadb3b4b8babfc6cad0d0cac4bdb9b0a79f969184796d60584e42382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e86796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbdc7d2ddcfc2b5a89c8f8275707c8998a3aebac7d3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c4b8ac9f92867a6d6054473b31261a0e0000000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2d3337393b3d3e404141424342424140403f3e3c3a393630322e2d2a25201f1b17110d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0a090704000000000000000713202d3a4653606d798693a0acb9c6d3e8ded6cfc9c5c4bab1a79f948f837b706c62605853514b49474644404547484a4e53575f666d747f8c939da7b1bccad4ded8ccc0b6ac9e9185786c605346392d201307000000000000000000000000000000000000000000000000000002090e151b1e262e343a40454d52585f626b70787e858c92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a6d6154473a2e21140700000000000000000000010c161f29333d464f59606a6f7b838d929ea1a8aeb4babec5c8cdd2cfcac6c5c1bdc0bbb9b8b8babebcbdc1c5c6cacfd2cdc8c5bebab4aea8a09e928d837b6f6a60584e463c32291f150b0000000000000000000000000007121c27303a434c565e676d747f8790959fa3aaaeb4babfc5c7cbcac6c5c2bfbab8b6b4b3b2b2b3b3b4b5b6b8b9bec1c5c7cad0cdc8c5bebab2ada69f9590847b6e675d51463c30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774808181818181818181818181818175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8b2bdd0d9d6cabeb3a9988c7f726d7986929facb8c5d2cbbfb4aa9c908376695f53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4653606c7884919eabb7c2c6baaea2988b7e7164574d42362a1b110600000c1926323f4c5965727f8c98a5b2bfc2b6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000060b1012181c1f2022272b2d2e3032333435353636353434333232302e2d2a252521211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171614100b0500000000000713202d3a4653606d798693a0acb9c6d3e0d6ccc4bdb9b7b9b9b0a69f9590857d766f6a64605d55565453504b51535457585f62696e78808c919ca5afb9c3cedcded4c8bbafa49a8e8174655b5044372b1f120500000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cbd0cac4bdb9b1aba59e99928d85786c5f5245392c1f120000000000000000000000040d17212b343d464f585f696e79808a91969fa3aaadb3b8bcc3c5c7cbd1d0ced2ccc8c6c5c5c6cacfcaced0d1cbc7c5c3bcb8b3adaaa29f96918a80786e695f584e463c342a20170d0300000000000000000000000000000b151e28313a444c555c606d727c838c92989fa3aaaeb4b9bbc0c4c6c9cfcac6c5c3c1c0bfbfc0c0c0c2c3c5c6cacfd1cbc7c5c2bcb8b4aea8a19e948f837a6e695e554b40342a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e74757575757575757575757575756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c3cedfd3c6baada297897c6f6776838f9ca9b6c2d0d1c6b9ac9f93877b6e6155483d32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2b3844505b6673808d99a7b1bcbebfb4aa9c908376695f5346382d22170b00000c1926323f4c5965727f8c98a5b2bebeb6a99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000003070c101313171b1f202223252627282829292828272626252321201d19181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2427272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272423201c161008000000000713202d3a4653606d798693a0acb9c6d3dacfc4bab2adabadb2b8b0a7a097928a827c75716d67666361605c555c606163676a6f757b838d929ca3adb7c1cbd5e0d7cbbfb4ab9f93877c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f9786796c605346392d2013000000000000000000000000050f19222b343d464e575f676d747d848c92989fa2a9acb1b6b9bbc0c1c3c5c6cacfc8c9c9c8cfc9c6c5c3c1bfbbb9b6b1aca9a29f98928c847d746d665e574e463c342b22190e05000000000000000000000000000000030c161f28323a434b515b636a6f787f868d92989fa2aaacafb5b8b9bec0c2c3c5c7cbd1c8c9c9c8c8d0cac7c5c3c1bfc0bbb9b6b1abaaa29f96918b82796d685e574d43392f22180c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c646768686868686868686868686868655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6d3ded2c5b8ab9f9285796d6673808c99aab3becad4c8bbafa49a8c7f7366584e43382b1d12070000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabb1b1b1b1ac9f93877b6e6153493f33271b0f03000c1926323f4c5965727f8c98a5b1b1b1b1a99c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000406060b0f12131516181a1b1b1c1c1c1b1b1a1a1918161413110d08080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434302f2c28211a11080000000713202d3a4653606d798693a0acb9c6d3d5c9bdb2a8a19ea1a8b1b9b1a9a29f948f87827e797572706d6d666b676d6e7073777c818790959da4adb5bfc9d2ddd7cec5baaea3998e81756a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea99386796c605346392d201300000000000000000000000000071019222b343c454d555c606c707980868d92979da0a7a9acafb5b4b6b8b9bebbbcbcbcbcbbbeb9b8b6b4b5aeaca9a7a09d97928d867f79706b605c544d453c342b221910070000000000000000000000000000000000040d16202830394045515860666d727b80868d92989c9fa3ababadb2b3b5b7b9babfbbbcbcbcbbbbbabfbab8b7b5b3b5afaca9a79f9d98928c847e786d675e564d453b31271d10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b59534b41372c201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfcad6d7cbc0b5ab9b8e817566636f7c8998a2aebac6d3ccc0b6ac9e9184776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f697683909daaa5a5a5a5a5a49a8c8073655b5044372b1f1205000c1926323f4c5965727f8c98a5a5a5a5a5a59c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000030506080a0b0d0e0e0f100f0f0e0d0d0c0b09070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413d3c38332c231a100500000713202d3a4653606d798693a0acb9c6d3d2c5b9ada1969196a0a7b1bbb3ada69f9a938f8a85827f7c7a797878797a7b7d8083888e92999fa7aeb6bfc7d1dbd9d0c5bcb2a89f92867b6e61584e432f261b11060000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa3aaafb6bec2c8cecfc6bfac9f9386796c605346392d20130000000000000000000000000000071019222a333b434b515961676d737b80858c9095999d9fa3aba8a9abadb3aeafafafafaeb3adaba9a8aba39f9d9995908c85807a736d676159514a423b332a2219100700000000000000000000000000000000000000040e161e272e343f464e545c60696e747b80858a8f92999b9ea1a9a6a8aaacaeb4aeafafafafaeadb4aeacaaa8a6aba39f9c9895908c857f79716c665d554c443b33291f150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4841392f251a0f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd3c7bbafa3998a7e7164606d7985929fabb8c5d0d2c7b9aca096897c6f62544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2b37424d5765717e8b9898989898989898989184786c605346392d201306000c1926323f4c5965727f8c98989898989898988f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a48443e352c21160b00000713202d3a4653606d798693a0acb9c6d3d1c4b7ab9e91849095a0abb5bebab0aca49f9c98928e8c89878685858586878a8d90959b9fa3abb1b9c0c8d1d9d8d1c7bdb4aaa1968d8074695f53463c321d140a0000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfb9ac9f9386796c605346392d20130000000000000000000000000000000710182129303940454f555d60696e737a7f83888c909299999b9d9ea1a9a2a2a3a3a2a2a9a19e9d9b999992908c88837f7a736e68605c554f444039302921181007000000000000000000000000000000000000000000040c151d2328343c424a50575e61696e747a7e82868b8e919798999b9d9fa3aaa1a2a3a2a2a1a1aaa29f9d9b999799928f8b87837f7a736d67605b544b433a322921170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403d372f271d13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8d7dfd2c5b9ac9f92867a6d615c6675828f9baab4bfcad4c8bdb2a89a8d8174665c5145382c1f130800000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4754606d7a868b8b8b8b8b8b8b8b8b8b897c706356493d3023160a000c1926323f4c5965727f8b8b8b8b8b8b8b8b8b8b8276695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a070604000000000000000008141f2b36414a53585a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f839099a3afbbc0beb6afacaaa29f9b999694989291929894969a9da0a7acafb5bdc2cbd2dad6cfc6bfb5aba29891847a6d61574d42342a200b02000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c141c23282f353b42464e535961666d727a80868e939a9fa6acb2b9bec5b9ac9f9386796c605346392d201300000000000000000000000000000000060f181e272e343e434b51565e61676d72777b7f8386898c8e90929794959596969595949792908e8c8986837f7b77726d67615e56514b433e342e271e170f060000000000000000000000000000000000000000000000030b1218222b30383f444d52575e61676d71767b7e8185888b8d8f9092989495959696959594939892908e8c8a8886837f7b76726d68605d55504a423a312820170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b3033343535353535353535353535353534312c251d150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8d6cabeb3a99c8f8275685e5464717e8a98a2aebac6d3cec3b8ab9e9285796d6053463a3024190d01000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c3945525d68707d7e7e7e7e7e7e7e7e7e7e7e7c6f6256493c2f231609000915222f3c4855626f7c7e7e7e7e7e7e7e7e7e7e7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100c070000000000000b1824303c48535c64676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676361594f44382c201407000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7c87929fa3afb5bdc0bbb9b3aeaba8a5a3aaa29f9e9fa2aaa3a6aaacb1b9bbc0c7cfd4d9d4ccc4bdb5aea49992867c6f685e52453b3122180e000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfac9f9386796c605346392d20130000000000000000000000000000000000060c151d2328313940454d52555d6065696e73767a7c7f818385878888898989898887878583817f7c7a76736e6965605d55524c4540393028231c150c0500000000000000000000000000000000000000000000000000000710191e262e343b42464d52555d6064686e7175787b7e808284868787888989898888878786858482807e7c7976726e6966615e56514b443f382f281f160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a20242727282828282828282828282828282725201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1acbec7d2ddd3c6baada2978a7d71645653606d7a86929facb8c5d0d2c6b9ada2978a7d7064564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c7072727272727272727272726f6a6054473b2e221508000815212e3b47535f6a6f72727272727272727272706b6155483c2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c18120b03000000000d1a2733404c58646e74747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474706b6155483c2f231609000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f737e8b919fa4abb3bbc1c5bebab8b5b2afb4aeababacaeb4b0b3b6b8bcc3c7cbd1d9d4cec8c2bab2aba39f93877d706a5f564c4133291f10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b13181f252a32373e424a50555d60696e747c828a91969ea1a9aeb4ac9f9386796c605346392d2013000000000000000000000000000000000000030b12181f272f353b42464c5154575f6266676d70737576787a7b7b7c7c7c7c7b7b7a78767572706d6766615f5754514b46413b342e271e18120b0300000000000000000000000000000000000000000000000000000000070c151c232830363b42464b5153565e616568696e71737577797a7b7b7c7c7c7c7b7a7a7979777573716f6d6765615e5754524c454039332d261d160d050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b18140f090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdd0d9ded2c5b8ab9f9285796d6053515d6775818e9ba9b3becad6cabeb3a99b8f8275685d5246392d201509000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a616465656565656565656565656260584e43372b1f13060006121f2b37434e585f62656565656565656565656361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c28231c150c030000000e1b2734414e5a6774818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817d7063574a3d3024170a000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f73737f8c9399a2a9b0b8bdc3c6c5c1bfbcbebab8b8b8babfbdc0c3c4c8cdd4d5d2cec8c3bdb8b0a8a199928b7f726b61584e443a3021180d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444c51575e616a6f767d848b92979fa3aaaf9f9386796c605346392d20130000000000000000000000000000000000000000070d151d242930363a4145474d5355555d606366686a686d6e6f6f70706f6f6e6d676a686663605d5555534d4745413a363028231d150c0700000000000000000000000000000000000000000000000000000000000000030a11171f252a3036394045474d525458575f62656668666c6d6e6e6f706f6f6e6e6d6d666a68666462605c5554524d4746413a352f28221c140b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e0f0f0f0f0f0f0f0f0f0f0f0f0f0e0c0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4cedfd4c8bcb1a79a8d8174675c514b5564707d8a97a2adbac6d3cfc5b9ac9f92867a6d6154473c31261a0e000000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e47505557585858585858585858585856544e463d32271b0f0300030f1b26323c464e53555858585858585858585857554f473e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000013202d394653606c79868d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8c7f7366594c403326190d000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f736d737f8792979ea6acb2b9bbc0c5c7cbcac6c5c4c5c6cad0cdd0d2d1d0cfc9c5c3bcb8b2aca69f9691877f726d62594f463c32281e0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e151b1e262e343a41454d525860626b70787f858d92989fa49f9386796c605346392d2013000000000000000000000000000000000000000000030b12181f252a2f35393c4247484b515356595b565d606162626363626261605d555b595653514b4847423c39352f2a251e18120b0300000000000000000000000000000000000000000000000000000000000000000000060c141a1f252a2f35393b4146474b4d5355585a545b6061616262636362626160605c545b59575553514b4846423b39363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a2aebac6d3ded1c5b8aca095897c6f62554b4653606d7985929fabb8c4cfd3c7baaea3998b7e7265574d42372b1b11060000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2c353e44494a4b4b4b4b4b4b4b4b4b4b4b4947433d342b20150a0000000a15202a343c4347484b4b4b4b4b4b4b4b4b4b4a48443e352c21170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4644403930271c1207000013202d394653606c7986939a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998c7f7366594c403326190d000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f73666d727d858f949da0a8acafb6b9bbc0c1c4c5c7cbd1c9d2ccc8c6c5c4c2bdb9b7b1aca8a09d948f847c726d625b51473e342a20160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9f9386796c605346392d20130000000000000000000000000000000000000000000001070c14191e24292c31373a3b404547494c4e4c5254555556565656555454514b4e4c494745403b3a37312c29241d19140c070000000000000000000000000000000000000000000000000000000000000000000000000002090e141a1d24292c3036393b3e4247484b4d4a50535454555656565555545453504a4f4d4b484745403b3a36302d2a251e18120b0600000000000000000000000000000000000000000000000000000000000004080a0b131313131313131313131313131313120707050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313130b0b090501000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfcad6d7cbc0b5ab9d9184776a60544345515c6674818e9aa9b3bec9d5cbbfb4ab9d908376695f5347382d22170b0000000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a232c33393c3d3f3f3f3f3f3f3f3f3f3f3f3c3b37322b22190f04000000040e18222a32373b3c3f3f3f3f3f3f3f3f3f3f3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d5355575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753514a42392e23180c000013202d394653606c7986939fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6998c7f7366594c403326190d000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f7366636b707b828a91969c9fa4acacafb5b5b7b9bbbfbbbcbcc0bbb9b8b7b5b2adaba7a09d96918b827a6f6a625b51493f352c22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242930363c43474f545c60676d737b818790949386796c605346392d201300000000000000000000000000000000000000000000000002090e13191d20262b2e2f35393a3d40424145474848494949494848474541423f3d3a38352f2d2b26201d18130e08020000000000000000000000000000000000000000000000000000000000000000000000000000000002090e12181d20252a2d2e31373a3b3e403f44464748484949494948474746443f42403e3c3a38342f2d2a25201e19130c07010000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201f1413110d08020000000000000000000000000000000000000000000000000000040a0f13151620202020202020202020202020202020181715110c06000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88949fabbcc6d0dbd4c7bbafa3998c7f7266584e43404b5463707d8997a1adb9c6d2d1c6b8ab9f95887b6e6153493f33271b0f0300000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303132323232323232323232322f2e2b2720191007000000000006101820262b2e2f32323232323232323232302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f616363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a4034281c10040013202d394653606c7986939facb4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b2a6998c7f7366594c403326190d000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f73665961696e757d848a8f939a9c9fa3aba8aaacaeb5aeafafb6afacabaaa8a8a19e9b95908a847e786d68605851493f372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a50555d60696e757c828a9186796c605346392d2013000000000000000000000000000000000000000000000000000001080d11151a1e2124292c2d30332f35393a3b3c3c3d3d3c3c3b3a39352f33302d2c2924211e1a15110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1014191e2021262b2e2f322d3338393a3b3b3c3d3c3c3b3b3a3a38342e33312f2d2c2923201e1a14110d08020000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c21201e19130d05000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a6b0bcced8dfd2c5b9ac9f92867b6e6154473d3a4653606d7985919eabb8c4ced4c7bcb1a7998c8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c202324252525252525252525252523221f1b150f0700000000000000060e151b1f2122252525252525252525252423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e70707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5144382c1f12060013202d394653606c7986939facb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b2a6998c7f7366594c403326190d000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f736659575f616b70787d82878c909299999b9d9fa3aba2a2a3aca49f9e9d9b9896918e8a837e78716c665e564e463f372d251b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f444c51575e616a6f767d8486796c605346392d2013000000000000000000000000000000000000000000000000000000000104090e1214181d1f20232624292c2d2e2f2f30302f2f2e2d2c29242623201f1d1814120e0904010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104080e1114141a1e21222522282b2d2e2e2f2f30302f2f2e2d2d2b2823262422201f1c1814120e0905010000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393939393939393939382e2d2a251e170e050000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393932312e29221b12090000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2cdded6cabeb3a99c8f8276695e52463a3844505c6674808d9aa8b2bdc9d5cdc2b7aa9e9184786c605346392f23180c00000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161718181818181818181818181615130f0a04000000000000000000040a0f12151518181818181818181818171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070013202d394653606c7986939faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa6998c7f7366594c403326190d000613202d394653606c78818181818181818181818181817e7064574d535961666c70767b7f83868a8c8e91929994959696959a9392918f8b8884817d78716c66605b544c443d342d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d535860626c70787f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000206070c1013141619191d2021222223232323222121201d1819161413100c070602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507090e12141518171c1f2021212223232322222121201f1c171a18151413100c07050200000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e464646464646464646464646464646453a3936302920170d020000000000000000000000000000000000000000030d19222b32373b3c464646464646464646464646464646463e3d3a342d241b11060000000000000000000000000000000000000000000004111d2935414c5663707d8a96a1adb9c5d2dfd3c6baada2978a7e7164564d4236343f4a54626f7c8996a1acb9c5d2d2c5b9aca096897c6f63554b4034291c1004000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1ddd0c3b6aa9d9083776a5d5044372a1d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0c0c0c0c0c0c0c0c0c0c0c0908060300000000000000000000000000030608090c0c0c0c0c0c0c0c0c0c0a0a070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877a6d6154473a2e2114070013202d394653606c7986939d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d998c7f7366594c403326190d0006121f2b3844505b666c75757575757575757575757575706c615549464f545b6064696e73767a7d8082848687888889898887868584827e7b7874706c65605b54504a423a322b221b130901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545a61666d726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000406070a080d11131415151616161615151413110d070a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060808060b0f1213141515161616161514141312100b060b09070604000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353535353535353535353524746413a32291e130800000000000000000000000000000000000000010b151f2b343d434749535353535353535353535353535353534b4a453f362d22180c010000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9d5ded2c5b8ab9f9285796d6053473b302e384854606a7884919eabb7c3ced5c9bdb2a89a8e8174675c5145382c1f1308000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4d1dbd0c3b6aa9d9083776a5d5044372a1d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b969696969696969696969696969696969696969696969696969696969696969696969696969696969696969694877a6d6154473a2e2114070013202d394653606c798691919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191918c7f7366594c403326190d00030f1c28333f4a545b606868686868686868686868686864615a50443e424a5053575f6266686d71737577797a7b7b7c7c7b7a79787775726e696864605b53504a443f382f282019100901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171e242931363c434750545c6065625b51463a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000010406070809090a0a0909080706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606070808090a09090808070706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606060606060606060605f54524c443a3025190f0500000000000000000000000000000000000007121d27313d464e54565f606060606060606060606060606060585650483f34291d11050000000000000000000000000000000000000000000714212d3a4754606d7a86929facb9c4cfdad4c8bdb2a89a8d8174675c514538292c38434e586673808d99a7b1bcc8d4cec4b8ab9f9285796d6053473a3025190d010000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c4cececec3b6aa9d9083776a5d5044372a1d11040000000000000001040607060401000000000000000000000000000000000000000000000000040607090b0d0d0c0b08070502000000000000000000000000000000000000000000000000000000000000030607090b0b0a0908060300000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000030608090a0b0b090706030000000000000000000000000000000c1925323f4c5865727f8b98a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a094877a6d6154473a2e21140700111e2b3744515e6a77838484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484848484847f7265584b3f3225180c00000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e2f383f44464d5355565d60646668666d6d6e6f6f706f6e6d666a6865625f5757535049443f38332d261d160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c13191f252a32373e424a5053585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b615e564c41362a21170b0200000000000000000000000000000000040d18242f39434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c65625a50453a2e211509000000000000000000000000000000000000000006121f2b37434e5865727f8b98a3aebac7d6ded1c5b8aca096897c6f62554b40342927323d4855626f7c8895a0acb8c5d1d3c6baada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb8c1c1c1c1c1b6aa9d9083776a5d5044372a1d1104000000000001070d10131413100d07010000000000000000000000000000000000000000070c10121316181a1a19181514120e09040000000000000000000000000000000000000000000000000000060b101213161718171515120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171613120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121515171817161312100b06000000000000000000000000000c1925323f4c5865727f8b98a5b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada094877a6d6154473a2e21140700101d2a36434f5b677177777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777726d62564a3d3124180b000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e362c2d33383c4247484c52545759545c6061616263636261605c545c5855534d4a46443f38332d28221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d141a20272b30383f44464b4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010406070809090a0a0b0b0b0b0b0b0a0a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000003080d1012131313131313131313131313131313130f0e0c08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c71797979797979797979797979797979786d685e52463e33291d140a000000000000000000000000000000010c161f2935404b55606a6f79797979797979797979797979797979716c62564a3d3124170b00000000000000000000000000000000000000000815212e3a47535f6a7783909daab4bfcbd7d7ccc0b5ab9d9184776a605443392f23212e3a47535f6a7784919daab7c2cdd6cabeb3a99c8f8275685e5246392d2015090000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eabb4b4b4b4b4b4b4aa9d9083776a5d5044372a1d110400000000040c12181d2020201d18120c0400000000000000000000000000000000040a0f12181c1f2023252627262422211e1a14100c0701000000000000000000000000000000000000000002090e11171c1f202324252422211f1b15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151b1f212224252423201f1c17110e0902000000000000000000000c1925323f4c5865727f8b98a5b2bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbaada094877a6d6154473a2e211407000e1b27333f4b565f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a65625b51463a2e2215090000000a141d262d333839424242424242424242424242423d3c39332c2422282b31373a3b4145474a4d4a50535455555656555453504a4f4b4847423d3937332d28221c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151b1e262e34383a3f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000040607090a0c0e080d1113141516161717171818181817171716141313100c070b0808060200000000000000000000000000000000000000000000000000000000000000000000070e14191d1f1f2020202020202020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d868686868686868686868686868686857a6d615a50453b2f261b1106000000000000000000000000000008131e28313a45515d676f7c878686868686868686868686868686867e7165584b3e3225180b0000000000000000000000000000000000000003101c28343f4a54626f7c88959fabbcc6d1dcd4c7bbafa4998c7f7266584e4331271d1f2b37434e5866737f8c99a7b1bcc8d4d0c5b9ac9f92867a6d6154473c31261a0f0000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea8a8a8a8a8a8a8a8a89d9083776a5d5044372a1d1104000000040d161d24292c2d2c29241d160d0800000000000000000000000000040a0f151b1c23282c2d3032333433312e2d2a261f1d18120c07000000000000000000000000000000000000050d141a1c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000050c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d050000000000000000000c1925323f4c5865727f8b98a5b2bec9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c7baada094877a6d6154473a2e211407000b17222e39444d565b5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e585651493f34291d1206000000020b141c22282b2d3535353535353535353535353531302d28221a171c1f262b2e2f35393a3e403f44464748484949484746443f423f3b3a37312d2b27221b17110b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282c2d32312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000040607070c1013141517191a1c191d2021222223232424252525242424232221201f1c181a181514120e0908060200000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c75818e969393939393939393939393978f82756c62574d41382d22170c03000000000000000000000000040e19242f3a434f59606d798491999393939393939393939393978f82756c62564a3d3124170b0000000000000000000000000000000000000006121f2c3844505c6673808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221151b26313c4855616e7b88959fabb8c7d2d3c7bbafa3998b7f7265584e43372b1c110600000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919b9b9b9b9b9b9b9b9b9b9b9083776a5d5044372a1d11040000010c161f282f35393a39352f281f1a11080000000000000000000003090e161b20272b2e34383a3c3e40403f3e3b3a36312c29241d18120b03000000000000000000000000000001090e171f252a2e34383a3c3e3e3d3c3a37312c29241d160d080000000000000000000000000000000000000000090e161e252a2d3337393c3d3e3d3c3937332d29251e160e080000000000000000000000000000000000000000080d161d24292c31373a3c3d3e3e3c3a38342e2a251f170e0901000000000000000c1925323f4c5865727f8b98a5b2becbd3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c7baada094877a6d6154473a2e2114070006111d28323b444b4f515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151514b4a463f372d23180d0100000000020a11171c1f20282828282828282828282828282423201c17100b0f151a1e2124292c2d312e34383a3a3b3c3c3d3c3b3a38342e322f2e2b26201f1b17110b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202524221d1811090100000000000000000000000000000000000000000000000000000000000000000105070c10131316181c1f20222426272824292c2d2f2f30303031313232313131302f2e2d2c2823262422211e1a1514120e0906020000000000000000000000000000000000000000000000000007111a232a313538393939393939393939393939393939393534312c251d150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3944505a606d7a84919aa49f9f9f9f9f9f9f9fa99e938b7e71695e53493f33271e150a0000000000000000000000020c16202935414c55606b74808d96a09f9f9f9f9f9f9f9f9fa59e92857b6e615a50453a2e211509000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3cdded6cabeb3aa9c8f8276695e52463a2d201415212d3a46535f697683909dabb5c0ccd7cbc0b5ab9d9083776a5f5347382d22170b00000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b78858e8e8e8e8e8e8e8e8e8e8e8e8e83776a5d5044372a1d1104000007121d283139404547454039312c231a11080000000000000001080d151a20272b323739404446494b4d4d4c4b4846423b38352f28231c150c06000000000000000000000000020b131b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283036383f4446494a4b4a4946443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b130b020000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6baada094877a6d6154473a2e21140700000b16202932393f43444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444443f3d3a342d251b110600000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b050003090e1214191d20212423282c2d2e2e2f30302f2e2d2c28232522211e1a13120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101213181815120d06000000000000000000000000000000000000000000000000000000000000000002080d1113181c1f202323292c2d2f313334352f35393a3b3c3c3d3d3e3e3e3e3e3e3d3d3c3b3a38342e33312f2e2b2622211e1a15120e090300000000000000000000000000000000000000000000030e19232c353c41454646464646464646464646464646464642403c372f271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e45525d68707d88939fa7b1acacacacacacafa59f92857b6e655b50443c30261c11060000000000000000000008131e28323a45515d67707d88939fa8b2acacacacacacb3a99e938a7e71685e52483f34291d110500000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd3c6baaea2988a7e7164574d42362a1e12121e2a36424d5765727f8b99a4afbbc7d4d1c7b8ab9f95887b6e62544a3f33281c0f03000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480818181818181818181818181818073665a4d4033271a0d0000010d18242f39434b5153514b433e362c231a11080000000000060b13191f262b32383d43474a51535658595a595755534d47454039342e271e180f0800000000000000000000010b141d252d333b42464a50535657585755534e4745413a312c231b1309000000000000000000000000000000000a131c242c323a4146495053555758575553504946413a322c241c130a0000000000000000000000000000000009131b232c313a4145474e53555758575653504a46423b322d251d140b0100000000000c1925323f4c5865727f8b98a5b2bababababababababababababababababababababababababababababababababababababababaada094877a6d6154473a2e2114070000040e1720282e33363737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373737373732312e29231b1309000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000000000206080d11131417171c1f2021222223232221201f1c17181514120e090503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070c0b0906010000000000000000000000000000000000000000000000000000000000000000050c13191d2023282c2d2f2f34383a3c3d3f4142434145474849494a4a4a4b4b4b4b4a4a4a494746454042403e3b3a37312f2e2b26211e1a150f0b06000000000000000000000000000000000000000008141f2a353e464d51525353535353535353535353535353534e4d4841392f251a0f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222935414c56606b74808d95a0abb5c0b9b9b9b9baaea2988f82776c60584e42382e23170d030000000000000000050e1925303a444f59606d7a84919aa4afbab9b9b9b9b9b9ada1978e81756c61564d41362d22180c010000000000000000000000000000000000000713202d3946525e6875828f9ba9b3bec9d5ded2c5b8ab9f9285796d6053473b30251a0e0e1a26313b4754616e7b87939facb9c6d1d4c8bcb1a7998d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e7475757575757575757575757575736e63584b3f3226190c000004101d2935404b555d605d5550483e352c231a12080200030a11171e242931373d43474e54545c60636566676664615f5753514b444039302a211a12090000000000000000000a131d262f373f454d52545c6062646564625f5854514b433e352d251b1108000000000000000000000000000009121c252e363e444c52535b606264656462605b53524c443e362e251c1209000000000000000000000000000008111b252d353e434b5154585f6264656462605c54524d443f372f261d130a00000000000c1925323f4c5865727f8b98a5adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadada094877a6d6154473a2e211407000000050e161d22272a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2524221d18110901000000000000000000000000000202020202020202020202020200000000000000000000000001040707060c101213141515161615141312100c060808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e34383a3c3f404547484a4c4d4f504c525455555656575758585857575756555453514b4f4d4b4847423f3b3a37312d2b261f1b17110a020000000000000000000000000000000000000d1925313c4650585d5f6060606060606060606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d19242f3a434f59606d79839199a3afbbc2cec6cabeb3aa9f948b7f726a5f544a3f34281f150b01000000000000020d17202935414c56616b74818e96a1acb6c0ccc6d0c4baafa59e91857a6d615a50443b30241b1106000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5cfdad5c9bdb2a89a8e8174675d514538291f14090914202d3946525e6876838f9cabb5bfcbd7cdc3b7ab9e9184786c605346392f24180c000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676868686868686868686868686866635c52473b2f23170a00000613202c3945515d676d67615a50473e352c2419140d0c10141c22282f353c42474e54586062666d6f71737372716e6965605d55514a423c332c241b12090000000000000006101c252f38414951575e61666d6f7171706f6a66605d554f473f372d231a0d04000000000000000000000000050e1b242e37404850565e61656c6f7071706f6c65615e56504840372e241b0e05000000000000000000000000040d1a232d373f474f555d60666a6f7071716f6d66615e56514941382f251c0f06000000000c1925323f4c5865727f8b98a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a094877a6d6154473a2e21140700000000040b11171b1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607070809090a0908070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1720293036393a404546494c4b51535557595a5b5d565d60626263636364646565646464636261605c545b595755534d4c4847423c3a37312b27221b140b080200000000000000000000000000000000101d2935414d58626a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483c3124180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313d45515d676f7c87929fa7b1bcc6d0d0c5bcb0a69f92867c6e665c50443c31271d120700000000000008141f29323b46525e68707d8a939da8b2bec7d2d2c7beb2a89d938a7d70685e52483e32291f12090000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aebbc7d6ded2c5b9aca096897c6f63554b403529170d0205111e2a36414d5665717e8b99a3aebbc7d3d2c5b9ada196897d7063554b4035291d10040000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a5b5b5b5b5b5b5b5b5b5b5b5b5b5a58524a40362a1f130700000714202d3a4753606d79706c61594f473e362a251f18171c1f262d333a41454d535860626a6f74797c7e80807f7e7b77716d67605c544d453e362d241b12090000000000030e18222e37414a525b62696e74797c7d7e7d7b78736d67615951493f352c1f160c0100000000000000000000020d17202d364049515a61686d73787c7d7e7d7c78736d68615a514940362d20170d0200000000000000000000010c16202c353f49515961676d73787b7d7e7d7c79746e69625b524a41372d21180e030000000c1925323f4c5865727f8b939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393877a6d6154473a2e211407000000000000060b0e10111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020202020201615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b51535659555c606264666768696b686d6e6f6f707071717171717170706f6e6d666a686664625f575955534e4847423c37332d261d19140d05000000000000000000000000000000121f2b3845515d6a7479797979797979797979797979797979756f65594d4034271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606a737f8c959faab4bfcad6cec2baaea3989083786d60584e43392f24180d0400000000060f1925303b44505a616d7a85919ea5afbac4d0d8ccc0b6aca1968e81746c61564c41362c20170d00000000000000000000000000000000000000000815222e3b47545f6a7783909dabb5bfcbd7d8ccc0b6ac9e9184776b605443392f24180500020e1925303b4754616d7a86929facb9c5d0d5c9bdb2a89b8e8174675d5145392c1f14080000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4d4b4740382e24190e0200000c1926323f4c5965727f7d706b61595048403630292423282c2f383f444c52575f616a6f767c8185898b8c8d8c8a88837e79736d665f5750483f362d251b1106000000000a15202a343f49525c646d727b8185898a8b8a88848079706b625b51473e31281e13080000000000000000000009141f29333f48515b636c717a8084888a8b8a8884807a716c635b51483e32291f14090000000000000000000008131e28323e47515b626b70798084888a8b8a8985817b726d645c52493f332a2015090000000c1925323f4c5865727f87878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c5254545c60626568676d6f707274757677797a7b7c7c7d7d7d7e7e7e7e7d7d7d7c7a7978777573716e696966625f5755534d46443f382f2a251e170e080000000000000000000000000000131f2c3946525f6c79858686868686868686868686868686868175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18242f39434e58606d78839098a2aebac2cdd6cbbfb4aa9f958c7f736a60554b4035291f160c010000020b17212a36414d56616c75818e97a1adb7c0ccd6d0c7bbafa49a91847a6d60594f443a30241a0e050000000000000000000000000000000000000004101c2834404b55626f7c8895a0acbdc6d1dcd4c8bbafa49a8c7f7366594f4331271d120700000814202d3946525d6875828f9caab4bfcad6cfc4b8ab9f9285796d6053473b3025190e0200000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c404142424242424242424242424242403f3b362e261c12080000000c1926333f4c5966727f867d706b615a5146413b352f2e34383e424a50565d60696e757c82898d929798999a999795908b857f786e69615a50483f372d23180c010000030f1a26313c46515b646e747f868d929797989796918c857d726d62594f433a2f24190d010000000000000000020e1a25303b45505a636d737e858d919797989797918d857e736d635a50443b3025190e000000000000000000010d19242f3a444f59626d727d858c919697989797928d867f746e645b51463c31261a0f0200000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796c605346392d20130600000000000000000000000000000000000000000004080c0e0f131313131313131313131313131307070501000000000000000000000000000000000000000000000000000000000005080a0b1313131313131313131313131313120f0a05000000000000000000000000000000000000000106090b0c1313131313131313131313131313090907030000000000000000000000000000000000000003090d111213131313131313131313131313130a0a080400000000000000000008111a22282d30313939393939393939393939393939392f2e2b272019100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6165666d6f7275777a7b7d7f808283848587888889898a8a8b8b8b8a8a8a89888786858382807e7b7875726e6a66615f57535049413d363029201a110600000000000000000000000000131f2c3946525f6c798592939393939393939393939393938e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505c666e7b86929fa6b0bbc5cfd0c6bcb1a79f92877c6f675d51453d31281e130800000a141d29333b46525e68717e8a939ea9b3bec9d2d2c7bdb2a89f93887d70685d52473e32281e1208000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7b1bccfd8dfd2c6b9ac9f93877b6e6154483d3221150b01000005111d2935414c5664717e8a98a2aebac6d3d3c6baaea2988a7e7164564d41362a1e110500000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b141d252b3033343535353535353535353535353533322f2a241c140a000000000c1926333f4c5966727f8c867d716c635b524d45403e3c3f44464f545b60686d747b82898f949a9ea1a9a6a6a5a7a09d97928c837b716c625a51493f34291d1205000006121f2b37434e58636d74808b92989ea1a9a4a8a19e9792877f726b61554c4135291d1104000000000000000005111e2a36424d57626c737f8a92989ea1a9a4a9a19e97928a7f736c62564d42362a1d1207000000000000000004111d2935414c56616c727f8792979ea1a8a4a9a19e98928b80746d63584e43372b1e1308000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c655b5044372b1f12050000000000000000000000000000000000000001090f14181a1b20202020202020202020202020201413110d080200000000000000000000000000000000000000000000000000060c1115171820202020202020202020202020201e1b1610090100000000000000000000000000000000060d1215181820202020202020202020202020201615130f0a0400000000000000000000000000000000070e15191d1f2020202020202020202020202020171614100b0500000000000005101a232c33393c3d4646464646464646464646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d7276797c7f818486888a8c8d8e909192989595969696979798989797979695949792908e8c8a8885827f7b77736e6964605b534f46413b322c2317110a020000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3becad6cec3bbafa3999184796d60594f433a2f24190e0506111b262f3b45505a616e7b85929ea5afbbc4cfd7ccc0b5aba0968d80746b60564c41352c20160c0000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c3ceded6cabfb4aa9c8f8276695e53463a2d211403000000010d1924303a4753606d7a86929facb8c5d0d6cabeb4aa9c8f8276685e5246392d20150a00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3232323232323232323232323232322e2d2a251e170e050000000c1926333f4c5966727f8c92877e736d615e56514b4a494a50535961666c717a80868f939c9ea6abadb3b3b3b2b1aca9a29e9590867e716c625b51453a2e22150900000815212e3a47535f6a727f8c929fa2aaadb3b1b2aca9a19993877d70675d5145392c20150a00000000000000000714202d3a46525e69717e8b919fa2aaadb2b1b2ada9a29f918b7e71695e5246392e23180c00000000000000000713202c3945525d68707d879399a1a9acb2b1b3adaaa29f928c7f726a5f53473a3025190d010004101c2834404b545c606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b53493f33271b0f03000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d2d2d2d2d2d2d2d21201d19130c0400000000000000000000000000000000000000000000000910171d2124242d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2d2d2d23221f1b160f0700000000000000000000000000000911192025292c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c17100800000000000b17222c353e44494a5353535353535353535353535353534947433d342b20160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7f8286898c8e91929997999a9b9c9e9fa2aaa2a2a3a3a4a4a4a4a4a4a3a3a2a9a29f9d9b999797928f8c8884807b76706c656059524c443e3628231c140c0200000000000000000000131f2c3946525f6c7985929facacacacacacacacacaca89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adbac1cdd7cbc0b5aba0958d80746b60564c41352920170d0c17222d38414d57626c75828f97a2adb7c1cdd6cfc6bbafa4999184796d60594f433a2f231a0e05000000000000000000000000000000000000000005111e2a36424d5664717d8a97a2adb9c6d2dfd3c6baaea2988b7e7164574d42362a1e1205000000000813202c3945515d6775818e9ba9b3becad6d0c5b9ac9f92867b6e6154473c31261b0f00000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3a3936302920170c0200000c1926333f4c5966727f8c9992887f766e68605d555756545c60646b70787e858d92999ea5aab0b8b9bebfc0bfbcb8b3ada79f9892877e726d62564a3d3124180b0005111d2a36414c56626f7c87929fa4aeb4b9bebebdb9b3aba49992857a6d6054473c31261b0f0300000000000004101c2834404b55616e7b86929fa4aeb3b9bebebeb9b3ada49f92867b6e61544b4034281c1004000000000000030f1b27333f4953606d7a859299a4abb3b9bdbebeb9b4aea49f92877c6e62564c4135291d110500000c18232e39424b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545453504941382d22170b000000000000000000000000000000000000010b151d252c3134353939393939393939393939393939392d29251e160e0400000000000000000000000000000000000000000009121a22282d3031393939393939393939393939393937332c251c13090000000000000000000000000009131b23292e31323939393939393939393939393939302f2c272119100700000000000000000000000007111b232b313638393939393939393939393939393931302d28221a110800000004101c28333e4750555760606060606060606060606060606056544e463d32271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808b8f9298989b9d9fa3aba5a7a8a9aaacaeb4afafb0b0b0b1b1b1b1b0b0b0afb3adabaaa8a6a9a19e9c9996918d87827d78706b615e56504840342e261e140a00000000000000000000131f2c3946525f6c7985929facb8b9b9b9b9b9b9b9b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303c44505b656e7b85929fa5afbbc4cfd1c7bdb1a89f93887d70685d52453e32291e13151e27333f49535f69717e8b949ea9b3bec9d3d1c6bdb1a79f93877c6f675d51473d31281e11080000000000000000000000000000000000000000000714202d3a46525e6975828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b31251a0e020000000004101d2935404b5564707d8a97a2adbac6d3d4c7bbafa3998c7f7265584e43372b1c1106000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145474b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4746413a32291e130800000c1926333f4c5966727f8c999a938c827b726d6766646365666d71767d838b92979fa3abafb7bbc2c6cacfcdcec8c5beb9b1aaa29993887f7265584b3f3225180c000713202d3946525e6875828f99a3afbabfc6cacec9c5bdb5aba1978c807366584e43372b1f120600000000000006131f2c3845515c6774818e98a2aebabec5c9cfc9c5bebaaea2988e8174665c5145382c1f130600000000000005121f2b3744505b6573808d97a1abb5bdc5c9cec9c6bfbaafa3998f8275685e5246392d201307000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474747474747474747474747474746443f382f261b110600000000000000000000000000000000000009131d272f373c40424646464646464646464646464646463935302820160c020000000000000000000000000000000000000006101a242c34393d3e4646464646464646464646464646433e372e251b1005000000000000000000000006111b252d343a3d3f46464646464646464646464646463c3b38322b22190f0400000000000000000000030e19232d353c424546464646464646464646464646463d3c39332c231a100500000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6260584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576975828f9c9fa3aaa8aaacafb5b2b3b5b6b7b8babfbbbcbcbdbdbebebebdbdbdbcbbbebab8b6b5b3b3adaba8a8a09d9a938f8a837d756e68615a52443f3830261c1106000000000000000000131f2c3946525f6c7985929facb8c5c6c6c6c6c6c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea9b2bdc9d5cfc3bbafa49a91847a6d605a50443a3025191c26303844505b656e7b86929fa6b0bbc5cfd7cbbfb5aba0958d80736b60554b40352b1f160c000000000000000000000000000000000000000000000814212e3b4754616e7b86929facb9c5cfdbd5c9bdb2a89b8e8174675d514539291f14090000000000010d18242f3a4653606d7985929fabb8c4cfd7cbc0b5ab9d9083776a5f5347382e23170b000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130701010101010101010101010100000000000000000000000000000000000000000000000000000000000000010d1924303a444c525458585858585858585858585858585854524c443a3025190d01000c1926333f4c5966727f8c99a49f948f857f7a7573716f7174797d838a90959ea1a9aeb5bdc1c7cac6c5c3c3c4c6c9cac2bcb4aba49a9286796c5f5246392c1f13000714212e3a4754616d7a86929fabb5c0cad0d6dad5d0c7bdb3a99e9184786a5f53473a2e2115080000000000000713202d3a4653606d7985929faab4bfcad0d5dad5d0cabfb4aa9f9285796d6053463a2d2013070000000000000613202d394653606c7884919ea9b3bdc7d0d5dad5d0cac0b5ab9f92867a6d6154473a2e2114070000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3937332d261d140a000000000000000000000000000000000000040f1a252f3941484d4e53535353535353535353535353535346413a32281e1308000000000000000000000000000000000000000c17222c363e45494b53535353535353535353535353534f4940372c21160a00000000000000000000010d18232d373f464a4b53535353535353535353535353534948433d342b21160a000000000000000000000915202b353f474e5253535353535353535353535353534a49443e352c22170b00000a1623303c4955616c707979797979797979797979797979796f6a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885929eabaeb4b4b7b9bbc0bfc0c1c3c4c5c7cad0c9c9c9cacacbcbcacacac9d0cac6c5c3c1bfbeb9b8b5b2acaca49f9c959089827a706c635c504a42382e231711070000000000000000131f2c3946525f6c7985929facb8c5d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e96a1adb9c0ccd8ccc0b6aca1968e81746c61564c41362a21232e38424e58606c77829098a2aeb8c1cdd7cec6bbaea3999083796d60594f43392f23190d0400000000000000000000000000000000000000000007131f2c38434e5866727f8c99a3afbbc7d7ded2c5b9aca096897c7063554b403529170d0300000000000007131f2c3845515c6674818e9aa9b3bec9d5d1c7b8aca095887c6f62544a3f34281c10030000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d20130e0e0e0e0e0e0e0e0e0e0e0e0e0a0a080400000000000000000000000000000000000000000000000000000004111d2935414c565d60656565656565656565656565656565615e564c41362a1d1105000c1926333f4c5966727f8c99a5a69f97928c86817f7d7c7e81848a90949da0a7adb3bbbfc6c7c5bfbab8b6b6b8b9bec1c6c5bdb5ac9f9285796c5f5246392c1f13000b1824313e4b5764717e8a99a3afbdc7d1dbe2e5e2d9d0c5b9aca196887b6f6255483c2f2215090000000000000a1623303d495663707d8998a2aebcc6d0dbe1e6e1dbd0c6baada297897c706356493d3023160a0000000000000915222f3c4855626f7b8896a1adbbc5d0d9e2e5e2dbd1c7bbafa3998a7e7164574b3e3124180b000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27221b140b020000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060605f524c443a3025190d01000000000000000000000000000000000005111d28343e48505557606060606060606060606060605f5a52493e33271b0f0200000000000000000006121d29343f49515658606060606060606060606060606056544f463d32271b0f000000000000000000010d1925313c4751595e5f60606060606060606060606060575550473e33281c1004000a1724313d4a5764707d8686868686868686868686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9bfc1c4c5c7cbd1cdcecfcecccac9c8d1cbc7c5c5c4c5c5c7cbd1c9cbced0d0cecfcac6c5c2bdb8b6afaca79f9d938f857e736e605c544a3f342823190d0300000000000000131f2c3946525f6c7985929facb8c5d2dfdfdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a84919ea4aebac3cfd2c7beb2a89d938a7e70685e52463e332928343f4a545f6a727f8c949faab4bfcad3d0c6bcb1a79f92877c6f675c51463d31281d1108000000000000000000000000000000000000000000000915222e3b4854606a7784919dabb5c0cbd7d8ccc0b6ac9e9184786c605346392f2418060000000000000004101c2834404b5463707d8997a1adb9c6d2d4c8bcb1a79a8d8073665c5044382b1f13070000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000000000000000000000000000000000000000713202c3945525d686d7171717171717171717171717171716d685e5246392d201307000c1926333f4c5966727f8c99a5b0a9a29f98928e8c8a898b8d91969c9fa6acb1b9bec5c6bfbab8b4aeaca9a9abadb2b5b9bbc0b8ac9f9285796c5f5246392c1f13000d192633404c5966737f8c99abb5c0cfd9e3edf4ebe2d5c9bdb2a8968a7d7063574a3d3024170a0000000000000b1825323e4b5865717e8b98aab4beced8e2ecf1ece2d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724313d4a5764707d8a97a8b2bdcdd7e2ebf4ede3d7cbc0b5ab998c7f7266594c3f3326190c00000000030b12181c1f202121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121201f1b17110a02000000000000000000000000000000000000000c1824313c48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e564c4135291d110500000000000000000000000000000000000815212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12050000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f43382c1c1106000000000000000004111d2936424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5044392d201408000a1724313d4a5764707d8a93939393939393939393939393897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad0d0d1ced0cac6c5c3c1bfbebcbbbbbfbab9b8b7b8b9bbc0bbbcbfc1c3c5c7cbd0d2d1cec8c7c0bbb9b1aba69e97928a80746d665c50443f352b1f150b01000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525d68707d89929da8b2bdc7d1d0c4baafa59e92857a6d615a50453b2f303944505c666e7c86929fa6b0bcc5d0d6cbbfb4aa9f958c7f736a5f554b40342b1f160c0000000000000000000000000000000000000000000004101d2935404b55626f7c8995a0acbdc7d1dcd4c8bbafa49a8c7f73655b5044372b1d120700000000000000000c18232e3a4653606d7985919eabb8c4ced9cdc3b8ab9e9184796d6053463a2f24180d0100000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a2d2727272727272727272727272727272423201c1710080000000000000000000000000000000000000000000000000714212d3a4754606d7a7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7a6d6154473a2e211407000c1926333f4c5966727f8c99a5b2b3adaaa29f9b999796989a9ea1a8abb0b8bcc3c7c0bbb4aeacaaa29f9d9c9ea1a9a8acafb6b8ac9f9285796c5f5246392c1f13000d1a2734404d5a6773808d9aa6b3c0d1dce7f3fdf3e5dacebeb1a4978b7e7164584b3e3125180b0000000000000c1926323f4c5965727f8c98a5b2bfcfdbe6f2fdf2e6dbd0bfb2a5988c7f7265594c3f3226190c0000000000000b1825313e4b5864717e8b97a4b1beced9e5f3fdf3e8dcd1c0b3a69a8d8073675a4d4034271a0d000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141413120f0b060000000000000000000000000000000000000000010e1a2734404d59656f75797979797979797979797979797976685e5246392d20130700000000000000000000000000000000000a1724303d4955616c7179797979797979797979797979766c5f5346392d2013060000000000000000000b1824313d4a56626d7279797979797979797979797979796f6b605448382d22170b000000000000000006121f2c3845525e6a757979797979797979797979797979706c6155493c3023160a000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f95897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546773808d9aa6b3c0cec9c5c4c1bebebab8b6b5b3b1afaeaeb4aeacabababacafb5aeb0b2b4b6b8babfc5c6cad0d4d2ccc8c3bcb8b0a9a19e928c81786d605b51473d31271d1207000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56616b74808d96a0abb5c0cbd7ccc1b9ada1978f82756c62574d413839434e58606d78839098a3aeb8c2ced7cec6baaea3989083786d60584e43392e22190d040000000000000000000000000000000000000000000006131f2c3845515d6774818e9aa8b1bdcfd9dfd2c6b9ac9f93877b6e6153493f33271b0f03000000000000000007121f2b3844505c6674808d9aa8b2bdc9d5d2c6b9ada197897d7063554b4035291d110400000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d6053463a3434343434343434343434343434343431302d28221a110800000000000000000000000000000000000000000000000915222f3c4855626f7b888b8b8b8b8b8b8b8b8b8b8b8b8b897c6f6256493c2f231609000c1926333f4c5966727f8c99a5b2bebab4aeaca8a6a4a2a4a7abadb2b7bbc2c7c1bdb5afaaa39f9b989290909197969b9fa4acb1ac9f9285796c5f5246392c1f13000c1926333f4c5966727f8c99abb5bfcbd7e3edf3ebe1d4c8bdb2a8968a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b97a9b3becad6e2ecf4ebe4d6cabeb3a9978b7e7164584b3e3125180b0000000000000a1724303d4a5763707d8a96a8b2bdc9d5e1ebf3ede3d7cbbfb4ab998c7f7266594c3f3326190c0000000000000000040607070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706050300000000000000000000000000000000000000000000020f1b2835424e5b68758186868686868686868686868686867a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e86868686868686868686868686796c605346392d201306000000000000000005111e2a36424d5665727f86868686868686868686868686867d6f63544a3f33281c0f03000000000000000613202c3946535f6c7987868686868686868686868686867e7064574a3d3124170a000a1724313d4a5764707d8a97a3acacacacacacacacaca295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c667683909ca9b6c2c0bdb9b7b4b2b3aeabaaa8a6a4a3a2a1aaa39f9e9e9f9fa3aba1a3a5a7aaacaeb4b8babfc6c9ced6d4cdc8c1bbb3ada49c938e80746d62594f43392f24180c020000000000131f2c3946525f6c7985929facb8c5d2dfe5dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e1924303a444f59606d79849199a3afbbc3ced5c9beb3a99e938b7e71695e53493f404b555f6a737f8c959faab4bfcad4d0c6bcb0a69f92867c6e665c50463c30271d100700000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c3ceded6cabfb4aa9c8f8376695f5341382d22170b00000000000000000003101c28343f4a54626f7c8996a1acb9c5d2d5c9beb2a99b8e8175675d5145392c20140900000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534641414141414141414141414141414141413d3c39332c231a1005000000000000000000000000000000000000000000000915222f3c4855626f7b8895989898989898989898989895897c6f6256493c2f231609000c1926333f4c5966727f8c99acb5bdc6bfbab8b4b2b0afb1b4b8b9bdc4c7c2bcb7afaba39f98928e898583838586898e939a9fa7ac9f9285796c5f5246392c1f13000b1724313e4a5764717d8a99a3aebbc7d1dbe2e5e1d9cfc7b9aca096887b6e6255483b2f221508000000000000091623303c4956636f7c8997a2adb9c5d0dbe1e5e2d9d2c6b9ada197897c6f6356493c302316090000000000000815222f3b4855626e7b8896a0acb9c4cfd9e1e5e2dbd3c7baaea3998a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e939393939393939393939393877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a939393939393939393939386796c605346392d20130600000000000000000714202d3a46525e697683909393939393939393939393938d8074665b5044382b1f1206000000000000000613202c3946535f6c79869293939393939393939393938a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b9b9b9b9b9b9b9afa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929facb8b6b3b2acaaa8a5aaa29f9d9b99979695949498929291929299949496989b9d9fa3aaacaeb4b9bdc4cad0d8d4cdc5beb9aea59d928c7f726b60554b4035291e14080000000000131f2c3946525f6c7985929facb8c5d2d9d9d9cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d45515d676f7c87929fa7b1bcc6d0cfc5bbb0a69f92857b6e655b504445515c676f7c87929fa7b1bcc6d0d6cabfb4aa9f948c7f726a5f544a3f342a1e150b000000000000000000000000000000000000000000000005121e2a36424d5764717e8a97a2adbac6d3dfd3c6baaea2988b7e7164574d422f261b1106000000000000000000000b17232e384854606a7884919eabb7c3ced9cfc4b8ac9f92867a6d6053473b30251a0e02000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a4a4a4a4a4a4a4a4a4a295897c6f6256493c2f231609000c1926333f4c5966727f8c9aa4abb5bdc3c6c5c1bfbdbcbec0c4c5c9c3bcb8b1aba59e99928d86817c797676787a7d828790959ca49f9285796c5f5246392c1f13000714212d3a4754606d7a86929fabb5c0cad0d5d9d5cfc7bdb2a99e918477695f53473a2e2114080000000000000713202d3a4653606d7985929eaab4becad0d5dad5d0c7beb4aa9e9285796d6053463a2d2013070000000000000814212e3a47535f6a7784919ea9b3bdc7cfd5d9d5d0cabfb5ab9f92867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9f9f9f9f9f9f9f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a979f9f9f9f9f9f9f9f9f9386796c605346392d20130600000000000000000814212e3b4754616e7b87939f9f9f9f9f9f9f9f9f9f9f9e9184786c605346392e23170b000000000000000613202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc6c6c6c6c6bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a2aeaca9a6a8a09e9b98969892908e8c8b89888887868685848586868788898c8e9092989b9fa2aaacb2babfc6ced4d7cfc9bfb7afa59f93887d70675d51453b3025190e0100000000131f2c3946525f6c7985929facb8c5ccccccccccc1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c95a0aab4bfcbd6cdc1baaea2988f82776c60584e4f59606d79839099a3aeb9c3ced7cdc5baaea2989082786c60584e42382e22190c0300000000000000000000000000000000000000000000000714212d3a46535e6976828f9ca9b3becad6dfd2c5b8ac9f92857a6d6053473b3120140a000000000000000000000006111c2c38434e586673808d99a7b1bcc8d4d3c6baaea2988b7e7164574d42362a1e1205000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb1b1b1b1b1b1b1afa295897c6f6256493c2f231609000a1724313d4a5764707d879399a3abb2bbc0c7cbd1cac9cbcec9c4bdb9b1aca79f9d938f87817a746f6c6569676d70757c838c929f9f9285796c5f5246392c1f13000613202c3945525d6875818e99a3afbabfc6c9cec9c4bdb5aba1978c7f7366574d42372b1e120600000000000006121f2c3844505c6674808d98a2aebabec5c9cfc9c5beb6aea2988d8074665c5044382b1f120600000000000006121f2b37434e5866737f8c97a1abb5bdc4c9cec9c6bfbaaea3998e8175675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8acacacacacacacaca094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4acacacacacacac9f9386796c605346392d2013060000000000000005121e2a36424d5765727f8b9aa4afacacacacacacacacada197897c6f63544a3f34281c10030000000000000613202c3946535f6c7986929facacacacacacacaca3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad2d2d2c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aaa39f9c999796918e8b8987858382807e7c7b7b7a7979787878797a7a7b7d7f8183868a8e92989ea0a8aeb4bcc3cbd4dad5c9c0bbafa49a9184796d60564c41362a1d120700000000131f2c3946525f6c7985929facb8bfbfbfbfbfbfbfb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a3aebac2ced6cabeb3aa9f948b7f726a5f5455606b73808d95a0abb5bfcbd4d0c5bbb0a69f92867b6e665b50463c30261c10070000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c5d0dbd5c9bdb2a89b8e8174675d5145392c2013020000000000000000000000000f1b27323d4855626f7c8895a0acb8c5d1d6cabfb4aa9c8f8276695e52463a2d20150a000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca09386796d676767676767676767676767676767676767676764615a5044392d2014080000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbebebebebebcafa295897c6f6256493c2f231609000a1623303c4955616c717e879299a0a8afb6babfc5c6c6c5c3bdb9b2aca7a09d959089827b746e6862605b555d60636a6f78808a92989286796c5f5246392c1f130004111d2935414c56616e7b87929fa4aeb4b9bebebdb9b3aba3999184796d6053473c31261a0e0200000000000003101c28343f4a54616d7a86929fa3adb3b9bdbebdb9b3aca49f92867a6d61544a3f34281c1003000000000000020f1a26313c4753606d79859199a3abb3b9bdbebeb9b4aea49f92877b6e61554c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4b9b9b9b9b9b9ada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1b9b9b9b9b9ac9f9386796c605346392d201306000000000000000714202d3a46525e697683909cacb6c0b9b9b9b9b9b9beb2a99a8d8074665c5044382b1f12060000000000000613202c3946535f6c7986929facb9b9b9b9b9b9b0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6dfd5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b556774818e9a9a98928f8d8a8784817f7c7a7877757371706f6e6d6d666b6b6c676d6d6e70727477797d81868b91969fa2aab1b9c2cbd4dbd8ccc0b6aca0968d8073685e5246392f24180d01000000131f2c3946525f6c7985929facb2b2b2b2b2b2b2b2b2a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313d44515c666e7c86929fa6b0bcc5d0d0c5bcb0a69f92867c6e665c5d676f7d87939fa7b1bdc6d1d6cabeb3a99f948b7e72695f544a3f342a1e150a00000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8d7ded2c5b9aca196897d7063554b4035291d11040000000000000000000000000a16212e3a47535f6a7784909daab7c2cdd8d0c6b9ac9f93877b6e6154483c32261b0f000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cec6b9aca0938679747474747474747474747474747474747474747474706c6155493c3023160a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8cbcbcbc8bcafa295897c6f6256493c2f231609000814202d3944505a626c717e8791969fa4acaeb4b8b9bab8b6b2aca8a19e95918a837c756e69615e5653504b5153585f666d737e86929285796c5f5246392c1f1300010d19242f3a47535f69727f8b929fa2aaadb3b1b2aca9a19992877d70675d5145392a20150900000000000000000c17232e3846525e68717e8a919fa2a9adb2b1b2ada9a29a938a7e71685e5242382e23170b00000000000000000915202c3945515d67707d879299a1a9acb2b1b3adaaa29f928b7f72695f53433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1c6c6c6c6baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdc6c6c6b9ac9f9386796c605346392d201306000000000000000815212e3b4854616e7b87939facb9c6d2c6c6c6c6cfc4b8ab9e9185796d6053463a2e23170c0000000000000613202c3946535f6c7986929facb9c5c6c6c6bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67778490918d8a8683807d7a7775726f6d686a68666463626161605c545e555c606161636568666d70757a7e848c92989fa7b1b9c2cbd4ddd2c7beb2a89f92867a6e61554b4035291d1004000000131f2c3946525f6c7985929fa6a6a6a6a6a6a6a6a6a6a69b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404a545f6a727f8c949faab3becad6cec2baaea3989083786d60606d79849199a4afb9c3cfd6cdc5baada2978f82766d62574d42382d22180c030000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0ccd8ded1c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000006121f2b37434e5866737f8c99a7b1bcc8d4d4c7bbafa4998c7f7266584e43372b1c11060000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecdc0b3a79a8d808080808080808080808080808080808080808080807d7064574a3d3124170a0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d7d5c8bcafa295897c6f6256493c2f2316090004101c28333e48505a626c717c848d939a9fa3aaabacadabaaa8a19e96918b837d766f6b625f57524c46444045474e545c606c717d869285796c5f5246392c1f13000008131e2b37424d57626d74808b92989ea1a9a4a8a09e9791877e716b60554b403529180e03000000000000000006111c2a36414c56616c727f8a92979ea1a8a4a8a19e9792887f726c61564c4130261c1106000000000000000004111d2935404b55606b717f8791979ea0a8a4a9a19e98928b80746d62574d4231281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1ced2d2c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000005121e2a36424d5765727f8c9aa4afbbc8d4d2d2d2d2d2c6b9ada197897d7063544a3f34281c100300000000000613202c3946535f6c7986929facb9c5d2d2cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a878984817d7a7673706e68686563615e565b59585655555453514b514b515354555659545c6064676d71797f8690959fa7b0b8c2ced7d9d0c4baaea3988d8073675d5145392c201307000000131f2c3946525f6c798692999999999999999999999999998e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39424e58606c77828f98a2aebac1cdd6cbbfb4aa9f958c80736a6b74808d96a0abb5c0cbd5cfc5bbafa59f92857b6e615b51453b2f261c0f0600000000000000000000000000000000000000000000000004111d2935404b5563707c8996a0acbec7d2ddd3c7bcb0a6998c8073655b504437281d130700000000000000000000000000030f1b26313c4855616e7b88959fabb8c7d2d7ccc0b5ab9d9184776a5f5447382e23170c0000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cecec1b5a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000b17222c363f48505a616a6f7980878e92989c9e9fa29f9d9a96918c847e78706c636059534d46413b3735393c424a505a616b707d8686796c5f5246392c1f130000010e1a26313c45515b646e747f868d929797989796918c857d716c62594f43392f241806000000000000000000000d1925303a44505a636d727e858d919697989796918d857e726d635a50443a301e140a000000000000000000010d18242f3a434f59626c717d858c919697989797928d867f746e645b51453c311f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000714212d3a46535e697683909dacb6c0ccd8e4dfdfe1d5c9beb3a99a8d8174665c5044382c1f120700000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c807c7874706d676664615e56585654524c4f4d4b494848474645404540454747484a4c4b5153555d60676d737b8390959fa6b0bcc5d0dbd6cbbfb4aa9f92867a6d6053473a2e23180c000000131f2c3946525f6c79868c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c44505b656e7b85929fa5afbbc4cfd0c6bcb1a79f92877c6f707d89929da8b2bdc7d2d5c9beb3a99e938b7e71695e52493f33291d140a000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdd0d9dbd0c4b7ab9f94887b6e6153493f3327160c0100000000000000000000000000000a15212d3a46535f697683909dabb5c0ccd7d2c7b8aca095887c6f62544a3f34281c100300000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced1c5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f231609000005101a242d363f48505860676d747c81868c8f92939792908e89847f79716d66615a544f47423c36302b292c30383f445059606b707d85786c5f5245392c1f1200000009151f2a333f49525c646d727b8085888a8b8a88847f79706b625a50473d31281d12070000000000000000000008131e29323e48515b636c717a8084888a8b8a8884807a716c635b51483e32291e0c020000000000000000000007131d28313d47505a626b70797f84888a8b8a8885807b726d645c52493f332a1f0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000000000815212e3b4854616e7b87959fabbec7d2dde8f4f2e6dacfc4b8ab9e9285796d6053463a2e23180c00000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a6f746f6c6563605d555754524c4c4947464142403e3d3c3b3a3a38342f34383a3a3b3d3f4045464b51555c60696e7a8390949faab3becad6dcd0c6baaea2988a7e7164544b4034281c100400000d192633404c5966737f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b3bec9d5cec3bbafa3999184797a84919ea4aebac4d0d6ccc4b9ada1978f82756c61574d42372d21180b02000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4cecececabfb4aa9c908376695f5341382d22170b00000000000000000000000000000005121e2a36424d5765727f8b99a4afbbc7cecec8bcb1a79a8d8074665c5044382c1f130800000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced6cbc0b6aea9a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5e1d5c8bcafa295897c6f6256493c2f23160900000008121b242d363e464e555d606a6f747a7f828586868583817c78726d67605c545048433d37312a251f1d1f262e343e474f59606b707d7064574a3d3124170a000000030e18212d37404a525b62686e74797c7d7e7d7b77736d67605950483f352b1f160c0100000000000000000000020d17202c363f49515a61686d73787c7d7e7d7c78736d68615a51493f362c20170c0000000000000000000000010c161f2b353f48505960676d73777b7d7e7d7c79746e68625b524a40372d21180e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000005121e2a36424d5766727f8c99a7b1bcd0d9e4eef9f7ebdfd2c6b9ada197897d7063544a4034281c1004000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e585f626763605b5353514b4a4746413f3c3a3936303331302f2e2e2d2c2823292c2d2e2e302e34383a40454b51575e686d79829098a2aebac3ced9d6cabfb4aa9c8f8275665c5145382c1f130600000c1825323e4b57636d73737373737373737373737373737373706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57626c75818f97a1adb9c0ccd7cbc0b5aba0968d80818e96a1adb6c0ccd5cfc4baafa59e92857a6d615a50453b30241b0f060000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac1c1c1c1c1baaea2988b7e7165574d422f261b1106000000000000000000000000000000020e1a26313b4754616e7b87939facb9c1c1c1c1c1b8ab9e9285796d6053463a2f24190d01000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1cedbd2c8c0b9b5b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8d5d6d5c8bcafa295897c6f6256493c2f2316090000000009121b242c343d434b51586062686d727678797a787774706c65605c55504a423e38322b2620191410151c2328353d474f59616c706c6155493c3023160a00000000060f1b252e38404951565e61666d6f7171706e6a66605d554f473f362d23190d04000000000000000000000000050e1a242e373f4850565d61656c6f7071706f6c65605d5650483f372e241a0e05000000000000000000000000040d1a232d363f474f555d60666a6e7071716f6d66615e56514940382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000714212d3a46535f697783909daab6c2cdddebf5f7f7eee2d5c9beb3a99a8e8174665c5144382c1f1207000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c464e53555a565350494745403d3b393630302e2d2a25262523222221201f1c181c1f2021222323282c2f353940454d565d676e7a85929fa7b1bcc8d4dbd0c5b8ac9f9286796d6053463a2d20130700000a16222f3b46515b636666666666666666666666666666666664615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea5afbac4d0d1c7bdb2a89d928d8e939ea8b2bdc8d2d5c9bdb2a89e938a7e70685e52483e33291f120900000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4b4b4b4b4b4b4b4ac9f92867a6d6054473c3121140a00000000000000000000000000000000000914202d3946525e6876838f9cabb5b4b4b4b4b4b4ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1ced3d3d2cbc5c1c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbc8c9c9c9c8bcafa295897c6f6256493c2f231609000000000009121a222b313940454e54565e616569666d6d676a6763605b53514b443f38302c27211a150d08040a1117232b353d474f59616461594f44392d201408000000000009131d262e373f444d52545c6062646564625f5853514b433d352d241b1108000000000000000000000000000008121c252e363e444c52535b606264656462605b53524c443e362e251c1208000000000000000000000000000008111b242d353d434b5153585f6264656462605c54524d443f372e261d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000000000815222e3b4855616e7b8895a0abb8c4d1ddeaebeaeaebe6dacfc5b8ab9f9285796d6053463a2e23180c000000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347494e4946443f3a39352f2e2d2a252321201d191a18161515141313100c101314141517181c1f24292f343b434c555e68727f8b95a0acb8c7d1dcd3c7baaea398897c6f6256493c2f231609000006121e2a354049515759595959595959595959595959595959575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e46525e68707d8a939da8b2bdc7d2cfc3baaea49d9a9b9ea5afbac4cfd6ccc4b9ada1968e81756c61564c41362d21170d0000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7b88949fa8a8a8a8a8a8a8a8a8a89b8e8175675d5145392c201302000000000000000000000000000000000005111e2a36414d5665717e8b99a3a8a8a8a8a8a8a8a8a99b8e8175685d5245392c201306000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5c1c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aebbbdbdbdbdbdbcafa295897c6f6256493c2f2316090000000000000810191f272f353d43474c525459545c60605d555b56535049454039342e261e1b160e0903000000061119232b353e474f5557554f473e33281c10040000000000010b141d252d323b41464a50535557585755534e4745403a312b231b1209000000000000000000000000000000000a131c242c323a4146495053555758575553504945413a322c241c130a0000000000000000000000000000000009121b232c313a4045474e53555758575553504a46413b322d241d140b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000006121e2b37424d5766727f8c99a7b1bcc8d4e0e1dedddddee1dfd3c6baada2978a7d7063544b4034281c10040000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a32373b3c413c3937332d2c292421201e19161413110d08070c10131315171718181818171615131213181d2329313a434c56606d7883909dabb5c0cbd7d6cbbfb4aa988c7f7265594c3f322619060000020d19232e3740464b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212a36414c56616b74818e96a0abb5c0ccd7ccc0b6aea9a7a8aaafb7c1ccd6d0c4baaea49e91847a6d605a50443a30241b0f05000000000000000000000000000000000000000000000000000006121f2b3844505b6673808c999b9b9b9b9b9b9b9b9b9b9b96897d7063554c4135291d11040000000000000000000000000000000000020e1925303b4754616d7a86929b9b9b9b9b9b9b9b9b9b9b92867a6d6054473a2d211407000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b5b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aeb0b0b0b0b0b0b0afa295897c6f6256493c2f23160900000000000000070d151d242932373a4146474c4a505353514b4e4946443f38342e28231c140c0a0400000000000007111a232c353e44494a49443e352c21170b00000000000000020b121b20293036383f4446494a4b4a4847433c39352f281f1a11090000000000000000000000000000000000010a121a20283035383f4446494a4b4a4846443f38353028201a120a01000000000000000000000000000000000009111a1f282f35393c4347484a4b4a4946443f38363029201b120b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000814212e3a47535f697783909daab7c3cdd9d9d4d1d0d1d2d5d9d6cabeb3a99b8e8174665c5145382c1f13070000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f34302d2b27221f1d181414110d08070c10131417181c1f2022232425252525242321201f1b1714181f28313b44505c66717e8b99a3afbbc7d4dcd0c1b4a89b8e8175685b4e422d22170b00000007121c252e353b3e404040404040404040404040404040403d3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a4afbbc3cfd2c8c0b9b5b3b4b6bac1c9d3d2c7bdb2a89d92897d70685d52483e32291e12090000000000000000000000000000000000000000000000000000000613202d394653606c79848e8e8e8e8e8e8e8e8e8e8e8e8e8e84786c6053463a2f24190d010000000000000000000000000000000000000814202d3946525d6875828e8e8e8e8e8e8e8e8e8e8e8e8e8b7e7165584b3e3225180b000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8adadadadadadadadadadadadadadadadadadadadadadadadadadadada79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895a2a3a3a3a3a3a3a3a3a3a295897c6f6256493c2f2316090000000000000000030b121820272b3035393a3f3f4446474540413d3937332d28231d17110a0200000000000000000008111a232c33393c3d3c39332c231a1005000000000000000000090e171f252a2e34383a3c3e3e3d3b3a37312c29241d160d080000000000000000000000000000000000000000080e161e24292d3337393c3d3e3d3c3937332d29241e160e080000000000000000000000000000000000000000080d161d24292c31373a3b3d3e3e3c3a38342e2a251f170e09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000000000815222f3b4855626e7b8895a0acb8c4d5d5cec8c5c4c4c5c9ced6cfc5b8ab9f9285796d6053463a2f23180c0000000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222723201f1b1713100c0707070d1013181d1f202323282c2d2f30313132323131302e2d2b272221201d1f28343f4a54616d7a86929facb9c5d2dccfc3b6a99c90837669544a3f33281c0f030000000a131c232a2f323333333333333333333333333333333331302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323e45515d676f7d87939fa7b1bdc6d1d2cbc5c1c0c1c2c6cbd3d7ccc0b5aba0968d81746b61564c41362c20170d000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8181818181818181818181818181817e71665b504438281e13080000000000000000000000000000000000000005111d2935414c5663707d81818181818181818181818181817f7265594c3f3226190c000000000000000000000000000000000000000f1c2835424f5b6875828e9ba0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b8895969696969696969696969695897c6f6256493c2f23160900000000000000000001070c151b1e25292d2e2e34383a3a39352f302d2b27221b18120b0600000000000000000000000008111a21282d3031302d28211a11080000000000000000000000050d14191c23282b2d2f3132312f2e2b26201d18130c0400000000000000000000000000000000000000000000040c13191b22272b2d2f3132312f2d2b27221b19130c0400000000000000000000000000000000000000000000040c13181d20262b2e2f3132312f2d2b28231c19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000006121f2b37434e5866737f8c99a7b1bcc8d4ccc3bdb8b7b7b9bdc4ccd3c6baada2978a7d7063554b4034291c100400000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161b1613120f0b060403090e12181d2024292c2d302e34383a3b3d3e3e3f3f3e3d3d3b3937332d2d2c2924232e3846525e687683909ca9b6c3cfdcd1c4b8ab9e918578665b5044382b1f1206000000010a12191e2225262626262626262626262626262626262423201c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202935414b55606b73808d95a0abb4bfcbd7d6d1cecdcecfd2d7d9cfc7bbafa4999184796d60594f443a2f241a0e05000000000000000000000000000000000000000000000000000000000714212d3a46535f696e757575757575757575757575757575716c62544a3f3328160c0100000000000000000000000000000000000000010d1924303a4854606b707575757575757575757575757575726d62574a3e3125180b000000000000000000000000000000000000000f1c2835424f5b6875828e93939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000000000000000000000000000915222f3c4855626f7b888a8a8a8a8a8a8a8a8a8a8a8a8a897c6f6256493c2f2316090000000000000000000000040a0f13191d202123282b2d2d2c292423201f1b17110c070000000000000000000000000000000810171c20232423201c1710080000000000000000000000000002080e11171c1f202224252422211f1a15110d070100000000000000000000000000000000000000000000000002080d11171b1f202224252422201f1b17110d080200000000000000000000000000000000000000000000000001070d11151a1f212224252422201f1c17110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000815212e3a47535f6a7784909daab7c3cdcec3bab2acaaaaacb2bac4cecabeb3a99b8e8175675c5145382c1f130700000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090e090605030002080d141a1d24292c2f35393a3d40404546484a4a4b4b4b4b4a494846443f3d3a39352f2c2a36414c5666727f8c99a5b2bfccd8d2c6b9ac9f9386796c605346392d2013060000000000070d12161819191919191919191919191919191919171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18242f3a434f59606d79839099a3aebac2ced7e2dbdadbdbdedcd1c7bdb1a89f93877d6f675d51473d32281e1208000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6168686868686868686868686868686865625a5042382d22170b00000000000000000000000000000000000000000008131e2c38444f596063686868686868686868686868686865625b51463a2e221609000000000000000000000000000000000000000f1c2835424f5b687581868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000714212d3a4754606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d2114070000000000000000000000000002080d111314171c1f2020201d181613120f0b06000000000000000000000000000000000000050b101416171614100b050000000000000000000000000000000000060b101213161718171514120f0a04010000000000000000000000000000000000000000000000000000000000060b0f1213161718171513120f0b06000000000000000000000000000000000000000000000000000000000001040a0f121415171817161312100b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060000000915222f3c4855626f7b8895a0acb8c5d4c8bdb2a8a09d9ea0a8b2bdc9d0c5b8ab9f9285796d6053473a2f24180c00000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000060b14191f252a2f35393a4045474a4c4b5153555657585858585756545350494a4745413a3834303e4a5764717d8a97a4b0bdcad7d4c8bbafa49a867a6d6053473a2d20140700000000000002060a0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d45515c666f7c86929fa6b0bcc5d0dbe7e6e7e8e3d7cbc0b5aba0958d80736b60554b40352c20160c000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f2f261c110600000000000000000000000000000000000000000002101c27333d474f54565b5b5b5b5b5b5b5b5b5b5b5b5b5b595751493f35291e1206000000000000000000000000000000000000000714202d3a4753606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070000000000000000000000000000000000000000000613202c3945515d676d7070707070707070707070707070706d685d5245392c201307000000000000000000000000000000010507060b1012131413110d070605030000000000000000000000000000000000000000000004080a0a0a0804000000000000000000000000000000000000000000030607090b0b0a0808060200000000000000000000000000000000000000000000000000000000000000000000030506090a0b0a0906050300000000000000000000000000000000000000000000000000000000000000000000020608080a0b0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000006121f2b37434e586673808c99a7b1bcc8d1c5b8aca096919196a0acb9c5d2c6baaea2988a7d7064554b4035291d1004000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e252a3136394045474b51535659555c6062636464656564646361605b535754514b46443f383c4956636f7c8996a2afbcc9d5d8ccc0b6a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949faab4bfcad6e2eef4ede0d3c7bbafa3999184796d60594f433a2f231a0d040000000000000000000000000000000000000000000000000000000000000009141f29333b4246484e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d1d140a00000000000000000000000000000000000000000000000b16212b353d44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4c4a463f372d23180d010000000000000000000000000000000000000006131f2c3845515c676d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d665c5145382c1f130600000000000000000000000000000000000000000004111d2935414b555d60636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000000000003060707060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000815212e3a47535f6a7784919daab7c3ced0c4b7aa9d918484919eaab7c4d1cabeb4aa9b8e8175675d5145392c1f1307000613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232830363b42464b5153555d60636669676d6e70717172727170706e6c656764605d5553504a45404855626e7b8895a1aebbc8d4ddd2baaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c78829098a2aebac6d3dfecede0d4c8bcb1a79f92877c6f675c51473d31281d11080000000000000000000000000000000000000000000000000000000000000000030d18212931363a3b4242424242424242424242424242423e3d3a342d241b0b020000000000000000000000000000000000000000000000050f1a232b33383c3d42424242424242424242424242423f3e3a352d251b1107000000000000000000000000000000000000000004101c2934404b555c6060606060606060606060606060606060606060606060606060606060606060606060605c544b4034281c1004000000000000000000000000000000000000000000010d18242f3a434b515457575757575757575757575757575754524c443a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060708090a0a0909070704010000000000000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130600000915222f3c4855626f7c8896a0acb8c5d5cdc0b4a79a8d80818e9ba8b4c1d1d0c5b8ac9f9285796d6053473a2f24180d010613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171e262e343b41464d53555d6064676d70737578797b7d7d7e7e7e7e7d7c7b797774706d6764605c54514b4754606d7a8793a0adbac6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c44505b666e7b86929facb8c5d2dfebeaded1c5b8aca0958c80736a60554b40352b1f160c00000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e35353535353535353535353535353532312e29221b12090000000000000000000000000000000000000000000000000008111a21272c2f30353535353535353535353535353532312e29231b130a000000000000000000000000000000000000000000000c18232f39434b51535353535353535353535353535353535353535353535353535353535353535353535353514b42392e23180c000000000000000000000000000000000000000000000007131d28313a4145474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707080808080808080808080807070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507070d1013141516171716151413110d0806050300000000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060006131f2b37434e586673808d99a8b2bdc8d4cabeb3a9988b7e7f8c99abb5c0cbd3c6baaea2988a7d7164554b4035291d10040613202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212930383f444c52575e61676d71757a7d7f82858688898a8b8b8b8b8a89878583817d7a76716d66605d555053606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57626c76838f9ca9b6c2cfdce9eaddd0c3b7aa9d9084796d60584e43392f23190d040000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222828282828282828282828282828282524211d171109000000000000000000000000000000000000000000000000000000080f161c20222328282828282828282828282828282625221e18110a010000000000000000000000000000000000000000000007121d273139404547474747474747474747474747474747474747474747474747474747474747474747474645403930271d12070000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f2820160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11131414141414141414141414141413110d0801000000000000000000000000000000000000000000000000000000000000060606060606060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181d202022232323232221201d191613120f0b060000000000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000815222e3b47545f6a7784919eaab7c3ced2c6b9ada197887c7d8999a3afbbc7d3cabfb4aa9b8e8275675d5145392c2013080013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232c333b424a50565e61696e73797e8285898c8f91939a96979798989797969892908d8a86827d79736d67605b54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69717e8b949fabb7c4d0dde9ebded2c5b8ab9f92857b6e665b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000000000003090e1214151b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b191816120d07000000000000000000000000000000000000000000000000010b151f272f34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38342e271e150b00000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021212121212121212121212121201d19130c040000000000000000000000000000000000000000000000000106090b0c131313131313131313131313090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e212224292c2d2f2f30302f2f2d2c292422201f1b17110d08020000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201306000916222f3c4955626f7c8896a0acb9c5d5d1c5b8ab9e9285787a86929facb9c5d2d0c5b8ac9f92867a6d6053473a2f24190d0113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c353e454d545c60686e747b80858a8f9298999c9e9fa4aca4a4a5a5a4a3aaa29f9d9a99928f8a847f79716c665e606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc7d3dfececdfd3c6baaea2989082786c60584e43392e23180d0400000000000000000000000000000000000000000000000000000000000000000000000000020507080f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b0906010000000000000000000000000000000000000000000000000000030d151d23292c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c28231d150c030000000000000000000000000000000000000000000000000000040c13181d202124242424242424242424242424242421201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e25292d2e2e2e2e2e2e2e2e2e2e2e2e2d2c29241e160d0400000000000000000000000000000000000000000000060d1215181820202020202020202020201f1515120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f262a2d2e2f35393a3b3c3d3d3c3c3a39352f2f2d2b27221b19130b0600000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130606131f2b37434e586673808d99a8b2bdc8d4ccc0b6ac9b8f82757783909daab6c3cfd3c7baaea2988a7e7164554c4135291d110413202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d363e474f575e666d727a81878d92979b9fa2aaa8abacafb6b0b1b1b1b1b0b4aeacaaaba39f9c97918c847e786e68606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232f39434e58606d78839098a2aeb8c2cdd8e4e8e6e2d6cabeb4aa9f948c7f726a5f554b4034281f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1c18120b030000000000000000000000000000000000000000000000000000000001070d1113141717171717171717171717171717171413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3b3b3b3b3b3b3b3b3b3b3b3a39352f2820160c0100000000000000000000000000000000000000010911181d2224252d2d2d2d2d2d2d2d2d2d2d2c22211f1b150e060000000000000000000000000000000000000000000000000000000000000000000000000000000002080c151d23282c31363a3b3f40454748494a4a49484745413f3c3937332d29241e17110a020000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013060815222e3b4754606a7884919eabb7c3ced4c8bbafa49a8b7e7173808d99a9b3becad6cabfb4aa9b8f8275675d5145392c20130813202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242d373f48505961696e787f858e92999fa2a9acaeb4b5b8b9bbc0bdbebebebebdbfbab8b6b5aeaca9a19e97918b827a706b6d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c16202934404b555f6a727f8c949faab4bfcad4dedcdbd9dadbd0c5bcb0a69f92867c6f675c51453d31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090b0c0d0d0e0e0e0d0c0c0b090707040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c101314141414141414141414141414141414141414141414141414141414141414141414141313100c070000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323a41464747474747474747474747474745413a32281e13080000000000000000000000000000000000000009131b23292e31323939393939393939393939392f2e2b26201810060000000000000000000000000000000000000000000000000000000000000000000000000000040c13191e272e34383b4246484c4b515355565656565554524c4c4946443f38353027221b140b0600000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013030f1b27333f4953626f7c8996a1acb9c5d5d2c6b9ac9f93877b6e6f7c8997a2adbac6d3d0c5b8ac9f92867a6d6054473a2f24190d13202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232c363f49515a616b707b828c92989fa3abadb3b8babfc2c4c6c8c9c5c4c3c2c0c0c0c1c3c3bfbbb9b2ada9a19e948f857d706d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515c676f7c87929fa6b0bcc5d0d7d3d0cfcccdd1d7cec2baaea3999083796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080d1113141618191a1a1b1b1a1a191818161413110d0807060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070707070707070707070707070707070707070707070707070707070707070707070707060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444c5254545454545454545454545454524c443a2f24190d01000000000000000000000000000000000006111b252d343a3d3f4646464646464646464646463c3a37312a22180d03000000000000000000000000000000000000000000000000000000000000000000000000080e161e242930394045464d535558555d60626263636262605d56595553504946413a332d261d180f0a010000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201305121f2b3744505b6573808d9aa8b2bdc9d5d0c3b6aa9d908377696d7985929fabb8c5d2d3c7baaea3988a7e7164564c4135291d1113202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202b353e48515b626c717d8590949fa2aaafb5babec5c6cacac6c5c1bdb9b7b6b5b4b3b3b5b6b8b9bdc2beb9b2ada69f9792867d70798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a444f59606d79839199a3aeb9c2ced3ccc7c3c2c0c1c5cad7cbbfb4aba0958d80736b60554c41352920170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070c10121316191d20212324262627272827262625242321201d19171413110d08050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424c565e616161616161616161616161605d564c4135291d110400000000000000000000000000000000010d18232d373f464a4b5353535353535353535353524847433c342a1f150b010000000000000000000000000000000000000000000000000000000000000000000008111a202830353e434b5153575f616568676d6e6f70706f6f6d68696662605b53524c443f382f2a211c130b0200000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130613202d394653606c7884919eabb7c4ced5c9bdb2a8998c7f73666675818e9babb5c0ccd6cbbfb4aa9c8f8275685d5245392c201308202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d47505a626d727e8792979fa6aeb4bbc0c7cacfc9c5bebab8b5b2acaaa9a8a7a6a7a8a9abadb2b6b9bbbeb9b0a9a19892877d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202935414c56606b74808d95a0abb5bfcbd3cac1bbb7b5b3b4b9c0c8d1c6bdb1a79f93877d6f675d51453e32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12181c1f202324292d2e2f3132333434343433323231302d2c29242421201d1914120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545e686d6e6e6e6e6e6e6e6e6e6e6e6d685d5245392c2013070000000000000000000000000000000006121d29343f4951565860606060606060606060605f55534e463c31271d120700000000000000000000000000000000000000000000000000000000000000000008121a232c323a41454f555c6064696e7275777a7b7c7d7d7c7b7a7876726f6c65615d565049413c332e251d140b01000000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20130f1b27333f4953626f7c8996a1adb9c5d6d2c5b9ada196887c6f6264717e8b99a4afbbc7d4d0c5b9ac9f92867a6d6054473a3024190d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a444f59616c727f889299a2a9b0babec5cbd0cac5beb9b3adaba8a8a09e9c9b9a999a9b9c9ea1a9a9acafb5bbbbb3aaa39992857b8894a1aebbc7d4d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323b45525d68707d88939fa7b1bdc6d1cdc1b8b0aaa8a6a8aeb6c0cbcfc3bbafa49991847a6d605a50443b3025190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11171c1f23282c2d2f3035393a3c3e3f4040414141403f3f3e3c3a393530312d2c2924211e1a14100b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415161616161616161616161616161616161616161616161616161616161616161616161615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a1e212121201e19140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d7a7a7a7a7a7a7a7a7a7a7a7b7a6d6054473a2d211407000000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c625f584e43392f23180e050000000000000000000000000000000000000000000000000000000000000008111a242c353e444c525961676d71777b7f8284868889898989888785827f7c78726d68605b534e453f372e261d140a010000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013121f2b3744505b6574808d9aa8b2bdc9d5d1c4b8ab9e9184786a5f616d7a86939facb9c6d2d3c7baaea3998b7e7164564c4135291d11202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a36414c56606b717e88939aa3abb3bbc2cad0cec5bfbab3ada9a29f9b979691908f8d8d8d8e909196989c9fa4abafb5bcb4aba1979083909ca9b6c3cfdcd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b44505a606d7a84919aa4afb9c3cfcfc5bbb0a69e9c999ca4aeb9c3cfccc0b5aba1968e81746c61564c41362a21180c02000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d13181c22282b2e34383a3c3f414647494b4c4d4d4e4e4d4d4c4b4b49474541413e3a39352f2d2a261f1c160f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222323232323232323232323232323232323232323232323232323232323232323232322221f1b150e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a2d2e2e2d2a251e18130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d788587878787878787878787877e7164574b3e3124180b000000000000000000000000000000000b1824313d4a56626d727979797979797979797979796f6a5f554b40342920170b02000000000000000000000000000000000000000000000000000000000007111a232c363e474f565d606b70797e83888b8f91939a959696959596918f8c88847f7a726c655f57514940382e261c130a0000000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201313202d394653606c7884919eabb8c4cfd5c9beb3a99a8d817467585e687683909da9b6c2cdd7cbbfb4ab9c8f8275685d5246392d2013202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313946525e686f7d86929aa4acb5bdc5cdd6ccc4bcb4aea9a19e97928e8b87848382818080828385888c8f93999fa4abb0bbb3a99f9490949fabb7c4d0ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d56616c75818e96a1acb6c0cbd6cabeb3a99e948f8d929ca7b1bdc6d1c7bdb2a89d938a7e70685e52463f332a1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d24292d333839404446494c4c5254565759595a5a5b5a595958575654524c4d4a4745413b3a36312c271f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262a2d2e303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141c222831363a3b3b39363029241d18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8a9794949494949494949285796d6053473a2d201407000000000000000000000000000000000c1825323f4b5865727f8686868686868686868686867c6f675c51453e32291d140a00000000000000000000000000000000000000000000000000000000060f19232c353e48505961686d747d848b9095989b9e9fa4aca3a3a2a9a19e9c9996918c867f776e6a635b524a40382e251c120800000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d200f1c28333f4a54636f7c8996a1adb9c5d6d2c6b9ada197897d7063565665727f8c98a7b1bcc8d4d1c5b9ac9f92867a6d6154473a302519202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3943505a616d7a859198a3acb6bec7cfd4cbc3bab2aaa29f97928b85827e7b7776757473747576787b7f83878e93999ea6aeb5b0a69f9c9fa6b0bbc7d3dfd4c7bbaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e27333f49535e69717e8a939ea8b2bec7d2ccc4b9ada2978f82808d95a0abb4bfcbd0c4baafa59e92857a6e615a50453b30261c11060000000000000000000000000000000000000000000000000000000000000000000000000002080d161d24292f35383f44464a51535659565d6162646566676767676665656463605d565a5754514c4846423b38332b28221c140b0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212a31363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181d262d333b4246484746413b352f28231c150c0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875828e9ba9a1a1a1a1a1a89a8e8174675d5145392c1f1306000000000000000000000000000000000b1824313d4a56626d75828f9793939393939393989083796d60594f443b2f261b11060000000000000000000000000000000000000000000000000000030e18212b353e47505a616b707a818a91969d9fa7a8aaacafb6b0b0afb2adaba9a8a09e98928b837b726d645c524a40372e241a0e04000000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20121f2b3844505b6674808d9aa9b2bdc9d5d1c5b8ab9e9285796d605354616e7b87959fabb8c7d2d3c7bbaea3998b7e7165564c41362a1d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000000000004101d2935404b55616c75818f97a1aab4bec7d0d4cac2b9b1a8a198928c857f7975716e69696867666768696a6e72767b81878f949fa3abb2b0aba9abb0b8c2cdd8e4d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303844505b656e7b85929ea5afbac4d0cfc4baafa59e92857a79839099a3aebac2ceccc0b9ada1978f82756c62574d42382e23170d030000000000000000000000000000000000000000000000000000000000000000000000050d14191f282f353a40454a5053545c60626669686d6f71727373747474737272716f6d68696764605d5555534d48443d38332d261d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a333b424648494949494949494949494949494949494949494949494949494949494949494949494947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821292f383f444d535454524c45403a342e271e1b160f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facadadadadaca096897c6f63554b4035291d1004000000000000000000000000000000000915222e3a46515b616d7a85919aa49f9f9f9f9fa0958d80746b61564d41382d22170d040000000000000000000000000000000000000000000000000009151f2a333d474f59616c717d848e939ea1a8abb1b5b7b9bbc0bcbcbcbdb9b8b5b2acaaa29f9490867f746e645c524940362c20160c020000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2013202d394653606c7885919eabb8c4cfd5c9beb3a99a8d8174665c50535e697683909dacb6c0ccd7cbbfb5ab9c8f8276685e5246392d20202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000000000006131f2c3945515d67717e8a939ea9b3bcc6d0d6cdc2b8b0a79f9691867f79726d6764615e565c5a5a5a5b585f6265696e757b828c9299a1a9b2b7b6b7bbc2cad4dee1d4c7bbaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17232e38424d57606c77828f97a2adb7c1ccd5c9bdb2a89e938a7e716f7c86929fa6b0bcc5d0c9beb3a99e948b7e71695f544a3f34281f150b01000000000000000000000000000000000000000000000000000000000000000000070e171f252a313a41454b51545b6063666d6f7275787a7c7e7f8080818180807f7e7e7c7a787674716d6765615f57544f46443f382f29241d150d06000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b454d53555656565656565656565656565656565656565656565656565656565656565656565655544e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d2328333b424a50575e61615e56514b444039302c27211b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a3aebabac0b6ac9e9184786c605346392f24180c000000000000000000000000000000000006121d29343f46525e68707d88939fa7b1acacb1a79d928a7d70685e53493f33271f160c010000000000000000000000000000000000000000000000040d1a26313c454f59616b717e8791979da5adb2b8bcc2c4c6c5c3c2c2c3c5c5c4c2bdb9b4aea69f98928c80746e635b51483e32281e13080000000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201c28343f4a5463707c8997a1adb9c6d6d2c6b9ada197897d7063544a4d5765727f8c9aa4afbbc8d4d1c5b9ac9f92867a6d6154473b3025192c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1a1917130e08010000000000000000000000000005111d2935414c56606d7984919ea5afbbc4cfd8d0c4bbb0a69f9590847c736d67605c5554524d4f4e4d4d4f4e5355575f62696e777f879197a1a9b3bcc6c7cdd4dce6e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28343f4a545f69727f8b949fa9b3bec9d3ccc3b9ada1968e81756c6a727f8c949faab4bfcacfc5bbb0a69f92867b6e665c50443c31271d120700000000000000000000000000000000000000000000000000000000000000010a1119202930363e434b51555d60666c7074797c7f828587898a8c8c8d8d8e8d8c8c8b8a89878582807d7a76726e6963605953504a423c352f271f181008000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6163636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e272e343e454d545b60696e6e68605d55514a423e38322b26201a140d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000010d18232a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d120700000000000000000000000000000000000000000000010c16202b37424d57606b707d879299a1a9afb9bdc4c7c6bfbab8b7b5b5b6b8babec5c8c5bfbab0aaa39f928d80736d635a50443a3025190b0200000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d201f2b3844505c6674818d9aa9b3bec9d5d1c5b8ab9e9285796d6053464854616e7b87939facb9c6d2d4c7bbafa3998b7e7265564c41362a1e2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2726231f19120b020000000000000000000000000713202d3946525e68737f8c97a1adb7c1cdd6d2c7bdb2a99f948f837a6e6a605d55514b47464242414041424347484d53575f656c727c859197a2aab4bfcad6e0e6eee1d4c7bbaea194887b6e6155483b2e22150800000000000000000103040404040404040404040404040404040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313944505c666e7b86929fa6b0bbc5cfcfc3baaea49e91847a6d60606c78829098a2aebac1cdcdc1baaea2989083786d60584e43392f23180d040000000000000000000000000000000000000000000000000000000000010a131b232b323b414650555d60676d72787c8185898c8f9297959798999a9a9a9a999898979697918f8d8a86827f7b76706b64605b544e454039312a221a1109010000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f696e707070707070707070707070707070707070707070707070707070707070707070706f6a5f54473b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101920293039404550575f666c727b7a736d67605c545048443d37312a251f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0b01000000000000000000000000000000000000060d1925303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0500000000000000000000000000000000000000000008131e28323a47535f69707d869299a3abb2bbc1c9c2bcb7b4aeacaaa8a8aaabadb3b9bbc0c7c2bcb4aea49c928c7f736c61564c4135291d140a00000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d20202d3a4653606d7985929eabb8c4cfd5c9beb3a99a8d8174665c504446535e697683909dacb6c0ccd7cbc0b5ab9c8f8276685e5246392d202c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b0100000000000000000000030f1c28333f4a54616d7a85929fa9b2bec9d3d7ccc0b5aba1968f82796e685f58514b45403b3a363034333431373a3c42474d535b606a6f7c859298a2aebac2ced8e2ede1d4c7bbaea194887b6e6155483b2e221508000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434e58606d78839098a2aeb8c2cdd1c7bdb2a89d92897d70685d5b666e7b86929fa6b0bbc5cfcabfb4aa9f948c7f726a5f554b4034291f160c01000000000000000000000000000000000000000000000000000000020b141c252d353d444d525a61676d737a7f84898e9297999c9ea1a9a4a5a6a6a7a7a7a6a5a5a4a9a19e9c9a99928f8b88827d77716c665f58514b433c342c231b130a0200000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222b323b424b515a61696e787f86858079726d66615a544f47433c363029241e160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6673808d99a7b1bccabfb4aa9c8f8276695e5341382d22170b000000000000000000000000000000000000000008131e28323d45515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c0200000000000000000000000000000000000000010d19242f3a44505a616e7b869298a3abb5bdc4c6bfbab0abaaa29f9d9c9b9d9fa2a9acafb6bec4c6bfbaaea49c918a7e71685e52463d2f261b1106000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1c2834404a5463707d8997a1adb9c6d6d2c6b9ada197897c7063544a3f424d5765727f8c9aa4afbbc8d4d1c6b9ac9f93877a6e6154473b30252c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362e261d12080000000000000000000006121f2b3844505b66727f8c98a2aebbc4cfdbd4c7bbafa49991847a6d675e564e45403a342e2d2a25272727262b2e31373c41495058606a6f7d86929fa6b0bcc6d0dce7e1d4c7bbaea194887b6e6155483b2e22150800000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b55606a73808c959faab4bfcad7cbc0b5aba0968d80746b6056545f69717e8b949ea9b3becad0c5bcb0a69f92877c6f675c51453d31281e13080000000000000000000000000000000000000000000000000000010b141d262e373f474f565e616c717a80858c91969a9ea2a9a8abadb3b1b2b3b3b4b4b3b3b2b1b1b2adaba9aba39f9c98948f89837e786f6a605d554e463e352d251c140a01000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808989898989898989898989898989898989898989898989898989898989898989898983776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b141b2227343d444c545c606c717b838c92928c857f79716c636059534e46423b352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000020c16202834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291e140a0000000000000000000000000000000000000004111d2935414c56616c76828f98a2aab4bdc6c5bcb4aea69f9c9892908f8f9092979b9fa4acb2bac3cbbfb6ada39e92857a6d61594f41382d22170b000000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d1f2c3844515c6674818e9aa9b3bec9d5d1c4b8ab9e9185786c605346393b4854616e7b87939facb9c6d2d4c7bbafa4998b7e7265564d42362a2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252524d4c4740382e24190e030000000000000000000613202d394653606c7884919eaab3becdd6d5c9bdb2a89f93877d70685e554c443c352f2823201e191b1a1a1a1f21262b2f383f444e58606b717e8a949eaab4bfcbd6e3e1d4c7bbaea194887b6e6155483b2e221508000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676f7c87929fa7b1bcc6d0cfc6bbafa3999184796d60594f4d57626c75828f97a1adb9c1cccec2bbaea3999183796d60594f433a2f24190e05000000000000000000000000000000000000000000000000000a131d262e384049515960686e767e848c92979ea1a8abadb3b5b8b9bebdbfbfc0c0c1c0bfbfbebdbeb9b8b5b5aeaca9a69e9c95908a837c736d675f584f473f372e261c130a000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d96969696969696969696969696969696969696969696969696969696969696969083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d262d333e464e565e666d747e8690959f9f97928b847e76706b625f58524d45413a322820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a00000000000000000000000000000000000000000000050e18232e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b30261c11060000000000000000000000000000000000000713202c3945525d68717e8a949faab4bcc6c5bcb3aaa29f94908a858482828385898e939aa0a8b1b9c3c8bfb9ada1978e81746b6053493f33271b0f030000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d202d3a4653606d7985929eabb8c5cfd5c9beb2a99a8d8074665b5044383a46525e697683909cacb6c0ccd7ccc0b5ab9c908376695e52463a2d2c3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a58524a40362b1f1307000000000000000003101c28343f4a5463707d8a96a0acbcc5d0ded2c5b9aca1968d80736b60564c433b3229241d1814110e090d0a0f12151a1d262d333d464f59616c76828f98a3aebac7d3e0e1d4c7bbaea194887b6e6155483b2e2215080000040e1720272e33363737373737373737373737373737373734322f2a241c140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1925303a444f59606d79849199a3afb9c3ced1c6bcb1a79f92877c6f675d514745505a616e7a85929ea5afbac4d0cbbfb5aba0958d80736b60564c41352920170d02000000000000000000000000000000000000000000000008121c252e38404a525b626b707a828a91969fa2a9adb2b8b9bec2c5c6cacfcbcccdcccbcbcccbcbcfc9c6c4c2bfbbb9b6b0aaa79f9d95908780796f6a6159514940382e251c12090000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272f383f44505860686e78818a92989fa7a9a19e96918a837d756f6a615e57524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d6875818e9ba9b2bdc9bdb2a89b8e8174675d5145392c201302000000000000000000000000000000000000000000000007121d27303c45505a606d7a849199a3afbbbfb4aba0968e81746c61574d42382e23170d040000000000000000000000000000000004111d2935414b55606d7a85929ea6b0bcc5c6bcb3a9a298928b837e7a77757577797d81889196a0a7b1bac4c9beb3a99d93897d70655b5044372b1f13080000000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2834404b5463707d8997a2adb9c6d6d2c6b9ada197897c6f63544a3f3336424d5765727f8b9aa4afbbc8d4d2c6b9ac9f93877b6e6154473b30253946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b000000000000000006121f2b3844505c6675818e9ba8b2bdced7d6cabfb4aa9e9184786d60594f443a31292018130c0705020000000206090b141b2227343d46505a616e7b86929facb8c3ced9e5d4c7bbaea194887b6e6155483b2e22150800000b15202931393f4244444444444444444444444444444444403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935414c56616b74808d96a0abb5c0cbd7cbbfb4aaa0958d80736a60554b403f46525e68717e8a939ea8b2bec7d1c6bdb1a79f93887d70685d52453e32291f14080000000000000000000000000000000000000000000007101a242e37404a525c636d727d858f949ea1a8adb3b9bdc4c6cacfd1cbc7c5c3c1c0bfbfbebfc0c1c2c5c6cacfcbc7c5c2bbb7b1aba79f99928d847c706b625b524a40372e241b120800000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7afafafafafafafafafafafafafafafafafafafafafafafafafafafafaa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f2830394149505a616a6f7a838e939fa2aab1b3ada8a09e959089827c746e69605d564c443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca096897c7063554b4035291d10040000000000000000000000000000000000000000000000000b151e2a333f45525d686f7d87929fa7b1bcbdb2a89d938a7e71695e544a3f34281f160c010000000000000000000000000000000613202c3945515d6774808d97a1adb8c2cbbfb4aaa29792867f76716d676968666d70757d849095a0a8b2bdc9c5bbafa59d9083786c6053463a3025190d0100000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2c3845515c6674818e9ba9b3becad6d1c4b8ab9e9184786c605346392d303b4754616e7b87939facb9c6d2d4c7bbafa4998b7f7265574d42362a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f3326190d00000000000000000713202d3a4653606d7985929eabb8c4ceded3c6baaea2988c7f72665c50473d32281f170e0701000000000000000000020a1117222b343e46535f6973808d9aa8b1bdc8d4e1d4c7bbaea194887b6e6155483b2e2215080006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333b46525e68707d89929da8b2bdc7d1cec5baaea3989083786d60584e433936414c56616c75818e96a1acb6c0cccfc3bbafa49a91847a6d605a50443b3025190f060000000000000000000000000000000000000000030d19222c364049525c646e737f8791979fa6adb2babec5c9cfcdc8c4c3c0bbb9b6b5b4b3b2b1b2b3b4b5b8babec1c5c6caccc7c3bcb8b1aba39f9691867d726d645c52493f362d241a0f06000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1720283139424a535b606c717c8490959da5aeb4bcbeb9b2aca79f9d948f87817b736d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b98a3aebac7c0b6ac9e9184786c605346392f24180d01000000000000000000000000000000000000000000000000030c18212935414c56606b73808c959faab3bebaafa59f92857b6e665c50443d31281e13080000000000000000000000000000000714212d3a4754606d7a86929fa9b3becac7baaea39892857c726d64605d55545c60636b707a839096a0acb9c1cdc0b8aca095897d7063564c41362a1d110500000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d2d3a4653606d7985929fabb8c5cfd5c9bdb2a99a8d8074665b5044382b2d3a46525e697683909cabb5c0ccd7ccc0b5ab9c908376695e52463a2d3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b9ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585868074675a4d4134271a0e0100000000000000091623303c4956636f7c8997a2adb9c6d2dfd2c5b8ac9f92857a6d60544a3f352b20160d0500000000000000000000000000061019222a36424d57626f7c8895a0acb8c5d1ded4c7bbaea194887b6e6155483b2e221508000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b45505a616d7a85919ea4aebac3cfd0c5bcb0a69f92867c6f665c51463d31303b44505a606d7a84919aa4afbbc3cfccc0b6aca1968e81756c61564d41362a21180c03000000000000000000000000000000000000010b151f2b343e48525b646e74808c9299a1a9b0b9bdc4cacfcbc7c2bcb8b6b5afaca9a8a7a6a5a5a5a6a7a9abadb3b4b8babfc5c7ccc8c2bdb5afa8a09892877f736e645b51483f362c21180c030000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020304040504030201000000060f182129323a434b545c656c737e8691969fa7afbabec5c9c3bdb9b1aba69e99938e86807a6d685d5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7683909daab4bfc8bbafa49a8c7f73655b5044372b1d12070000000000000000000000000000000000000000000000000000060f19242f3a444f59606d78839098a2aebac0baada2979082786d60584e433a2f24190f060000000000000000000000000006121f2b37434e5865717e8b98a2aebbc5c8bcb1a79f92867d6f6a625b53514b4a50535960686e7a84919ea5afbdc7c8bcb1a79b8e8175685e5246392d20130700000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392834404b5563707d8a97a2adbac6d3d2c5b9ada196897c6f63544a3f33282a36424d5765727f8b99a4afbbc7d4d2c6b9ac9f93877b6e6154483b313946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e0d3c7baaea39992929292929292929292929292929292929292929292929292929292929292929292929292929292929292928d8074675a4d4134271a0e01000000000000030f1c28333f4a546673808d99a9b3becad6d5c9bdb2a89a8d8074685d5242382e23190e0400000000000000000000000000000007101a26313b47535f6a7784919daab7c4d0ddd4c7bbaea194887b6e6155483b2e221508000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d38414d57616c75818e97a1adb6c0ccd6cabfb4aa9f948c7f726a5f544a40342b29323e45525d68707d88939fa8b2bdc7d1c7beb2a89e938a7e71685e52463f332a1e150a00000000000000000000000000000000000007121d27313d46505a636d74808d929fa3abb3bbc2c9cfcfc7c0bbb9b1aba9aba39f9d9b9a99989899999a9c9fa2a9a8acaeb4b7bbc2c7cfc7c0bbb2aaa299938b80736d635a50483e332a1e150b0000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3bfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfc5c6cad0d7d6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0e0f1010111211100f0e0d0c090f18212a333b444c555d666d77808b9298a1a8b1b9c0cad0d5cec8c2bcb8b0aba49f98928d847a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88959fabbcc6c6b9ac9f93877b6e6153493f33271b0c0100000000000000000000000000000000000000000000000000000008131e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c030000000000000000000000000815212e3a47535f6a7683909daab4bfcdc5b8aca0958c7f726b6058514745403f44464f565e686f7d89939eabb5c0ccc3b9ac9f92867a6d6154473a2f23180c00000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392c3845515c6774818e9ba9b3becad6d1c4b8ab9e9184786c605346392d2225303b4754616e7b87939facb9c6d2d4c8bbafa49a8c7f7265574d42363946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d7cbbfb4aba39f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0100000000000006121f2b3844505b667683909ca9b6c3cfdbd2c5b9ada196887b6e62564c4130261c1107000000000000000000000000000000000009141f2b37434e586673808c99a6b3bfccd9d4c7bbaea194887b6e6155483b2e22150800101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535e69717e8b939ea9b2bec8d2cdc5baaea2989082786c60584e42392e22202935414c56606b74808d96a0abb5c0cbd0c4baafa59e92857a6e615b51453c30261c110600000000000000000000000000000000000c18242f39434e58616c73808c929ca4afb5bdc4cdcfc9c0bdb5afaca79f9d999992908e8d8c8c8b8c8d8e8f9297979b9fa2aaaab0b7bbc1c8cbc3bcb4aba49f928c7f726d625a50453c30271d120700000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b8babec5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c10131416181a1b1c1d1d1e1e1d1d1c1b1a181618212a333c454d565d676d78818d929fa3aab2bac2cbd6dbd6cdc4beb9afa9a19e949087807a6d685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a7b1bccabfb4aa9c8f8376695f5341382d22170b00000000000000000000000000000000000000000000000000000000010c162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a0000000000000000000000000915222f3c4855626f7c88959fabbcc6c9bdb2a99d9183786d60594f463f393534383d444c56606b74818e99a4afbbc7c7baaea3998c7f7265554b4034291c1004000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346392d3a4653606d7985929fabb8c5d0d5c9bdb2a89a8d8074655b5044372b1c202d3946525e687683909cabb5c0ccd7ccc0b6ac9d908376695e53463a3946535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dcd1c6bdb4aeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e010000000000000613202d394653606c7985929facb8c5d2ded1c4b8ab9e9184786a5f53443a2f1e150a000000000000000000000000000000000000030f1b26323e4a5764717d8a97a4b0bdcad7d4c7bbaea194887b6e6155483b2e22150800111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656e7b85929fa5afbbc4cfcfc5bbb0a69f92867b6e665b50463c30271c19242f3a444f59606d79849199a3afbbc3ceccc1b9ada2978f82766d62574d42382e23170d0300000000000000000000000000000004101d2935404b55606a717e8a929ca4aebbc0c7cfccc4bdb9afaba39f9b95908c8986838281807f7e7f80818285888a8e92989c9fa6aab0b8bdc3ccc5bdb5afa49c918b7f716c61574d42392e23180c03000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6abaeb3bcc5d0d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000205080d111314181d1f202224262829292a2b2b2a2928272625232129333c454d575e686d79828e939da4aeb4bcc4ccd4d7cfcac1bbb2ada59d97918a827c746d685d564c4135291d11050000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c2c6baaea2988b7e7164574d422f261b11060000000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c11060000000000000000000003101c28343f4a546673808d99a7b1bccec5b9ada1968a7d70665c50473d342c29282b323b444f59616e7b87939facb9c6cbbfb4ab9d908376675c5145382c1f1306000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463935404b5564707d8a98a2aebac6d3d2c5b9ada196897c6f6353493f33271b1e2a36414d5665727f8b99a4afbbc7d4d2c7b8ab9f95877b6e6154483c3146535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ede2d8cfc6bfbab9b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b3a79a8d8074675a4d4134271a0e010000000000000815222f3b4855626e7b8898a2aebac6d3dbcec1b5a89b8e827568574e4232281e0c03000000000000000000000000000000000000000a1623303c4956636f7c8996a2afbcc9d5d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39424e58606c77828f97a2adb7c1cdd5c9beb3a99e948b7e71695f544a3f342a1e15131e28323d45515d676f7c87929fa7b1bcc6d0cabeb3a99e948b7f72695f544a3f34281f150b0100000000000000000000000000020c1a242c3845515d676f7c86929fa4adb6bfcbd1c9c1bab2ada59d99928e8983807d7a76757473727272737476787b7e81858a8f949c9ea6acb2bbc0c7c7c0bbada39f93877e70695f544b4034281f1409000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9999999999999999999999999999999999999999999fa2aab3becad0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e202124292c2d2f31333535363737383736353433322f2d333b454d575f696e7a838f949ea5aebabfc6ced6d4cdc5beb9afa9a19e938e847e766f6a605d564c443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1adb9c5c5b8ac9f92857a6d6053473b3120140a0000000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000006121f2c3844505c667683909ca9b6c2cdc4b8ab9e9184786c60544a3f352b221d1c2029323d46525e6976828f9cacb6c0ccc5b9ac9f9286796d6053473a2d201407000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393845515d6775818e9baab3becad6d1c4b7ab9e9184786c605346392d22171925303b4754616e7a87939facb9c6d1d4c8bcb1a7998c7f7266574d423746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f4eae1d8d1cbc7c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c0b3a79a8d8074675a4d4134271a0e010000000000000b1824313e4b5764717e8a97aab4bfcad6d6cabfb4aa988b7f7265584c3f3125160c00000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b545f6a727f8c949fa9b3bec9d3ccc4b9ada1978f82756c62574d42382d22180c0c16202935404b55606a73808c959faab4bfcbcfc5bbb0a69f92867b6e665c50443c31271d1207000000000000000000000000000a141e2c38434f59606d79849198a3aeb6bfc8d7c9c0b7afa8a19e928e86817c7673706d67686766656566666769696e7175797d82898f949da0a8afb6bec5ccbfbbafa49992867b6e665c51453b31261a0e020000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000060b10141a1e21252a2d2e2f35393a3c3e4041424343444544434241403f3c3a3b454d575f696e7b8390959fa6afb7c0cbd0d8d6cbc2bbb3ada59e97918a8179716c625f58524c443a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a3f342820160c0200000000000000000713202d3a4653606d7985929facb8c5cbbfb4ab998d8073665b5042382e2319101017202a36424d5764717e8a9aa4afbbc8c7bbaea399897c6f6256493c2f231609000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346393a4753606d7985929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b1114202d3946525e6876838f9cabb5c0cbd7cdc2b6aa9d908377695f53463a46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0f3eae2dcd7d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cdc0b3a79a8d8074675a4d4134271a0e010000000000000c1926333f4c5966727f8c99a5b2bfd0dbd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000714202d3a4753606d7a8693a0adb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a45515c666f7c86929fa6b0bcc5d0d0c4baafa59e92857a6e615a50453b2f261c1006040d18242f39434e58606d78839098a3aebac2cecdc2baaea2989083786d60584e43392f24180e04000000000000000000000006111c2630384854606b74808d96a0aab4bfc8d1c9c0b7afa59e969189817b756f6a6663605d555a595958595a5b575f6164676d71767c828991969fa4acb3bcc4ccc0b5aba2989083796d60574d42362a1e12050000000000000000000000000000000000000000000000000000000a1723303d4a5663707d7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85929fabb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000070c11171c1f262b2d3036393a3e404547494b4d4e4f5050515150504f4e4d4b4947454d575f696e7b8491959fa7b0b8c1c9d6d8d0cbc0b9b1a9a29e938e847d746d67615a534e45413a322820160c020000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4035291d11040000000000000000000000000000000000000000000000000000000000000000030c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000916222f3c4955626f7c8898a2aebac6c7baaea399887c6f62544a3f30261c1107050e1a25303b4754606d7a86939facb9c6cbbfb5ab988c7f7265594c3f32261906000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534635404b5564717d8a98a2aebac6d3d2c5b9ada196897c6f6253493f33271b0a111e2a36414c5665727e8b99a3afbbc7d4d1c4b8ab9f95887b6e6155483c46535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3f0e9e0d8d2cdc9c8c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c0b3a79a8d8074675a4d4134271a0e010000000000000e1b2734414e5a6774818d9aa7b4c0cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18242f3a434f59606d79839098a3aeb8c2ced2c7beb2a89e938a7e71685e52483f33291d140a000007121d27313d44515c666e7c86929fa6b0bcc5d0cabfb4aa9f958c7f736a60554b40352920160c02000000000000000000000b17232e3842505a636f7c88939fa8b2bcc6d0c9c0b7afa59d938e847d746e696260585653514b4e4d4c4b4c4d4e4d5355555d60646a6f757c848d939aa2a9b2bbc3c7bdb4aaa0958d8074695f53463a2d2114070000000000000000000000000000000000000000000000000000000916232f3c4855606b707373737373737373737373737373737373737373737884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030b12181c23282b31373a3b4146474b4b51535557595b5c5c5d5e5e5d5c5b5a5958565451575e696e7b849196a0a7b1b9c2cad3d6cec6bfbaaea79f97928a817a706b605d555047433c352f2820160e0400000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765717e8b98a3aebac7c4b7ab9e9184786c6053463a2f24180d01000000000000000000000000000000000000000000000000000000000000000000060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f06000000000000000c1825323f4b5865727e8b98aab4bfcac5b9ac9f9286796d6053463a2d20150a00000914202c3945515d677784919daab7c4d1c1b5a89b8e8275685b4f422d22170b000000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463945515d6775828e9baab4bfcad6d1c4b7ab9e9184786c605346392d22170b0e1925303b4754616e7a86929facb9c5d1d4c8bcb1a7998c7f7266574d4246535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3eae0d7cec7c1bdbcb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b3a79a8d8074675a4d4134271a0e010000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2935414b55606b73808d95a0aab4bfc1c1c1c0b6aca1968e81756c61564c41362d21170b020000010b151f2834404a545f6a727f8c949faab3bec1c1c1bcb1a79f92877c6f675d51453d32281e130800000000000000000003101c28343f4a54616c7683909aa4afbac3ceccc1b7afa59d938e817a706b615e57544e4a47454041403f3f3f40414246484b51535860626b6f7980889297a1a9b2bac3c4bab0a69f93867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000714202c38444f59606366666666666666666666666666666666666666666b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000040a0c151c23282e34383c4246484c525457555d606264666868696a6a6b6a696867666562605d5e696e7b849196a1a8b1b9c2cbd3d4ccc4bcb4aea49d9590857e756d686159514b433e373129241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f697683909caab4bfc7bbb0a6998c8073655b504437281d1307000000000000000000000000000000000000000000000000000000000000000000000007131d28313d44505b666e7b85929ea5afb9beb4aa9f958d80736b60564c41352921180c030000000000010e1b2834414e5b6774818e9aa7b4c1d0c3b6aa9d908377665c5145382c1f1303000004111d2935414b556875818e9ba8b4c1cec4b7aa9d9184776a53493f33271b0f030000000000000000000000020f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140700000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053463a4753606d7a86929facb8c5d0d5c9bdb2a89a8d8073655b5044372b1b11060814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d908377695f534746535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3d8cec5bcb5b1afacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca79a8d8074675a4d4134271a0e01000000000000111d2a3744505d6a7783909daab6c3d0dcd0c3b6a99d9083766a544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3845515d676f7d87939fa7b1b4b4b4b4b4b4afa49a91847a6d605a50443b30241b0f0600000000030d18232e39424e58606c77828f98a2aeb4b4b4b4b4b4afa3999184796d60594f443a3024190d01000000000000000006121f2b3844505c66707d8a959facb6c0cccfc4baafa59d938e81776d686059524d47433d3a39352f333232333331363a3b4045474e545960676d747d859197a0a8b2bbbcb2a89f948d8073695f53463a2d21140700000000000000000000000000000000000000000000000000000004101c27333d474f5556595959595959595959595959595959595959595e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000060b151b1e272e34383f44464d5355565e616468676d6f71737475767677787776757473726f6d67686e7b849196a1a8b2bac3ccd4d4cbc2bab2aaa39f928d837b716c615d564f45413a312b262019130c0400000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545e69707e8a929da7b1bcbcb1a79f93877d70685d52463f332a1e150b0000000000020f1c2935424f5c6875828f9ba8b5c2cdc1b4a79a8e817467544b4034281c10040000010d18242f3f4c5966727f8c99a5b2bfccc5b8ab9e928578655b5044372b1f12050000000000000000030607080f1b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21140808080807060401000000000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605346414b5564717e8a98a2aebac6d3d2c5b9aca196897c6f6253493f33271b0a0005111e2a36414c5665727e8b99a3afbbc7d4d1c4b8aca095887b6e62554846535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ddd2c7bcb2aaa4a29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e01000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3842505a606d79849199a4a8a8a8a8a8a8a8a8a89f93887d70685d52483e32291e120900000000000007121c27303c44505b656e7b85929fa5a8a8a8a8a8a8a8aba0968d80746b60564c4135291d110400000000000000000713202d3a4653606d7884919da7b1bec7d2c9bdb2a89e938e81776c655d564f46423b37322d2c29242626252627262a2d2f35383d43474f555d606b707c859196a0a9b3b4aaa1968f82786d60574d42362a1e1205000000000000000000000000000000000000000000000000000000000b16212c353d44484a4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000000000020a111720262b303940444a5053575f6166686d7175777a7c7e8081828383848483838281807e7c7a77737a849196a0a8b2bac4ccd5d3cac2b9b1a8a198928b80786e69615a524c443e352f281f1b150d0801000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d99a6b0bccabfb4aa9c908376695f5341382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000040d17222d38424d57616c74818e95a0aab4bfbbafa49991847a6d615a50463c30271d12070000000003101d293643505c6976838f9ca9b6c2ccbfb3a6998c807366594d402e23180c00000000071825313e4b5864717e8b97a4b1becac6b9ac9f9386796c605346392d201306000000000000060c10121314141b2835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2114141414141413110d070100000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c60534645515d6775828f9baab4bfcad6d1c4b7ab9e9184786a605441382d22170b00010d1925303b4754616d7a86929facb9c5d1d4c8bcb1a7998c7f7366584e43535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d9cdc1b5aaa09995939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8074675a4d4134271a0e01000000000000121f2b3845525e6b7885919eabb8c4d1dbcec1b4a89b8e8175685b4e4235281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616c74818e969b9b9b9b9b9b9b9b9b9b9b968d80746b60564c41362c20170d00000000000000000b151e27333f49535e69717e8b939b9b9b9b9b9b9b9b9b9b9b93887d70685d5245392c2013070000000000000005121e2a36424d5764707d8a95a0acb9c2d0cfc6b9ada1968e81776c655b534c443d36302b2720201d181a1918191a1a1e2124292c32373d434b5159606a6f7b849197a1abaea29891847a6d665c50453b31261a0e0200000000000000000000000000000000000000000000000000000000050f1a232c33383c3d404040404040404040404040404040404045515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000050b141b222732373e424a51545c6064696e73777a7e818486888a8c8e8f8f909191908f8e8d8c8b89868380839196a0a8b2bac4ccd6d2c9c1b8b0a79f9691867e746d665e575046413a3229241d160d0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c6baaea2988b7e7165574d422f261b1106000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3b45505a606d79839198a3aebac0b5aba1968f81756d62584e43392e23180e0500000004111e2a3744515d6a7784909daab7c3cbbeb2a5988b7f7265584c3f32251907000000000a1724313d4a5764707d8a97a3b0bdcac7bbafa499877a6d6054473a2d21140700000000030a11171c1f202121212835424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e21212121212121201d18130c04000000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053464754606d7a86929facb8c5d0d5c9bdb2a89a8d807367584e432f261b110600000814202d3946525e6876828f9cabb5c0cbd7cdc3b7aa9d9084776a5f5347535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3d6c9bdb1a4998e8986868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4d4134271a0e01000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66707d8a8e8e8e8e8e8e8e8e8e8e8e8e8e8e84796d60594f443a2f241a0e050000000000000000030c17222d38414d57626c75818e8e8e8e8e8e8e8e8e8e8e8e8e8e847a6d6054473a2d211407000000000000000714212d3a46535f6976828f9ca8b1bdcbd1c6bdafa59e91847a6d655b5349413a322a251f1b1413110d070c0c0c090e1214181d1f272b313940454f585f696e7b859299a3a49f92867c6f685e544a3f332a1f140900000000000000000000000000000000000000000000000000000000000008111a21272c2f30333333333333333333333333333333333845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000070e171d262d333c434750545c60666d70767b8083878a8e91939a97999b9b9c9d9d9e9d9c9b9a99989a93908d9195a0a8b2bac4ccd6d2c8c0b7afa69f9590847c716c605c544d453e3530282018130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5563707d8996a1adb9c5c5b8ac9f92867a6d6054473b3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f554b40342820170b02000005121e2b3845515e6b7884919eabb7c4cabeb1a4978b7e7164584b3e3125180b000000000a1623303d495663707c8996a3afbcc9ccc0b5ab94887b6e6155483b2e221508000000030c151c23282c2d2e2e2e2e35424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473a2e2e2e2e2e2e2e2d2c29241d160d040000000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c6053414c5664717e8a98a3aebac7d3d2c5b9aca196897c6f6256493d3223140a00000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca095887b6e625548535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d00000000000000131f2c3946525f6c7985929facb8c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78808181818181818181818181818181817c6f675d51473d32281e12080000000000000000000006111b262f3b45505a616d7a8181818181818181818181818181817e7164574b3e3124180b000000000000000815222e3b4855616e7b87939facb9c3cecbbfb5ab9d93897d70675d534941382f28201a140f0a06040100000000000205070c10151b1f272f353d464e575f69707d87929f9d928a7e716a5f564c42382e21180e0300000000000000000000000000000000000000000000000000000000000000080f161c2023232626262626262626262626262626262b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000008111920292f383f444e545a61666d72787d82878c90939a9b9e9fa4aca6a7a8a9a9aaabaaa9a8a7a6aca49f9d999da0a7b1bac3ccd6d7cec0b6aea59e948f837a6f6a625a514b423b3329241e160e07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775818e9ba8b2bdc9bdb2a89b8e8174675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000020b17212935404b555f6a727f8b949ea9b3bebaafa59f92867c6e675c51453d32291d140a000006131f2c3946525f6c7985929facb8c5cabdb0a4978a7d7164574a3e3124170b000000000916222f3c4955626f7c8895a2afbbc8d2bbafa295887c6f6255493c2f2216090000000a151e262e34383a3b3b3b3b3b424e5b6875818e9ba8b4c1cedbd3c7baada094877a6d6154473b3b3b3b3b3b3b3b3a39352f281f160c0100000000000b1824313e4b5764717e8a97a4b1bdcad2c6b9ac9f9386796c605345525d6875828f9baab4bfcbd6d1c4b7ab9e9184786a6054473b2e221502000000010d1925303a4754616d7a86929facb9c5d1d4c8bcb1a7998c807366584e535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b0000000000000013202c3946535f6c7986929facb9c5d2d9ccbfb3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c747575757575757575757575757575756f6a60554b40352b20160c0000000000000000000000000a141d29333e46525e686d757575757575757575757575757575716c6155493d3023170a00000000000005121e2a36424d576673808c9aa4afbbc8d3c7bbaea3998e81746b60554c41382f261d160d090200000000000000000000000000040a0d151d2429343c454d57606b727f8b94948d80736c61584e443a30261c0f06000000000000000000000000000000000000000000000000000000000000000000050b1014161719191919191919191919191919191e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000009121a232b333b414950585f626c71797f848a8f939a9d9fa4acaaacafb6b3b4b5b6b6b7b7b6b6b5b4b3b6afacaaa6aaacb1b9c3ccd5dbd0c6bcaea49d938e82796d685f585045403930292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9aca196897d7063554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18242f39434e58606c77828f97a1acb6c0baaea2989083796d60594f443a2f261b11060005121f2b3845525e6b7885919eabb8c4cabdb1a4978a7e7164574b3e3124180b00000000091623303c4956636f7c8996a2afbcc9c8bbaea195887b6e6255483b2f221508000006111c2630383f44464747474747474e5b6875818e9ba8b4c1cedbd3c7baada094877a6d61544747474747474747474745413a31281d130700000000000b1824313e4b5764717e8a97a4b1bdcad4c7bbafa39986796c60534754606d7a86929facb9c5d0d5c9bdb2a8998d807366584e43372b1f1306000000000813202d3946525e6876828f9cabb5c0cbd7cec3b7aa9d9184776a5f53535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f626060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f130700000000000000121f2c3945525f6c7885929fabb8c5d2dacdc0b3a79a8d8074675a4d4134271a0e0100000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60676868686868686868686868686868686260584e43392f23190d04000000000000000000000000020b17212a36414c565e6168686868686868686868686868686864615a5045392d2115080000000000000714212d3a46535f697784909dacb6c0ccd2c5b9ac9f92867b6e61594f433a2f261d140b050300000000000000000000000000000000030b1218222a333b454f59626d76828f8f82786d605a50463c32281e140a0000000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0d0d0d0d0d0d0d0d121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000010a131b242c353d454d535b606a6f767e848b91969c9fa4acacafb6b7b9bbc0bfc1c2c2c3c4c4c3c2c1c0bfc0bbb9b6b3b7b8bcc3ccd5ded6cabfb4aa9d928d81786d675e564e463e342e271e170f0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b37424d5765717e8b98a2aebac7c4b7ab9e9184786c6053463a2f24180d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c44505b656e7a85929aa4afbbbfb4aaa0958d80736b61564c41382d22170d0304111e2a3744515d6a7784909daab7c3cbbeb1a5988b7e7265584b3f3225180c000000000a1724303d4a5763707d8a96a3b0bdc9cabeb3aa94877a6d6154473a2e21140700000c17232e38424a5053545454545454545b6875818e9ba8b4c1cedbd3c7baada094877a6d615454545454545454545454514b433a2f24180d01000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f534c5664717e8b98a3aebac7d3d2c5b9aca096887c6f6255493d32271b0f030000000005111d2a36414c5665717e8b99a3afbbc7d3d1c5b8aca096887c6f6255535f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625653535353535353535353535353535353535353535353535353535353535353535353535353535353534d4c4741382f241a0e0300000000000000121f2b3845525e6b7885919eabb8c4d1dacec1b4a79b8e8174685b4e4135281b060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535a5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b56544e463d31271d11080000000000000000000000000000050f1925303a444c52545b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e34281d11050000000000000815222e3b4855616e7b8895a0acbec7d2c8bcb1a79b8e8175685e52473d31281d141413120f0b060b0907070401000000000000000000010710182129333d47515b626e7b86847a6d665c50483e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000a131c252d363e474f575e656c727c838a91969ea1a8acafb6b9bbc0c4c6c8ccd2cececfd0d0d1d0cfcecdd2ccc8c6c3c0c4c5c8ced5dedfd3c6baaea2988d80786d665d554c443c3428231d150c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998c8073655b504437281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f27333f49535e68707d88939fa7b1bcbcb1a79f93887d70685e53493f33271f150b01101d293643505c6976838f9ca9b6c2ccbfb2a6998c7f7366594c4033261908000000000b1824313e4b5764717e8a97a4b1bdcac6baaea29886796d6053463a2d2013070003101c28343f4a545c6061616161616161616875818e9ba8b4c1cedbd3c7baada094877a6d6161616161616161616161605d554b4135291d1104000000000b1824313e4b5764717e8a97a4b1bdcad2c5b9ac9f9286796c5f53525d6875828f9caab4bfcbd7d1c4b7aa9e9184776a6054473b2b20150a0000000000010d1925303a4754616d7a86929facb9c5d1d4c8bdb2a8998c807366584e5f6c7986929facb9c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f62564946464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d13080000000000000000111e2b3844515e6b7784919eaab7c4d1dbcfc2b5a89c8f8275695c4f422e23170b0000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4947433d342b1f150b0000000000000000000000000000000008131e29323a4146474e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b49453e362c22170c000000000000000c1925323f4c5865727f8b98a7b1bcd0d1c5b8aca095897c6f63564d41352c26252321201f1b171917161413110d080c0a0807060400000000060f18212b353f47535f6a727f7c6f685d544a3f362c22180e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000009121c252e373f48505960696e777f8790959ea0a8adb2b9bbc0c6c8ccd2d2d4d3d2d0cecccbcbcacbccccced0d2d4d2d0ccd0d1d4d9dfe7dfd2c5b8ac9f92857c716c605d554d453c342a21180f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b88949fabbcc6c4b7ab9f94887b6e6153493f3327160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d12070f1c2835424f5b6875828e9ba8b5c1cdc0b3a69a8d8073675a4d403025190e020000000c1825323f4b5865727e8b98a5b1becbc5b8ab9f928578665c5044382c1f12060006121f2c3844505c666d6e6e6e6e6e6e6e6e6e75818e9ba8b4c1cedbd3c7baada094877a6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c201306000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f5254606d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b190f040000000000000813202d3946525e6876828f9cabb5bfcbd7cec3b7aa9e9184776a5f545f6c7985929facb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000111e2a3744515d6a7784909daab7c3d0dccfc3b6a99c90837669544a3f34281c100300000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839414242424242424242424242424242423c3b37322b22190d0300000000000000000000000000000000020c1720293036393a4242424242424242424242424242423e3d39342c241a100600000000000005111e2a36424d576875828f9ba8b5c2ced0c3b7aa9d9083776b6054443b342e3331302e2d2b272226242221201d191a1817151313100c070b0a08060f19232b37424e57636d726f6a5f564c42382e241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000008111b242e374049515a616b707b828c92999fa7acb2b9bdc4c8ccd2d4d4d1d1cbc7c5c3c1bfbfbebdbebfc0c1c4c6c7ccd2d2d5dae1e3e9ecdfd3c6baaea29892867e746d675f574e463c332a21170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c99a6b0bccabfb4aa9c908376695f5341382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0e1b2734414e5a6774818d9aa7b4c0cfc2b5a89b8f827568564c41362a1e11050000030f1b27333f49536773808d9aa6b3c0cdc4b7ab9e9184786b544a3f34281c1003000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a818e9ba8b5c1cedbd4c8bbaea195887c7a7a7a7a7a7a7a7a7a7a7a7a796d6054473a2d211407000000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ac9f9285796c5f4c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f6255493c32271b090000000000000005111d2935414c5665717e8b99a3aebbc7d3d2c5b9aca096887c6f62555f6c7885929fabb8c5d2d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b020000000000000000000f1c2936424f5c6975828f9ca8b5c2cfdbd0c4b7aa9d918477665c5044382b1f120600000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d343535353535353535353535353535352f2e2b2720191007000000000000000000000000000000000000050e171e252a2d2e35353535353535353535353535353531302d28221a1208000000000000000714202d3a46525e697885919eabb8c4d1ccc0b3a6998d807366594f46444041403e3c3b3937332d32312f2d2c292427252422201f1c181a18161513120f1a26313c45515b6366625f584e443a30261c12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000007101a232d364049515b626c717d858f949fa3abb1b9bdc4c9cfd4d7d4cec8c5c4bfbbb9b7b4b3b2b1b1b1b2b3b5b7b9bbc0c4c6c9cfd3d8dee4e2d6cabfb4aaa298928b81796e695f584e453c332920170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb7c2c7baaea2988b7e7165574d422f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d29323e45515c676e7c86929fa5afbabeb3a99e948b7f726a5f554b40352920170b1825323f4b5865727e8b98a9b3becac4b7ab9e918478685e5246392d201408000005121f2b3744505b6576838f9ca9b6c2cfc2b5a99c8f8276695c4f432e23170c00000915222f3c4855626f7c878787878787878787878e939eaab6c3cfdcd5c9bcb0a4988e888787878787878787878787878074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad2c5b8ab9f9285786c5f525e6876828f9cabb5bfcbd7d1c4b7aa9e9184776a5f53473b2b20150a00000000000000010d1925303a4754606d7a86929facb9c5d1d4c8bdb2a8998d807366585f6b7885929eabb8c5d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23202020202020202020202020202020202020202020202020202020202020202020202020201a1a17130e0801000000000000000000000e1b2834414e5b6774818e9aa7b4c1cddad2c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f202728282828282828282828282828282823221f1b150f070000000000000000000000000000000000000000050c13191d20212828282828282828282828282828282423211d17100800000000000000000814212e3b4754616e7b8797a1adb9c6d2c9bdb2a8968a7d7063575553514a4e4c4b494746443f413f3e3c3a39352f3432302f2d2c282326252321201f1c17202a33404951575955534e463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000040e19222c353f48515b636d727e8692979fa6aeb5bdc2c9ced5d8d1cbc7c3bdb8b7b5aeacaaa8a6a5a4a4a5a5a6a8aaacafb5b8b9bec4c7cdd3d8dedbd0c6bcb4aaa39f938e837b6f6a5f574d453b322920160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8996a1acb9c5c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17202834404b555f6a727e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d1415222f3c4855626f7b8897a2adb9c6c5b9ada196877a6e6154473b3025190d02000613202d394653606c7985929fabb8c5ccc0b6ac998c7f7366594c403326190600000915222f3c4855626f7b889494949494949494949b9ea5afbbc6d2ded8ccc0b5aaa0989594949494949494949494948d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f54616d7a86929facb9c5d1d4c8bdb2a8998d807366584e43372b1f130600000000000000000813202c3945525d6875828f9cabb4bfcbd7cec3b7ab9e9184786a605e6b7885919eabb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161313131313131313131313131313131313131313131313131313131313131313131313130e0d0b07030000000000000000000000000d192633404c5966737f8c99a6b2bfd1dcd3c6baaea298887c6f6255493c2f22160900000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1615130f0a040000000000000000000000000000000000000000000002080d1113141b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c060000000000000000000a1724313d4a5764707d8a97a9b2bec9d2c5b9aca096877a6d656361605c545b595856545350494e4c4a4947454142403f3d3b3a38342e3331302e2d2b282226242e3740464b4c4847433c342a20160c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000020c16202b343e47505a636d737f879298a1a9b0bbbfc6cfd5d9d2ccc7c0bbb9b2acaaaba39f9d9b999898979899999b9d9fa4ababadb3b7bbc2c7cdd5dad7cec6bcb4aea59d9590857c6f695f574d443b32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175675d5145392c20130200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50453b2f261c13202d394653606c7985929eabb8c5c9bdb2a8978a7d7064564c41362a1f1409070f1b27333f4953626e7b8898a2aebac6c8bbafa49a897d7063564a3d3023170a00000915222f3c4855626f7b8895a1a1a1a1a1a1a1a1a8aaafb7c1ccd7e3ddd1c6bbb2aaa4a1a1a1a1a1a1a1a1a1a1a19a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c5b8ab9e9285786b5f5665717e8b99a3afbbc7d3d2c5b8aca096887c6f6255483c32261b0f03000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9aca196897c6f625e6b7784919eaab7c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609060606060606060606060606060606060606060606060606060606060606060606060601000000000000000000000000000000000b1825313e4b5864717e8b97aab4bfcbd7d6cabfb4aa988b7f7265584c3f31261a0e02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f090806030000000000000000000000000000000000000000000000000000010507070f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a080500000000000000000000000c1926333f4c5966727f8c99a5b2bfcfd1c4b7aa9e9184777372706e6d66696866646361605b535a59575554524c4f4d4b4a4846454041403e3d3b3938332d33312f2e353b3e3f3c3a37312a2218191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000008131e28323d464f59626c737f8b9399a3aab3bbc2cbd1d8d5d0c7c0bbb5afaca8a09d9a9992908e8c8c8b8a8b8c8d8e9193999a9ea1a9abb0b7bbc2c9cfd6d7cfc6bfbaafa7a09791857b6e695e564d443a3024190f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facb8c4c5b9ada196897d7063554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61574d42382d22171f2b3744505b6575828f9babb5c0ccc1b5a89b8e8275685e52463b30251a131318232b3744505b6573808c99aab3becac6b9ac9f93867a6d6054473a2d21140700000915222f3c4855626f7b8895a2adadadadadadadb5b6bbc1c9d3dde8e2d8cdc4bbb5b0aeadadadadadadadadada79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b8ab9e9185786b5e5e6876828f9cabb5c0cbd7d1c4b7aa9e9184776a5f53473b2a20150a000000000000000000010d1924303a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8073655b6a7784919daab7c4d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8898a3aebac7d3dbd0c1b5a89b8e817568574e42372b1e1308000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cdd2c5b8ab9f928581807e7d7b7978767473716f6e6c656967656462605d565c5a58575553514b4e4d4b494846443f413f3e3c3a3935303432302f2d2c29242625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000060f1925303a444e58616b717e8b919fa4abb4bcc5cdd7dbd6cbc3beb6afaba39f9b96918d89868481807f7e7e7e7f80828486898d91979c9fa6abb0b9bec4cdd8d8d1cbc1b9b1a9a19791847b6e685e564c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a2aebac6c4b7ab9e9184786c6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2a333f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f1b27333f495365727f8c99a4afbbc7c5b9ac9f92867a6d61564d42362a2520202429343f4a54606c7884919eabb7c4ccc0b6ac9d918477685d5245392c20130600000915222f3c4855626f7b8895a2aebabababababac1c3c6ccd3dbe5efe9dfd6cdc6c0bcbbbabababababababab3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad1c4b7aa9e9184776b5e616d7a86929facb9c5d1d4c8bdb2a8998c807366584e43372b180e04000000000000000000000813202c3945525d6875828f9cabb4bfcbd7cec4b7ab9e9184786c606a7783909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb9c5d2ded1c4b8ab9e9184786a5f53473a3024190d000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d120600000000000002070b0d0d13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9ca8b5c2cfd3c6baada297928e8d8b8988868483817f7e7c7a7977767472716f6d686a6867656362605c555b5958565453504a4e4c4a4947464142403f3d3c3a39352f33312e2a231c130a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000030e18212935414c56606a707d87929fa3afb5bdc6cfd7d8d0cac0b9b1aca49f99928e8884807c7977757372717172727375777a7d81858a8f949c9fa6adb3bbc2ccd2d9d7cbc3bbb3a9a19691847a6e685d52453e332a1e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697683909caab4bfc7bcb0a6998d8073665b504438281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18212935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d222d3b4855616e7b87939facb9c3c7baaea3998c7f72695e52464036312d2d2f353d44505c66707d8996a1acb9c5c8bbafa49a8d807366564c4135291d110400000915222f3c4855626f7b8895a2aebbc7c7c7c7c7cecfd2d7dde5edf7f0e7dfd9d4d1d0c8c7c7c7c7c7c7c7c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c4b7aa9d9184776a5665727e8b99a3afbbc7d4d1c5b8aca096887c6f6255483c32261b09000000000000000000000004111d2935414c5664717e8b99a3aebac7d3d2c5b9ada196897c6f62697683909ca9b6c3cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667783909daab6c3d1dcd2c5b9ada196887b6e62564c4135291d12070000000000000000000000000000000000040d16202d3a4653606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e22150800040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d010000000000080e1317191a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020191916130d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daab7c3d0d6cabeb3a9a29f9b999896999391908e8c8b8987858482817f7d7c7a7877757372706e6d67696866646361605b545a59575654524c4f4d4c4a48474540423f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000915202a333c46525e686f7c869299a3afbbc0c7d0d8d7cec6bfbaaea7a09a938e87817c77736f6d66686665656465666668676d7074787d82888f949ea1a9b0bbc0c7d0d9d5cdc4bbb2a8a09691837a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b7ab9f94887b6e62544a3f3328160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada2978f82786c60584e433a2f24212d3a46535f6975828f9ca8b1bdc8bfb4ab9f92857b6e615b5146423b3a393b40454f59606d7883909da8b2bdc9c6b9ac9f93877b6e6155483b2f24190d0100000915222f3c4855626f7b8895a2aebbc1c1c1c1c1c4c5c9ced6dee8f1e7ded5cec8c5c4c1c1c1c1c1c1c1c1c0b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b7aa9d9084776a5e6876838f9cabb5c0cbd7d0c4b7aa9d9184776a5f53473a2a20150a0000000000000000000000010d19242f3a4754606d7a86929facb9c5d1d5c9bdb2a89a8d8074656976838f9ca9b6c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546774818d9aaab4bfcbd7d5c9bdb2a89a8d8074685d5245392e23180e05000000000000000000000000000000030c161f28343f4a54606d798693a0acb9c6d3d4c7bbaea194887b6e6155483b2e221508000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929eabb8c5d1dbcfc5bbb3adaba8a6a5aba49f9e9c9b9997969892918f8d8c8a8887858382807e7d7b797876747371706e6c666967666462615e565c5a58575553514b4e4c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000030d1a26313c46515b616d7a849198a2abb5c0ccd2d9d7cec5bcb4aea49d959087817b756f6a6763605c545959585758595a555d6063656c70767c828a91979fa6afb6bec7d0d9d6cdc4bab2a8a0958e81756c62574d42382e23170c0300000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808c9aa4afbbc8bfb4aa9c908376695f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b413529212a36424d5763707d8995a0acb8c3c6baaea2988e81756d635b534d484646474b5159616b727f8c95a0acbac4c9beb3a99c8f8276695f53463a2d1e13080000000915222f3c4855626f7b8895a2aeb4b4b4b4b4b4b7b9bdc4ccd6e0eadfd5ccc3bdb8b7b4b4b4b4b4b4b4b4b4b3a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcad0c3b6a99d9083766a616e7b87939facb9c6d1d4c8bcb1a7998c807366584e43372b1f12060000000000000000000000000813202c3945525d6875828f9caab4bfcbd7cfc4b8ab9e9184786c6975828f9ca8b5c2cfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3d4a5764707d8a98a3aebac7d3dacfc4b8ac9f92867a6d60544b40342820170e0600000000000000000000000000040c151e28313944505c66707d8996a3afbcc9d6d4c7bbaea194887b6e6155483b2e2215080000010b151d252c30343535353535353535353535353535353532312e29231b130900000000000a141c242a2f3334393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b556c7985929facb8c5d2dfd7cdc5bebab8b5b3b1b5afacaba9a7a6a4aaa39f9d9c9a9897959792908f8d8b8a8886858381807e7c7b7977767472716f6d686a6867656362605d555b595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000010b151f2b37434e58626d75828f96a1aab4bdc7d1ddd7cdc5bcb3aaa29f928d837c746e696260585653514b4d4c4b4b4b4c4d4b5153535b60636a6f767e858f949fa4acb5bdc7d0d9d6ccc4bab1a79e938b7e71695f544a3f34281f14090000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7165574d422f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e332926313b4653606c7884919da7b1bdc7beb3aa9e938c7f736d615e5754535354555d606b707d87929fa7b1bcccc6b9ada1978a7e7164574d42362a1e0c010000000915222f3c4855626f7b8895a2a8a8a8a8a8a8a8abacb2bac4cedae5d9cec3bab2acaaa8a8a8a8a8a8a8a8a8a8a79a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc3b6a99c9083766965727f8b99a4afbbc7d4d1c5b8aca095887b6f6255483c31261b0f0300000000000000000000000004111d2935414c5664717e8a98a3aebac7d3d2c5b9ada196897c6f6875828e9ba8b5c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0dbd3c6baaea2988c7f72665c51453e322920180f090300000000000000000002080d161e263039434e58606d7883909daab7c3d0ddd4c7bbaea194887b6e6155483b2e221508000000030b131a202427282828282828282828282828282828282524221d181109010000000008121c262e363b3f404646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646403e3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677986939facb9c6d2dfdfd7cfcac6c5c1c0bec0bbb9b7b6b4b2b1b4aeacaaa9a7a5a4a9a29f9d9b9a98969a9391908e8c8b8987868482817f7d7c7a7877757372706f6d676a6866635b51463a2e2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000007121d27313947535f6a727f8b939ea8b2bcc6cfd9d8cec5bbb3a9a298928a80786f6b615e57544e49464540403f3e3e3f3f404045474950535860626c717a828c939aa4abb5bdc7d2ddd5ccc3b9afa59f92867b6e665c50443c31261a0e040000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8996a1acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30262b3744505b65727f8b95a0abb5c0c5bcafa59c918c7f766e69646160606163676d747d869299a3aeb9c3c6bdb0a69e9285796d6053463b31261a0e000000000915222f3c4855626f7b88959b9b9b9b9b9b9b9b9ea1a8b2bdc9d5e1d4c8bdb2a8a09d9b9b9b9b9b9b9b9b9b9b9b9a8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b6a99c8f837669697683909cabb5c0ccd7d0c4b7aa9d9184776a5f53473a2a20150a00000000000000000000000000010d19242f3a4754606d7a86929facb9c5d0d5c9bdb2a99a8d80746674818e9ba7b4c1ced6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9caab4bfcad6d6cabfb4aa9e9184796d60594f443b322a211a140e0906050300010507090e13191f283038424b555f6a727f8b95a0acb8c5d1ded4c7bbaea194887b6e6155483b2e2215080000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d060000000000020e19242e3840474b4d53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534c4b4640372e24190d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a4afbbc7d4e0dcd3ccc7c3c2c0c2c4c5c7c6c4c3c1bfbebfbab8b7b5b4b2b0b3adabaaa8a6a5aca49f9e9c9b9997969992918f8d8c8a8987858482807f7d7b7a787675726d63574a3e3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000c18232f3943505a626e7c86929fa5afbac4ced8dbd0c6bcb3a9a29792867e746d666059534d47433c3a38342e32323132332f35393a3f44464e545a61686d7880889399a4abb5c0ccd7dcd5cbc1baaea2989083786d60574d42372b20150a000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a89b8e8175685d5245392c2013020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e27333f4953606d78839099a3afbbc3c1b7ada39c918c827b75706e6d6c6e70747980879298a2abb4bfcbbfb5ab9f948b7e71665c5145382a1f1409000000000915222f3c4855626f7b888e8e8e8e8e8e8e8e8e9196a1acb9c5d2ded1c5b8aca096918e8e8e8e8e8e8e8e8e8e8e8e8d8074675a4d4134271a0e010000000b1824313e4b5764717e8a97a4b1bdcacfc2b5a89c8f8275696e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b180e0400000000000000000000000000000813202c3945515d6775828f9baab4bfcbd6cfc4b8ab9e9185786c74818d9aa7b4c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5565717e8b98a2aebac6d3dbd0c6b9ada1968d80746b61564d443c332b261f1a1413120f0b0d1113141a1e252a313a424a545d676e7c86929fa7b1bcc8d4e0d4c7bbaea194887b6e6155483b2e22150800000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000007131f2a36404a52585a60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0b5c0cbd7ded3cac2bbb7b5b3b5b7b9babfbebfc1c3c5c6c7c5c4c2c0bfbdbebab8b6b5b3b1b6afacaba9a7a6a4aba39f9e9c9a9997959892908f8d8b8a88868583817f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000004101c2934404b55616c76828f98a2aeb7c1ccd6ddd6cabfb4aaa29792857c716c605c544f46423b37322d2c2823262524252624292c2d33373c434750565e666c737e879399a4afbbc0cad3ddd6cabfb4aa9f958c8073695f53463c32261b0f040000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105070709090a0a09080706040000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f34282d3844515c666f7c87929fa8b2bbc5bfb5ada39c948f86817d7b79797a7c81858d9399a2aab4bdc6c2bbaea3999082776c60544b403428180e03000000000815212e3b4854616e7b8181818181818181818184919eabb7c4d1ddd0c4b7aa9d9184818181818181818181818181817e7164584b3e3125180b000000000b1824313e4b5764717e8a97a4b1bdcacec2b5a89b8f827568727f8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0800000000000000000000000000000004111d2935414c5564717e8a98a3aebac7d3d2c6b9ada197897c6f73808d9aa6b3c0cdd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4754606d7a85929facb8c1d0d9d5c9bdb2a89d928a7d70695e564e453d37312b2621201f1b17191e2021262b30363c434c545c666d79839198a2aeb9c3ced9e5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635b52463b2f23160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798699a3afbbc7d3d8ccc2b8b0aaa9a7a8aaacaeb4b1b3b4b6b8b9bebdbfc0c2c4c5c7c6c5c3c2c0bec0bbb9b8b6b4b3b1b4aeacaaa9a7a5a4aaa29f9d9b9a9896959791908e84786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000006131f2c3845515c67717e8a949faab4bfc9d3dfd4cbc2baaea29892857c6f6a615a504a423d36312b27201f1c181918181819181d2022272b32373e444c545b606c717e87939fa4aeb8c2cdd6dbd0c5bcb1a79f92877b6e61584e43372b21160a000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184786c6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000000000000000000000030506080d1113141516171616151413100c0707050c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d322834404a54606a73808d96a0a9b3bbc5bfb5ada69e98928e8a87868687898d92979fa4abb4bcc6c2b8b0a69f92877c6f655b5042392e23180600000000000714202d3a46525e696e75757575757575757575818e9ba8b4c1ced9cdc0b3a69a8d8075757575757575757575757575716c6256493d3024170b000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a89b8e8175687683909cacb6c0ccd8d0c3b7aa9d9084776a5f53473a2a20150a000000000000000000000000000000010d19242f3a4754606d7a86929facb8c5d0d5c9beb3a99a8d807373808c99a6b3bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6774818e9aa5afbdc7d2dacfc4baaea49e92857b6e685f574f46423c37312e2d2b2722252a2d2e31373a41464e555d666d78818f95a0aab4bfcbd5dfe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1926333f4b58646e737979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979736d63574b3e3225190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986929facb9c5d2d3c7bbb0a69f9c9a9c9d9fa3aba4a6a8a9abadb3b0b2b4b5b7b9bbc0bec0c1c3c5c6c8c6c4c3c1bfbebfbab9b7b5b4b2b0b4aeabaaa8a6a5a3a9a19e9d9184786b5e5145382b1e120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000004111d2935414c56606d7984919ea6b0bcc6d0dcd8cfc2b9aea49f92867c6f6a605850443f38302a251f1b1313100c070b0b0c070d1013171b1f272b323a424a505a626c717e8b929da6b0bbc5cfdad7cec2bbafa3998e81756a5f53473d32271b0f04000000000000000000000000000000000000000000000000000000000000000714212d3a46535f6976838f9caab4bfc7bcb1a7998d8073665b504438281e13080000000000000000000000000000000000000000000000000000000000000000000000000000060b0f121316191d2021222323232322201f1c181514120e0f19242f3a434f59606d78829097a2adbac0baada2979083786d60594f443a2f2e39424e58606d79849197a1a9b3bcc5bfb8b0aaa29f9b9799929299969a9ea1a9afb5bdc6c2b9b0a69f948d80736a5f53493f30271d1207000000000005121e2a36424d575e6168686868686868686875818e9ba8b4c1ced9cdc0b3a69a8d807368686868686868686868686864625a5045392d211508000000000b1824313e4b5764717e8a97a4b1bdcacec1b4a79b8e81746e7b87939facb9c6d2d4c8bcb1a7998c7f7366584e43372b1f1206000000000000000000000000000000000813202c3945515d6775828f9baab4bfcad6cfc4b7aa9d918477727f8c99a5b2bfccd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b55626f7c88939eabb5c0ccd7d6ccc0b9ada19790837a6e6a6059534d46423d3a3937332d3036393a3d42474c525860676d78818e939ea7b1bcc6d0dde7e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a67738086868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5f6c7885929fabb8c5d2d0c3b7aa9f948f8d8f9192999697999b9d9ea1a9a3a5a7a9aaacafb5b1b3b5b6b8babebdbfc1c2c4c5c7c7c5c4c2c0bfbdbebab8b7b5b3b2b0b3adaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000713202c3945525d68737f8c96a1acb8c2ced8dcd1c6bdb1a79c928a7e716a60584e463e342e261e1a140f0a06040000000000000104060b0f151b20282f383f44505a626c73808d949ea9b3bec9d5e0d7cbc0b5ab9f93877c6f62594f44382c20150a000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939facb9c6c4b8ab9f95887b6e62544a3f3328160c01000000000000000000000000000000000000000000000000000000000000000000000002080d11171b1f2023252a2d2e2f3030302f2f2d2c292321211e1a14131e28313d44505c666e7b85929fa5afbabeb3a99f948c80736b60564c413529303c45515d676f7c859297a2aab3bbc1c2bcb4aeaca8aba39f9fa3aba7abadb3bbc0c6bfbab1a79f948f82786d60584e41382d1e150b000000000000020e1a25303b454d52545b5b5b5b5b5b5b5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000b1824313e4b5764717e8a97a4b1bdcacdc0b4a79a8d8174727e8b9aa4afbbc8d4d1c5b8aca095887b6e6255483c31261a0f020000000000000000000000000000000004111d2935414b5564717e8a98a2aebac7d3d1c5b8aca095877b727f8b98a5b2becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a47535f6a75828f99a4afbbc5cfdad5c9beb3a99f9590847c706b615f57534d4a4746443f43444146474a4d53565e616a6f7a818e939ea5afb9c3ced7e2efe1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e45525e6b7885919eabb8c4d1cfc2b5a99c8f828082848687898b8c8e9092979597989a9c9e9fa3aba4a6a8aaabadb3b0b2b4b6b7b9bbc0bec0c2c3c5c6cac6c5c3c2c0bebdbeb6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000004101c2834404b55606d7a85929fa8b2bdcad4e0d7cbbfb4ab9f958d80736c61584e463d3428231c150c090300000000000000000000000000030a0e161d262d333f48505a606d78828f97a1adb9c1ced8dcd1c7bbafa49a8f82756b6054483c32271b0f01000000000000000000000000000000000000000000000000000000000005121f2b3744505b65737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382d22170b0000000000000000000000000000000000000000000000000000000000000000000000060b13191b22272b2d2f3036393a3c3c3d3d3c3b3a38342f2e2d2a251f1c181f28343f4a545e69717e8a939da8b2bdbcb0a69f92877d6f685d52453f332935404b555f6a6f7c859298a1a9afb9bec5bfbab8b5b5afacacaeb5b4b8b9bec5c2bcb4aea79f959082796d665c51463c2f261b0c030000000000000009141f29333b4246484e4e4e4e4e4e4e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4e4e4e4e4e4e4e4e4e4e4b49453f362d22170c01000000000b1824313e4b5764717e8a97a4b1bdcacdc0b3a79a8d807475828f9cacb6c0ccd8d0c3b7aa9d9083776a5f53473a2a20150a0000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d4c8bcb1a7988b7e717e8b98a4b1becbd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d2b37434e58626f7c87939fa9b3bec9d5dacfc5bbb1a79f9691857d756e69615f57575453504950504c525456575f62686d737c848f939ea5afb7c1cbd1d5dce3e1d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071d2a3744505d6a7783909daab6c3d0cdc0b3a69a8d80747577797b7c7e8081838587888a8c8d8f9192999698999b9d9fa2a9a4a5a7a9abacafb5b1b3b5b7b8babec5ced0cecdcbcfc3b6a99c908376695d5043362a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000006131f2c3845515c67727f8c98a2aebac4cedcddd3c7baaea3999083786d605a50463d342b2217110a030000000000000000000000000000000000040b141c2228363f44505c666d7a85929ea5afbcc6d0dcd8ccc0b6ac9e94897c6f63584e43372b1d120700000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eacb6c0c7baaea3988b7e7265574e422f261c1106000000000000000000000000000000000000000000000000000000000000000000020a11171e252a2d3337393c4041464748494a4949484745403f3b3a36312c28231c232e38424d57616c74818e96a0abb5bfbbafa39991847a6d605a50453c302f39434e585f6a6f7c8692979ea5adb3babec5c5c1c0bbb9b9bbbfc0c5c5c3bcb8b1aaa39f959083796d675d544b40342a1d140a0000000000000000020d17212930363a3b4242424242424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4242424242424242423e3d39342d241b110600000000000b1824313e4b5764717e8a97a4b1bdcaccc0b3a6998d80737a86929facb9c5d2d4c8bcb1a7998c7f7366584e43372b180e030000000000000000000000000000000000000713202c3945515d6775828f9baab4bfcad6cec1b4a89b8e81757e8a97a4b1bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23160906060606060606060606060606060606060606060606060606060606060606060606060606060606060101000000000000000000000000010f1b26323c47535f6a74818e97a1adb9c1cbd4d7cdc2b9b1a8a0979287817b746e69676461605b535d5d565e616366696e737a808691969ea6afb7c1c0c1c5cad2dae3d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaca6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1cecec1b5a89b8e827569666c6e7071737576787a7c7d7f8182848687898b8d8e9092979597999a9c9e9fa3aba5a6a8aaabaeb4bcbfc7d0d9d8cfc2b5a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000713202d3a4653606d7985919eaab4beccd6dfd5c9bdb2a89f92867c6f665c50483e342b221910060000000000000000000000000000000000000000020a11172428343f4a545e68717e8a939eaab4bfcbd6ddd2c7beb0a69c9083766a605447392f23180c0000000000000000000000000000000000000000000000000000000004101d2935404b5563707c8996a0acbec7c5b8ac9f92867a6d6054473c3121140a000000000000000000000000000000000000000000000000000000000000000000060b141c22283036383f4446494c4c525455565656565553514b4b4846423b38342e271e26303b45505a606d79849199a3aebbc0b5aba1968e81756c62574d42392e313c464e58606a6f7d858e939ea1a9aeb3b9babfc0c1c2c2c1c0bfbdb9b7b1aca79f98928c837a6d675d554b42392e22180b02000000000000000000050f171f252a2d2e3535353535424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d40353535353535353531302d29221b12090000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a6998c7f737d8a98a3aebac7d3d1c4b8aca095887b6e6255483c31261a080000000000000000000000000000000000000004111d2935404b5564717e8a98a2aebac6d3d1c5b8ab9e9285787d8a97a3b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f23161212121212121212121212121212121212121212121212121212121212121212121212121212121212120e0e0b0803000000000000000000000a15202b37434e58616d7a85929ea5afb9c2ccd6d4cbc2bab2a9a299938e87817b7774706d6c656a696a6b686d7073777b80858d9299a0a8b0b8b9b5b3b5b9c0c8d2ddd4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0d2d0c3b6a99d9083766a5b6061636466686a676d6f7072747677797b7c7e8082838587888a8c8e8f91929996989a9b9d9fa2aaadb5bfc9d4dbcec1b4a89b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006131f2b37434e5865717e8b97a1adbcc5d0ded9cec5b9aca1968c7f736a5f544a3f362c221910070000000000000000000000000000000000000000000000061217232e38424c56616c75818e98a3aebac5d0dbd9d0c1b7ab9f94887c6f62554b4034291c10040000000000000000000000000000000000000000000000000000000613202c3945515d6774818e9ba8b2bdc9bdb2a99b8e8175685d5245392c20130200000000000000000000000000000000000000000000000000000000000000020a11171d262d333a41464950535659565e61626363636262605c555854534d4644403930292429333e45515d676f7c87929fa6b0bbbdb2a89e938b7e71695f544a403428343c464e58606b6f7a818a92979fa2aaacaeb4b3b4b5b5b4b4b2b2adaba7a09d9590867f786d685d554c433930271d10060000000000000000000000050d141a1e20212828282835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034282828282828282524211d171109000000000000000b1824313e4b5764717e8a97a4b1bdcaccbfb2a5998c7f74818e9aaab4bfcbd7d0c3b7aa9d908377695f53473a2a20150900000000000000000000000000000000000000010d18242f3a4753606d7a86929facb8c5d0d2c6b9ada197887b7d8996a3b0bcc9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f231f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1b1a18140f08010000000000000000040f1b26313c46525e68707e8a939da6b0bac4ccd5d4ccc4bbb3aba49f99928e8884817d7a797877767777787a7d7f83888d92989fa3abb2bab6aea8a6a8aeb6c0cbd5d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6bfb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5c0ccd1c4b8ab9e918578675d53545658595b555d606264656769666d6e7071737577787a7c7d7f8183848688898b8d8f9092989ba3adb8c3cfd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000815222e3b4754606a7784919da9b3beced7e2d4c8bcb1a79e9184796d60584e42382e241a10070000000000000000000000000000000000000000000000000006111c26303a44505a616e7b86929fa9b3becad6e2d3c7bcb0a69a8d8074675c5145382c1f14090000000000000000000000000000000000000000000000000000000714202d3a4753606d7a85929facb8c4c5b9ada196897d7063564c4135291d1104000000000000000000000000000000000000000000000000000000000000020b141b22272f383f444c52535b60626669686d6f6f70706f6e6d676865615e5753514a423d352f282935404b55606a727f8c949fa9b3bebaafa59f92867b6e665c51443d322a343d464f5960686d757e858d92989c9fa3aba7a8a8a8a8a7a6a8a19e9a95918b837b726d665d564c433a31271e150b0000000000000000000000000002090e1214151b1b1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271b1b1b1b1b1b181715110c0600000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb2a5988b7f7884919eabb7c4d1d4c8bcb1a7998c7f7266574d42372b180e0300000000000000000000000000000000000000000713202c3945515d6775828e9baab4bfcad5c9beb3a9988b7e7c8996a2afbcc9d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c2f2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282724201a130b0200000000000000000a15202a36414c56616c74818e949fa8b2bac3ccd7d6cdc5bdb5afaba39f9a96918d8a878685848383848587898c9095999fa2aaaeb4bdb8aea49c9a9ca4aeb9c3ced9c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0cdd2d2d2d2d2d2d2d2d2d8d3d0cfc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9bfb2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a4afbbc7d2c6b9ac9f93867a6d605348494b4d4e4c51545557595a545c6061636566686a686d6f7172747678797b7d7e808283858b919ba7b3c0ccd8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000003101c28343f4a54626f7c8995a0acbbc4cfe0ded1c5b8aca0958b7e71675c51463c30261c12080000000000000000000000000000000000000000000000000000000a141e28323e46525e6973808d97a2adbac7d1dcd8cdc2b8ab9f9285796d6053473b30251a0e020000000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2aebac6c4b8ab9e9184796d6053463a2f24190d010000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50565e61656c6f7376787a7b7c7d7c7c7b7a7775726e6964605c544f45413a312c2f39434e58606c77828f97a1adb9c0baaea2989083786d60594f443a302b343d474f565e616c717a80858b8f9299989a9b9c9c9b9a999796918d89847e786e6a605c544c443a31281f150c03000000000000000000000000000000020507080f0f1b2835424e5b6875818e9ba8b4c1ced9cdc0b3a69a8d8073675a4d4034271a0f0f0f0f0f0b0b0805010000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a5988b7e7b8896a1acb9c5d2d1c4b8aca095887b6e6155483c31261a0800000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3cfc1b4a89b8e817c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256493c3939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b0100000000000000030d1925303a44505a606d79829096a0a8b1b9c1cbd1d7d0c7c0bbb5afaca8a09e9a9799929190909091929796999d9fa7abaeb4babfbab0a69c928d929ca7b1bcc8d4c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3c0d0d9e4dfdfdfdfe6dcd4cdc7c4c2bcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcb2a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facb9c6d2c8bbafa49a8a7d7063574a3d3e4042414547494a4c4e4a50535456585a5b565d606264666769666d6e7072737577787f8b98a5b2becbd5c9bdb2a896897d7063564a3d3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000006121f2c3844505c6674808d9aa8b1bdcdd6e1d5c9beb3a99d9083786c60554b40342a1e140a00000000000000000000000000000000000000000000000000000000020c16202a36424d57616d7a85929fabb5c0cbd7dfd3c6baada2978a7e7164574d42362a1e1205000000000000000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bfc8bcb1a7998d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000006111b262f383f444e545b60686d72787c7f8385878889898989888684827e7b76716d666059524c433e352c313c44505b656e7a85929ea4aeb9bfb4aa9f958d80736b60564c41362a2b343d444c525a61686d737a7e8286898b8d8e8f8f8e8d8c8a8884817d77716c665f57504a423a32281f160d030000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4c1cedacdc0b3a79a8d8074675a4d4134271a0e0202020200000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacbbeb1a4988b7e7f8b98a8b2bdc9d5d0c3b6aa9d908377695f53473a2a201509000000000000000000000000000000000000000000010d18242f3a4753606d7986929facb8c5d0d1c4b7aa9e91847c8895a1aebbc8d4cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6256494545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454541403c362f261d1308000000000000000008131e28323e45515c676d7a849196a0a7b0bbc0c7cfd5d2ccc7c0bbb9b2acaaa7aba39f9e9d9c9d9e9ea2a9a6aaabb1b8babec3bab2a89f948d808d95a0acb8c5d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aaab4bec7d2dde8f0f4e9ded4cac2bbb7b6b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a6998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784919daab7c4d1ccc0b6ac9a8d817467584e4337332f35393a3c3d3f413f444648494b4d4f4c52545557595b545c6061636567686a74808d9aa7b3c0cdd2c5b9ada196877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000713202d3a4653606d7985929eabb8c3cededfd2c6b9ada1978a7e71665b5043392e22180c020000000000000000000000000000000000000000000000000000000000050e1a25303b46525d6873808d99a3afbbc7d3e0d6cabeb3a99c8f8276695e52463a2d201407000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6e62544a3f3428160c0100000000000000000000000000000000000000000000000000000000000a1317222d38414950585f666c727a7f84898c8f929795969696959993918f8b87837e79706b605d564f473e3627333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e52463f342a2b323a414650565e61676d72767a7c7e8081828281817f7d7b7874706b65605b544e443f38302820160d04000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddacdc0b4a79a8d8174675a4e4134271b090502000100000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcacabeb1a4978b7e828f9ba8b5c2ced4c8bcb1a7998c7f7266574d42372b1e12060000000000000000000000000000000000000000000007131f2c3945515d6775818e9baab4bfcad2c5b9aca096887c8895a2afbbc8d5cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625652525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524e4c4841382f251a0f0300000000000000020c16202834404b555e686e7b8491959ea6afb5bdc2c9ced4d1cbc7c4bdb9b7b4b5afacabaaa9aaaaabadb3b2b6b8bcc3c6c0b9b1a8a1968f827883909daab7c3d1c7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d98a2acb6c0ccd8dde7f1e4d8cdc2b8b0aba9a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3998c7f7366594c403326190d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774818e9aabb4bfcbd2c4b7ab9e9184786a5f53473b3025292c2d2f31322e34383a3b3d3e4042414547494a4c4e4a51535556585a5b667683909ca9b6c3cfd1c4b8ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000a1723303d4a5663707d8997a1adb9c6d2dfd8ccc0b6ac9e9285796d60544a3f30271d10060000000000000000000000000000000000000000000000000000000000000009141f2935414c56616e7b86929facb9c4cfdadbcfc5b9ac9f93877b6e6154483b2e23180c00000000000000000000000000000000000000000000000007131f2c38444f5966737f8c9aa4afbbc8bfb4aa9d9083766a5f5342382e23170b000000000000000000000000000000000000000000000000000000000008121c2527333f49535b606a6e787f868c9196999c9ea1a9a2a3a3aba49f9e9b9894908a847d746d68615950483e352d38414d56616c74808d95a0aab4bfbbafa49a91857a6d615b51463c31272930363e444c52555d6065676d6f7274757575757473706e696763605953504a423c342e261e160e0400000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3c0ccd9cec1b4a79b8e8174685b4e4131261a14110e090d0d0c0c0b090601000000000000000b1824313e4b5764717e8a97a4b1bdcacabdb1a4978a7e85929eabb8c5d1d1c4b8ab9f95887b6e6155483c31261a0e020000000000000000000000000000000000000000000004101d2935404b5564717d8a98a2aebac6d3c9bdb2a8978a7d8a97a4b0bdcad6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f625f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b41362b2014080000000000000000050e18232e39434c565f696e7b838f949fa3abb0b9bdc4c8cdd1d3cec9c5c4c0c0bbb9b8b7b6b6b7b8b9bebfc3c4c7c3bcb8afa7a09691847b74808d9aabb5c0cbc7bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c86929aa4afbbc1cbd5dfe9dfd3c7bbb0a69f9c9696969696969696969696969696969696969696969696969696969696969696969696969696969696968c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5764707d8a99a3aebac7d2c5b9ada196887b6f62574d42362a1e202122242623282b2d2e3032333035393a3c3e3f41404446484a4b53606c7985929fabb8c5d2cec2b5a89b8f827568564d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000006121e2b37424e576874818e9ba9b3bec9d5e0d4c8bbafa49a8c8073665c5142382d1e150b0000000000000000000000000000000000000000000000000000000000000000030d1924303a46525e6975828e9ba9b2bec9d5e0d4c7bbafa4998c7f7265544a4034281c100400000000000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3988b7e7265584e4330261c110600000000000000000000000000000000000000000000000000000000040e1a242e373f44505b656c727c838c92989ea1a8a9abadb3afb0afb5afacaaa8a69f9c969189817a706b615a50473e352f3b444f59606d79839098a3aebac0b6aca1978f82756d62584e43392f23252a323a41464c5154555d6063656768696968676664615f5756544f46443f382f28231c140c040000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b2bfccd9cfc3b6a99c90837669584e43372b23201e1a1b1a1919191815120d060000000000000b1824313e4b5764717e8a97a4b1bdcad0c3b6aa9d90839097a1adb9c6d2d0c3b6aa9d908377695f53463a2a1f15090000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cec3b6aa9d9083909daab6c3d0d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b00000000000000000007121d27303a444d575f696e7a828c92999fa6acb2b8bcc3c5c8cecfd1d1d1cbc7c5c4c3c3c3c4c5c6cac8c5c2bcb7b1aba59d9590847b6e707d8a99a3afbbc1c1bbaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a707e88939fa5afb9c3cdd7e1ddd0c4b7ab9f948f898989898989898989898989898989898989898989898989898989898989898989898989898989898989897f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d0c9bdb2a89a8d8074695e52463b30261c14161719171c1f202123252724292c2d2f31332e34383a3b414c5663707d8997a2adbac6d3c9bdb2a8998c7f7266594c3f3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000814212e3a47535f6a7884919eabb8c4cfdadfd2c6b9ac9f93877b6e61544b402f261c0c0300000000000000000000000000000000000000000000000000000000000000000008131e2a36424d5763707c8997a1adb9c6d2dfd7ccc0b5ab9c8f8276665c5144382c1f12060000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6054473c3121140a00000000000000000000000000000000000000000000000000000000020c16202c363f49525c606c777f8690959fa2aaadb2b6b8b9bebcbcbcc0bbb9b7b5b0aba8a09e938e847d706c61594f473d33323e45515c676f7c86929fa6b0bbbeb2a99e948b7f726a5f554b40342920202930363a4145474b515456585a5b5c5c5b5a595755534d4948443d38332d261d17110a02000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bed1dcd1c5b8ab9e9285786a5f53473c342e2d2a25282726262524221e18110901000000000b1824313e4b5764717e8a97a4b1bdcad1c4b8aba0959095a0a9b3becad4c8bcb1a7998c7f7266574d42362a180e0300000000000000000000000000000000000000000000000007131f2c3845515d6775818e9baab4bfcad1c4b8aca0959095a0acb8c4d1d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e2d5c8bcafa295897c7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878746f64594c4033271a0e000000000000000000000b151e29323b454d565e686d777f8790949ea0a8abb1b7b8bdc0c2c4c6c7ccd2c9c9d2ccc7c6c4c2c0bdb8b7b1aba79f9d938e837b6e696d7a86929facb4b4b4b4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58616c73808c939ea7b1bbc5cfd9dccfc2b6a99c8f827d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9ca9b3becacfc4b9ac9f92867b6e61574d42382e23171107060b1012131516181a191d202122242623282c2f3846525e6875828e9ba9b3becad2c5b9aca096887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000815222f3b4855626e7b8896a1adb9c5d2e1d8ccc0b6ac9c908376695e5242392e1d140a00000000000000000000000000000000000000000000000000000000000000000000020e1a25303b4653606c7884919eabb8c4cfdbddd2c5b8ac9f9285796d6053463a2d2013070000000000000000000000000000000000000000000006131f2c3945515d6774818e9aa8b2bdc9beb3a99b8e8275685d5245392c2013020000000000000000000000000000000000000000000000000000000008131e28323e48515b636e74808c92989fa7aeb4b9bdc2c5c6c5c3c2c2c3c5c6c4c2bcb7b2aca59d9691877e706b61594f453c3134404b555f6a727f8b949ea9b3bebbb0a69f92867c6f675c51453e32291d1e252a2f35393a414547494b4d4e4f4f4e4e4c4a4846423d3c38332b28221c140b060000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97abb5c0cbd7d2c6b9ada197887b6e62584e45403b3a36303434333232312e29231b1309000000000b1824313e4b5764717e8a97a4b1bdcad4c8bcb1a7a09da0a7b1bbc5cfd1c4b8ab9f95887b6e6155483b31261a080000000000000000000000000000000000000000000000000004101d2935404b5564707d8a98a2aebac6d3c8bcb1a7a09da0a7b1bcc8d4d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd2c5b8ac9f928685858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858174675b4e4134281b0e00000000000000000000030c172029333b444d565d656c727c838b91969d9fa7aaacb2b3b6b7b9bbc0bcbcbcbbc0bbb9b7b5b4b1acaaa79f9d95908981796e695f677683909ca8a8a8a8a8a8a194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c46505a606c77818f95a0a9b3bdc7d1dcd0c4b7ab9f948a7e7170707070707070707070707070707070707070707070707070707070707070707070707070707070706e695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935404b5564717e8b97a2adbac7d2c7baaea3988d8074695e544a3f34282318120c07030607080a0b080d1113141617141b222d38424e58616d7a86929facb9c5d0d1c4b7aa9e9184776a5f53473a2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000030f1b27333f495365727f8b98a8b2bdc9d5e0d4c8bbafa49a8b7f7265574d4230271d0b02000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b6674808d9aa9b3becad6dfd3c6baaea298897c6f6356493c2f24180c000000000000000000000000000000000000000000000714202d3a4753606d7985929fabb8c4c6b9ada1978a7d7063564c4135291d1104000000000000000000000000000000000000000000000000000000020b1924303a44505a636d73808d929fa3aab1babfc6c8c5beb9b8b6b5b5b7b8babfc6c7c4bdb9afa9a19992877d706b60574d42372f39434e58626d75828f97a1acb6c0baaea3989083796d60594f443b2f261b191e24292c2f35393a3c3f414242424241403d3b3a37312f2c271f1c17110a02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3afbbc7d3d5c9beb3a99a8d80746a5f57514b474642424140403f3f3e3a342d251b11060000000b1824313e4b5764717e8a97a4b1bdcad9cdc3b9b1abaaabb1b9c3cdd7d0c3b6a99d908376695f53463a2a1f140900000000000000000000000000000000000000000000000000000c18242f3a4753606d7985929facb8c5d0cdc3b9b1acaaacb1b9c3cdd9d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3dfd3c6baaea29892929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928e8175685b4e4235281b0f0000000000000000000000050e172129323b444c535b606a6f787e848a9095999da0a8a7a9abacafb5afafafafb5afacaaa9a7a8a09d9a95908a837d746d675f576673808c999b9b9b9b9b9b9b94887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343e44505b656d79839197a2abb5c0cbd7d3c7bbb0a69f92867c6f68636363636363636363636363636363636363636363636363636363636363636363636363636363615f574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3a4753606d7985929facb6c0cccbbfb4aa9f92867b6e665c50443e3529241d18120d0706030002000205070c11171d262d333f4a545f6a73808d99a3aebac7d4c8bcb1a79a8d807467584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121f2b3744505b6575828f9ba8b5c2cfdadfd2c6b9ac9f93877b6e6154483b3021150b000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54636f7c8997a2adb9c6d2dfd6cabfb4aa998c7f7366554b4035291d1004000000000000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000a141d2935414c56616c727f8c929ca4aeb4bcc2c7c0bbb9b3adaba9a8a8aaacaeb4b8bcc2c9c0bbb2aba39992867d70695f53463e32313c46515b616d7a85919aa4afbbbfb4aaa0958d80746b61564c41382d221713191d2024292c2d303234353636353433312e2d2b2622201c160f0b060000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5d2dacfc5b8ac9f92867c6f69605c5554524d4f4e4d4c4c4c4a463f372d23180d0100000b1824313e4b5764717e8a97a4b1bdcad7d5cbc3bcb8b6b8bcc3cbd5d4c8bcb1a7988c7f7265574d42362a180e03000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6cbc3bcb8b6b8bcc3cbd5dfd6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e2d6cabfb4aaa29f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8175685b4e4235281b0f000000000000000000000000060f172029323a414950585f656c71787e83888c9196979a9c9e9fa4aba2a3a3a2aba49f9e9c9a9795918d88837e78706b605c5556636f7c898e8e8e8e8e8e8e8e8e887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000030e182227333f49535d676e7b859299a3afbbc1cbd4cdc2baaea29891847a6d665c5656565656565656565656565656565656565656565656565656565656565656565656565655534d453b31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6774808d9aa4afbbc7d1c6baaea3998f82786d605a50473f352f28231c1815120f0a0e090e1214181c23282f383f44505b666f7c87929fabb4bfcbd1c4b8ab9f95887c6f6255493c31261a0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000613202d394653606c7985929fabb8c5d2deddd0c3b7aa9d908377695e52463a2d201403000000000000000000000000000000000000000000000000000000000000000000000000000b17222d394653606c7885929eabb8c5d1dedbd0c2b6a99c8f8376675d5145382c1f130600000000000000000000000000000000000000000714212d3a46535e6976828f9caab4bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000006111b262f3846525d68717e8a919ca4aebabfc6c4beb6afaca9a19e9d9b9c9d9fa3aaabb1babfc5c4bdb4aba39892867b6e615a50443a30343f46525e68707d88939fa7b1bcbcb1a79d928a7d70685e53493f33271f160d1113181d20212325272829292827262422211e1a1613100b03000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784909daab7c3cfdad3c6baaea29891847b736d6764615e575c5b5a5959585651493f34291e120600000b1824313e4b5764717e8a97a4b1bdcad7ddd5cdc8c4c3c4c8cdd5ddd1c4b8ab9f95877b6e6154483b31261a0800000000000000000000000000000000000000000000000000000004101c2934404b5564707d8a98a2aebac6d3d5cdc8c4c3c4c8cdd5dde7d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e7dbd0c5bcb4aeacabababababababababababababababababababababababababababababababababababababababababababababababa89b8e8175685b4e4235281b0f00000000000000000000000000060e1720282f383f444e535b60666d71777b8084878a8d8f9193999595969695959993918f8d8a8784807b76716c656059514b53606d7981818181818181818181817a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38414b555f69707d87929fa5afb9c3cdd6cabfb4aaa1968f82786d605a504a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4846423b332a1f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7c87939fabb5c0cbcbbfb4ab9f948d80736c615951454039342e2924211f1b1c1b1c1a1e2123292e343b4149505c606c78839099a3afbdc6d1c9bdb2a89d9083766a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815222e3b4855616e7b8897a2adbac6d3dfd8ccc0b6ac9a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3744505b6575828f9ba8b5c2d0dcdfd2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887b6f62544a3f3428160c020000000000000000000000000000000000000000000000000000000b17222d38414f59616d7a85929ea3adb6bfcbc3bab2aca49f9b9792908f8f9092989d9fa7aeb4bcc5c6bdb4aaa2988f82766c61564c41352a36414c56606b73808d95a0aab4bfb9aea49e92857a6e655b50443c31281d1207070d11131416181a1b1c1c1b1b19171514120e0907040000000000000000000000000000000000000000000000000000000000000000000004101c2934404b556874818e9ba9b3becad6d6cabfb4aaa19691867f7975716e696a686767666565625b51463a2e22150900000b1824313e4b5764717e8a97a4b1bdcad7e6dfd9d4d1d0d1d4d9dfdcd0c3b6a99d908376695e53463a291f1409000000000000000000000000000000000000000000000000000000000c18232f3a4653606d7985929fabb8c5d0dbd9d4d1d0d1d4d9dfe7e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3ece2d7cec5bfbab8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b4a89b8e8175685b4e4235281b0f0000000000000000000000000000050e161d262d333c414950545c60646a6f73777b7d808384868888898989888887868482817e7a77736e6a64605b534f4545515c666d75757575757575757575756e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3a434d57606b727f8c939ea7b1bbc4cfd0c6bcb2a89f948d80736c61584e443d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a75818e99a3afbbc5cfc6bdb0a69d928a7e716b635b514b444039352f2e2b26292828262b2d2f34383f444d535b606e74808d959fabb5c0cfd2c5b9ada1968b7e7164584e43372b180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000a1724313d4a5764707d8a97a9b3becad6e0d4c8bbafa49a8a7d7064574a3d30251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495365727f8b98aab4bfcbd6e0d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000007131f2c38434f5966737f8c9aa4afbbc8bfb4ab9d9083776a5f5342382e23170b000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74818e97a1adb5bfc8c3b9b1a8a19a938e898583828284868b90959fa2aab4bcc5c6bcb4aa9f948a7e71685d52463a2f303a444f59606d79839098a2aebac0b9ada1978f82776c60584e43392f24180f0501040607090c0e0f0f0f0f0e0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3e4b5864717e8b97a1adb9c7d1dbd0c6bcb2a8a198928c85827e7b78777574737372726d62564a3e3124180b00000b1824313e4b5764717e8a97a4b1bdcad7e4eae4e0dddddde0e4e0d4c7bcb1a7988c7f7265574d42362a1e12050000000000000000000000000000000000000000000000000000000007131f2c3845515c6775818e9baab3becad6e2e0dedddee0e4eaf1e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6e3e3e9e0d7d0cac6c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000040b141b22272f383f444a5053585f6266696e71747678797b7b7c7c7c7c7b7b79777674716e6867625f58535049413d404b545c606868686868686868686868615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59626d74818e959fa9b3bdc6d1cec4bab0a69d928a7e716a60564c42392e3030303030303030303030303030303030303030303030303030303030302e2d2a261f180f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e58626e7b87929fa9b3bec9cfc2b8aea49f92867d726d605d55514a45403c3a373136353531373a3b40454a50565e656c73808c929da7b1bdc7d1c8bdb1a89e9184796d6053473c32261b070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000d1a2633404d596673808c99a6b3bfd0dbdfd2c6b9ac9f93867a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3c4955626f7c8898a3aebac7d3e0d7cbbfb4aa978b7e7164584b3e31251806000000000000000000000000000000000000000915222f3b4854606b7784919eacb6c0c7baaea3998b7f7265584e4330261c110600000000000000000000000000000000000000000000000000000005121f2b3744505b656f7c88939fa9b3bec7c4bab1a7a0969188817d79767575777a7e838b9298a2aab4bcc6c6bcb0a69e92857a6d61554b413529323d45515c666e7b86929fa5afbabeb3a99f948c7f726a5f554b40352921170b02000000000001020303020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929eabb5c0cbd7d7cec4bab2aaa29f97928e8a8785838281807f7f7f7265584c3f3225190c00000b1824313e4b5764717e8a97a4b1bdcad7e4f5f0eceae9eaeceaddd1c4b8ab9f95877b6e6154483b31251a0e020000000000000000000000000000000000000000000000000000000004101c2834404b5564707d8a98a2aebac6d3dfeceae9eaecf0f5f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdcad6d6d6d6d6d6dbd6d3d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2cec1b4a89b8e8175685b4e4235281b0f00000000000000000000000000000000020a11171d262d33383f44464e5355575e61646769666d6e6f6f70706f6e6e6d66696764615e5655534e46443f382f39424b51535b5b5b5b5b5b5b5b5b5b5b54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333d47515b606d79839097a1abb4bfcbd7ccc2b8aea49f92867c6f685e544a403428232323232323232323232323232323232323232323232323232323232322211e1a140e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c47535f6974818e97a1adb9c1cccac0baaea29892877f746d67605c54514b48474344434142434246484b51545c60686e777f8c929ca4aeb9c2cfccc4b8aca0958b7e71675c5145382a20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000613202d3a4653606d7986929facb8c5d2dfdcd1c0b3a6998d8073665a4d402d22170b00000000000000000000000000000000000004101d2935404b55636f7c8996a0acbec7c5b9ac9f92867a6d6154473c3121140a000000000000000000000000000000000000000000000000000000000613202d394653606c7883909aa4afbbc5c7bdb2a8a09590847d75706c666869676d71787f869298a2aab4bfcbc2b9ada1978d8074675d5145392c2834404b545f69717e8b939ea8b2bdbbb0a69f92867c6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6773808d99a3afbbc4cdd7d6ccc4bcb4aea9a29f9b979792908f8e8d8c8c83776a5d5144372a1e1104000b1824313e4b5764717e8a97a4b1bdcad7e4f0f0f0f0f0f0f0e4d8ccc0b6ac9d908376695e53463a291f14090000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5d0dbe6f2f0f0f0f0f0f0e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdc9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c1b4a89b8e8175685b4e4235281b0f000000000000000000000000000000000000060b141b22272e34383c4347484d5254575a545c606162626363626261605c545a5754524d4847433c37332d2730394045464e4e4e4e4e4e4e4e4e4e4e4746413b32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353f45515c676e7b859199a3aebac0cad4cac0baaea39891847a6d665c51443f342b201717171717171717171717171717171717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37424d57616d7a85929ea5afbac3cecabfb4aaa299938c8179726d66605d5555534e504f4e4f504d5355555c60666d717a828c929ca4aeb6c0cbcec4baafa59d9184786d60554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667783909daab6c3d0dddbcec1b5a89b8e82756853493f33271b0f03000000000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8e8275685d5246392d20130200000000000000000000000000000000000000000000000000000005111d2935414c5663707d8995a0acb6c0ccc0b5aba09690837a706b63605b54555d60656c727c869298a3aebac4c9beb3a99f92857a6d6054473c32262e39424d57626c75818e96a1abb5c0baaea3999184796d605a50453b2f261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55616e7b86929fa8b2bbc5cdd6d6cec6bfbab3adaba8a9a29f9d9b9a9a998e8174675b4e4134281b0e01000b1824313e4b5764717e8a97a4b1bdcad7e3e3e3e3e3e3e3e3e0d4c8bbafa49a8c7f7265574d42362a170d0300000000000000000000000000000000000000000000000000000000000007131f2c3845515c6774818e9ba9b3becad6e2e3e3e3e3e3e3e3e3d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb4a89b8e8175685b4e4235281b0f00000000000000000000000000000000000000020a11171c23282b31373a3c4246484a4d4b5153555556565655555453514b4e4b4746413b3a37312b27221e272e34383a42424242424242424242423b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232934404b555e696f7d87929fa4aeb8c2ccd6cbbfb4aaa1969082786d605a50463d32291e150b0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c46525e68717e8a939ea8b2bcc5cfc6bcb4aba49f938e847f79716d6765625f585d5c5b5b5d575f6165676d72787e858f949ca4adb6bfc8d0c6bcb2a89d92897d70665c5043392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546874818e9ba7b4c1cedaddd0c3b7aa9d908477655b5044372b1f120500000000000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c4135291d11050000000000000000000000000000000000000000000000000000000713202d3946525d6875818e9ba7b1bec7c7bbafa49991847a6e68605953504a4b51535b606a707d86929fa8b2bdc9c5baaea2988b7e7165584e43372b27303c45505a606d7a849199a4afbbbfb4aba0968e81746c61574d42382d22170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3946525e6974818e96a0a9b3bbc3cad0d6d0cac5bebab8b5b3adabaaa8a7aa988b7e7165584b3e3225180b00000b1824313e4b5764717e8a97a4b1bdcad6d6d6d6d6d6d6d6d6d6d2c6b9ac9f93877b6e6154483b31251a080000000000000000000000000000000000000000000000000000000000000004101c2834404b5563707d8a97a2adbac6d3d6d6d6d6d6d6d6d6d6d6cabdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a89b8e8175685b4e4235281b0f000000000000000000000000000000000000000000060b11171c1f262b2e30363a3b3e414045464848494949494848464540413e3b3936302e2b261f1b17151d23282c2d35353535353535353535352e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118232f39434d57606b717e8b929da6b0bac4ced0c6bcb2a89f948d80746c62584e443b30271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202a36414c56616c75828f96a0aab3bcc6cec6bdb5afa59e96918b847e7a76726f6a6b6a696868696a696e7275797e848a92979fa6adb6bfc8d2c7beb4aaa1968e81746b60544a3f31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7b8799a3afbbc7d3e0d7cabeb1a4978b7e7164584b3e3125180800000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3f4c5966727f8c99a5b2bfccd8dfd2c5b8ac9f9285796c605346392d2013060000000000000000000000000000000005121e2a36424d5764717e8a98a2aebac6c4b8ab9e9185796d6053463a3024190d010000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c3cbbfb4aa9f93877c6f685e564f46443f4145495058606b737f8c96a0acb9c5cabfb4aa9d9083776a5f53473b2e212a333f45525d686f7d87939fa7b1bcbdb2a89d938a7e71695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57606d79849197a1a9b1babfc6cacfd3d0cac6c5c1bebab8b6b5aea298887b6f6255483c2f22150900000b1824313e4b5764717e8a97a4b1bdc9c9c9c9c9c9c9c9c9c9c9ccc0b6ac9c908376695e52463a291f140900000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fabb8c5cfc9c9c9c9c9c9c9c9c9c9c9bdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a39b8e8175685b4e4235281b0f0000000000000000000000000000000000000000000000060b10151a1f21252a2d2e312e34383a3b3c3c3d3d3c3b3b3a38342e312e2d2a25211f1a150f0b0b12181c1f20282828282828282828282821201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626c74808d949fa8b2bcc6d0cec4bab0a69d928b7e716a60564d42392e231810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d1925303a44505a606d79849198a2aab4bcc6cec7c0bbafa9a19e96918b86827f7b7978777674757677787b7e82858b91969ea1a9b0b8bfc8d0c7c0b6aca2989184796d60594f42382e1f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d5c8bcafa295897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000061724313d4a5764707d8a97a3b0bdd2dde0d3c7baaea298877b6e6154483b2e211508000000000000000000000000000000000714202d3a46525e6976828f9caab3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000004101c2934404b5565727f8b98a3aebac7c7baaea3988e81746a60564c443d383335383f444f59606d7984919eaab4becac5b8ab9f95887c6f6255493c2e23212935414c56606b73808c959faab3bebaafa59f92857b6e665b50443d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b45515d676f7c859297a0a7aeb4babec5c6cad0d0d2d0cac6c5c3b8ac9f9285796d6053463a2d20130700000b1824313e4b5764717e8a97a4b1bdbdbdbdbdbdbdbdbdbdbdbdbdbbafa49a8b7f7265574d42362a170d03000000000000000000000000000000000000000000000000000000000000000007131f2c3845515c6674818e9ba9b3bebdbdbdbdbdbdbdbdbdbdbdbdbdb0a3978a7d7064574a3d3124170a000a1724313d4a5764707d8a969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696968e8175685b4e4235281b0f00000000000000000000000000000000000000000000000000030a0f12151a1e20212423282c2d2e2f2f30302f2f2e2d2c28232421201e1914120f09030000070c1013131b1b1b1b1b1b1b1b1b1b1b1414110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d46505a606d78828f96a1aab4bfcad6ccc2b8aea49f92867c6f685e544b40342823190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323e45515d676e7b869298a3aab4bcc4ccccc1bbb2ada8a19e99928f8c88868483828182838485888b8e92979ea0a8adb3bbc2cacfc6beb6afa49a92867c6f675d51473d30261c0d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce2d6cabeb3a994877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995acb6c0ccd8e2d6cabfb4aa96897c706356493d3023160a000000000000000000000000000000000815212e3b4854616e7b87939facb9c5c4b8ab9f95887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000006131f2c3845515c677683909daab4bfcbc5b8ac9f92867a6d61584e443b322b28292d333d45515c67717e8b98a2aebac6c8bcb1a7998d807366544a3f34281c24303a444f59606d78839098a2aebac0baada2979082786c60584e433a2f24190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935404b555f6a6f7c8590959fa2aaadb3b8babfc2c4c5c7cbd1cbc3b6a99c908376665c5044382b1f120600000b1824313e4b5764717e8a97a4b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ac9f93877b6e6154473b30251a0800000000000000000000000000000000000000000000000000000000000000000004101c2834404b5463707d8a97a2adb0b0b0b0b0b0b0b0b0b0b0b0b0b0b0a3978a7d7064574a3d3124170a000a1724313d4a5764707e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8175685b4e4235281b0f0000000000000000000000000000000000000000000000000000000306090e12141517181c1f202222232323222221201f1c18181414110e0806020000000000000406070f0f0f0f0f0f0f0f0f0f0f0807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343f44505c666d7a849198a2aebac0cad3cac0baaea39891847a6e665c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935414c555f69707d869298a2aab2bac2cacdc4bdb9b2acaba39f9c98999291908f8e8e90919297989b9ea2a9acb2b9bec5cdccc4bdb4aca49f93887e706a5f554b41352b1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879aa4afbbc8d4e0dbd0bdb0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929facb9c5cabeb3aa9b8e8175685e52463c3229201c1b222934404b55606d7985929fabb8c5cdc3b6a99c908376665c5044382c1f1e28323d44505c666e7b85929fa5afbabeb3a99f948c7f736a60554c41352921180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d18242f3a434e58606a6f7b838c92989fa2a9acaeb4b5b7b9bbc0bebfc0b3a69a8d807367544a3f34281c100300000b1824313e4b5764717e8a97a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3ab9c908376695e52463a291f1409000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d7985929fa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3978a7d7064574a3d3124170a000814212e3b4754616e7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f6255493c2f22160900000000000000000000000000000000000000000000000000000000000002050708070c10131315151616161615151313100c07080705020000000000000000000000000202020202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545e686f7c86929fa4aeb8c1ccd7cbbfb4aaa1969082786d605b51473d33291f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19242f3a434d57606b707d869298a1a8b0babfc5cec9c4bdb9b4aeaca9aba39f9e9d9c9b9b9c9d9ea2a9a8abadb3b9bdc4c9cec9c1bab2aba39a938b7f726c61584e433a2f231a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939facb9c6d2dfd7cabdb1a4978a7e7164574b3e3124180b0000000000000000000000000000000915222e3b4854606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c1106000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8999a3aebac7c6baaea2988a7d7063564c41342b20170f1118232f3945515d6774818e9ba7b4c1cfc5b8ac9f9285796d6053463a2d20162028343f4a545f69717e8a939ea8b2bdbbb0a69f92877c6f675d51453e332a1e150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313c464e5860696e787f868d92979b9fa2aaa8aaacafb5b1b2b3b3a9978a7d7164574a3e2e23170b0000000b1824313e4b5764717e8a969696969696969696969696969696969696998b7f7265574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c6674818e969696969696969696969696969696969696968a7d7064574a3d3124170a000714202d3946525e686e7070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706f6a5f53473b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000406070809090a0a090808070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a717e8a929ca6b0bac3ced1c6bcb2a99f948e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c454f59616b707d8691969fa6aeb4bcc1c7ccc9c6bfbab9b6b4aeacabaaa9a7a8a9aaabadb3b5b8b9bec5c9cec9c4bdb9afa8a19992887f726d625a50463c31281d1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c4b7aa9d9184776a554b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667885929eabb8c5d1ded7cbbeb1a4988b7e7165584b3e3225180b000000000000000000000000000004101d2935404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3121150a00000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98abb4bfcbc5b8ab9f9285796d6053463a3020190e0507121d2935404b5564707d8a97a9b3bec9c6baaea298887c6f6255493c2f221617232e38424d57616c74818e96a0abb5c0bbafa39991847a6d605a50453b30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d464e575e666d727b80858a8e9298989b9d9fa3aba4a5a6a7a197877b6e6154483b2e2115060000000b1824313e4b5764717e8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a877b6e6154473b30251a0e020000000000000000000000000000000000000000000000000000000000000000000004101c2834404a5463707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7d7064574a3d3124170a0005111e2a36414c565e61636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363625f584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c73808d949ea8b2bcc5d0cfc4bbb0a69d938b7f726b60574d43392f2318110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d474f59616b707c848f949fa2aab0b7bbc1c6cacbc7c5c2bfbab9b7b6b5b4b5b6b7b8b9bec1c5c6cacec8c4beb9b2aca59e9691877e726d625b51483e342a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddaddd0c3b6aa9d9083776a5d50442e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546b7884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c000000000000000000000000000006131f2c3845515d6774818e9aa8b2bdc9beb3a99b8f8275685e5246392d20130300000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8b5c1d1c2b6a99c8f8376665c5044382b1f120700010c18242f3b4854616e7b8797a1adb9c6cabfb4aa988b7e7265584b3f322518111c26303b45505a606d79849199a3afbbc0b5aba0968e81756c61574d42382e23170e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343d454d545c60686e73797e8285898c8f9192999697989a9a9b928578695e53463a2d2114070000000814212e3b4754616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d70695e52463a291f14090000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4653606d787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6e6154473b2e21140800010d1925303b444c525457575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575755534e463c32261b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f1013131313131313131313131313130a090703000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323c46505a606c78828f96a0a9b3bdc7d2cdc2b9afa59f92877d6f695e554b40342923190f0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b353d474f59616a6f7a828b92989ea6aab0b8babec5c6cacfcbc7c5c4c3c2c1c1c3c4c5c6cacfcec8c5c3bcb8b2ada8a09e938f847c716c625b51493f362c22190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e44515e6a7784919daab7c4d0ddd9ccbfb2a6998c7f7366594c403326190d00000000000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7063564c41362a1d110500000000000000000000000000000000000000000000000000000000030f1c28333f4a546a7784919daab7c4cdc0b3a69a8d807367544a3f34281c100300000714202d3a46525e697885929eabb8c5d0c1b4a79a8e8174675b4e4134281b0a151e29333e45515d676f7c87929fa6b0bbbdb2a89e938a7e71695f544a3f342820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019222b333b424a51565e61676d7175797c7f82848688898b8c8d8d8e8f827569574d42362a1e12050000000714202d3a46525e696e7070707070707070707070707070707070707070706b60564d42362a170d0200000000000000000000000000000000000000000000000000000000000000000000000007121f2c3844515c666d7070707070707070707070707070707070707070706e685e5246392d201407000008141e29323b4146474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020202020202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e44505b666d79849197a2abb5c0ccd7cbc0bbaea39991857b6e675c51453f352b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353d474f585f686d787f868f939c9ea6abaeb3b8b9bec1c3c4c6c9cfc8c9c9d1cbc7c5c4c2c0bcb8b7b1aca9a19e96918a817a6f6a615a51493f372d241a10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000071e2a3744515d6a7784909daab7c3d0ddd9cdc0b3a69a8d8073675a4d4034271a0d0000000000000000000000000005111e2a36424d5764717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929fabb8c5cabdb1a4978a7e7164574b3e2e23170b00000005121e2a36424d576976828f9ca9b5c2cec1b5a89b8e8275685b4f4235281c0f0c17212935414b55606a727f8c949fa9b3bebaafa59f92867b6e665c50443d32281e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000710192129303940444d52555d6064676d6f727577797b7d7e7f808181827e7164584b3e31251a0e0200000005111e2a36424d575e6163636363636363636363636363636363636363636360594f443b302519050000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c60636363636363636363636363636363636363636363615e564c41362a1e11050000020d1720293036393b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201b160f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e182228333f4a545d676e7b859299a4afbbc1cbd7cbbfb5aba1979083796d605b51473d33291f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353d464e565e666c727b82898f949a9fa2aaabadb3b4b6b8b9bebbbcbcbcbbbfbbb9b7b5b3b1acaaa7a09d97918c847d756d68605850483f372d251b1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc0b4a79a8d8174675a4e4134271b0e000000000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8073665c504438281e130800000000000000000000000000000000000000000000000000000000000613202d394653606c7986939facb9c6c9bcafa396897c706356493d30231606000000020e1a2530424e5b6875818e9ba8b4c1cec2b6a99c8f8376695c504336291d10060f18242f3a434e58606c78828f97a2adb9c0baaea2989083786d60594f443a3024190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343b41464b5153555c60636568666d6e70717273747575716c6256493d301f140900000000020e1a25303b454d5254575757575757575757575757575757575757575756544f473d32291f140900000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515357575757575757575757575757575757575757575754524c443b3025190d01000000050e171e252a2d2e3030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d3235363939393939393939393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061017222d38424c555f69707d87939fa5afb9c3cdd1c6bdb3a99f958e81746d62594f453b31271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545b60696e757c82898e92989b9ea1a9a7a9abadb3aeafafafafb5aeacaaa9a6a7a09d9995908b847f79706b615d564e463e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1c2935424f5c6875828f9ba8b5c2cedbdbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2a3743505d6a7683909da9b6c3d0dcdacdc1b4a79a8e8174675b4e4134281b0e000000000000000000000000000814212e3b4754616e7b87939facb9c5c4b8aca095887c6f62544a3f3428160c0200000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8799a4afbbc7c8bbafa295887c6f6255493c2f22160900000000091b2734414e5a6774818d9aa7b4c0cdc3b7aa9d9084776a5d5144372a1e110007131d28313d44505b666e7b85929ea5afbabeb4aa9f958c80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151c23283036394045474b51535659545c60626364656767686864625a5045392d210d03000000000009141f29333b4246474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4948443d352b20170d02000000000000000000000000000000000000000000000000000000000000000000000000000007121c2730394044464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413b32291e14080000000000050d14191e202124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242422211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646463d3b38322b23190f04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a434d57616b727f8c939ea7b1bbc5cfcfc4bbb1a79d938b7f726b60574d43392f24181108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575e616a6f757c81858a8f9297989a9c9ea1a9a1a2a3a3a2aba39f9e9c9a9795918c88837e79726d676159524c443c342d241b12090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000f1b2835424e5b6875818e9ba8b4c1cedbdccfc2b5a99c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909daab6c3d0dddacdc0b3a79a8d8074675a4d4134271a0e00000000000000000000000006131f2b37434e5866727f8c99a4afbbc7bfb5ab9d9083776a5f5342382e23170c0000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894abb5c0ccc7bbaea194887b6e6155483b2e221508000000000d1a2733404d5a6673808d99a6b3c0ccc4b7ab9e9184786b5e5145382b1e1205010c161f28333f4a545e69707e8a929da8b1bdbcb1a79f93877d70685d52463f332a1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393a404546494c4a5153555658595a5a5b5c585650483e34291d11000000000000020d17202930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b38332b23190e05000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3936302920170d0200000000000002080d1114141717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535353535353535353534948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d28313c454f59636d75818e95a0a9b3bdc6d1cdc2b9afa59f92877d70695e554b40352923190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008101820282f383f444d525860626a6f74797e8285888b8e909197949595969695959992918f8d8a8784807b77716d67605c554f46413a322b221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2835414e5b6874818e9ba7b4c1cedadccfc3b6a99c908376695d5043362a1d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919daab7c4d0ddd9ccc0b3a6998d8073665a4d4033271a0d0000000000000000000000000815222e3b4754606a7784919dabb5c0c7bbaea3998b7f7265584e4330261c11060000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbbd1c7baada094877a6d6154473a2e211407000000000c1926333f4c5966727f8c99a5b2bfccc5b8ab9f9285786c5f5245392c1f120600040d17222d38424d57616c74818e95a0abb4bfbbafa49991847a6d615a50453c30271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c14191d24292c2e34383a3c3f404446484a4b4c4d4e4e4f4b49453e362d22170c00000000000000050e171f252a2d2e3030303030303030303030303030303030303030302f2c27211911070000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3030303030303030303030303030303030303030302e2d2a251e170e05000000000000000000010507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c606060606060606060606060606056544f473d32271b10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b161f2a333e47515b606d79839097a1abb5bfcbd7cbc1bbafa39992857b6e675d51453f352b21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e161d262d333b42464e54586062676d7175797b7f818385868788898989888887868482807d7a77736e6a65605c55514b433e3530282019100900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000e1b2734414e5a6774818d9aa7b4c0cddadcd0c3b6a99d9083766a5d50432e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a546b7884919eabb7c4d1ded9ccbfb3a6998c807366594d4033261a0d000000000000000000000004101c2934404b55626f7c8996a0acbdc7c5b9ac9f92867a6d6154473c3221150a000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895abb5c0cbc7baaea194877b6e6154483b2e211508000000000d1a2633404d596673808c99a6b3bfccc4b8ab9e9185786b5e5245382b1f1205000006111c262f3b45505a606d79839199a3aebac0b5aba1968f81756c62574e42392e23180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e12181d1f23282c2d302e34383a3b3d3e3f404142423e3d39342d241b10060000000000000000050d141a1e202124242424242424242424242424242424242424242322201c160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2024242424242424242424242424242424242424242421201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212c353f45515d676e7b859299a3aebbc0cbd7cbc0b5aba1979083796d605b51473d33291f160c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c222830363d43474e54555d6064656c6f727476787a7b7b7c7c7c7c7b7b79777673706d6866625f5853514b4540393129241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2734404d5a6773808d9aa6b3c0cdd9ddd0c3b7aa9d9084776a544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b667885929eabb8c5d1ded8ccbfb2a5998c7f7266594c3f3326190c000000000000000000000006131f2c3845515c6774818d9aa8b2bdc9beb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8799a3afbbc7c8bbaea295887b6f6255483c2f221509000000010e1a2734414d5a6774808d9aa7b3c0cdc4b7aa9d9184776a5e5144372b1e11040000000a141d29333e45515d676f7c86929fa6b0bbbdb2a89e938b7e716a5f544b40342820170b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f202323282c2d2f3031323434353531302d29221b12090000000000000000000002090e1114141717171717171717171717171717171717171717161613100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1012131717171717171717171717171717171717171717171414110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020f1c2835414e5a6670767979797979797979797979797979706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232935404b555e696f7d87929fa5afb8c2ccd1c7bdb3a9a0958e81756d62594f453b31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f252a32383d43474b5153535b6062656769676d6e6e6f70706f6e6e6d66696764615e5655534e46454039342f271f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000d1a2633404d596673808c99a6b3bfccd9ded1c5b8ab9e928578665c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5d2dfd8cbbeb2a5988b7f7265584c3f3225190c00000000000000000000000714202d3a4753606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000613202d394653606c7986929facb9c5c9bcafa296897c6f6356493c30231609000000020e1b2835414e5b6874818e9ba7b4c1cec3b6a99c908376695d5043362a1d1003000000020b17212935404b555f6a727f8c949fa9b3bebaafa59f92867c6e665c51453d32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004070c10131316181c1f2022232526272728292524211d17100900000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c69768286868686868686868686868686867d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081118242f39434d57606b727f8b929da6b0bac4cecfc5bbb1a79e938c7f726b60574d43392f2418110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a20272b32373940454749505355585b555d606162626363626261605c545a5754524c4847433c38342e29231d150d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000c1925323f4c5865727f8b98a5b2becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799a3afbbc7d4e0d7cabdb0a4978a7d7164574a3e3124170b0000000000000000000005111e2a36424d5664717e8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657885929eabb8c5c9bdb0a3968a7d7063574a3d3024170800000004101c2934404b556875828f9ba8b5c2cec2b5a89b8f8275685c4f4235291c0f0200000000050f18242f39434e58606c77828f97a1adb9c0baaea2989083796d60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607070c101213151718191a1b1b1c181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f939393939393939393939393897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59626d74818e949fa8b2bcc6d0cdc3b9afa59f92877d70695f554b403529231a0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161b20272b2f35383a3f4446484c4e4b5153545556565655555453504a4d4a4746413b3a37312c28231d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000a1724313d4a5764707d8a97a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895abb5c0cbd7e3d8ccc0b6ac96897c6f6356493c30231609000000000000000000000714202d3a46525e6976828f9ca9b3bec8bcb1a79a8d8074665c514438291e13080000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536a7784919daab7c4cbbeb2a5988b7f7265584c3f3024190d01000006131f2c3845515c677784909daab7c3cec1b4a79b8e8174685b4e4135281b0e02000000000007121d27313c44505b656e7a85929ea4aeb9bfb4aaa0958d80736b60564c41382d22170d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080a0b0c0d0e0f0f0b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313131313131313131313100f0d09050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9f9f9f9f9f9f9f9f9f9f96897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29333d47515b606d78829096a1aab4bfcad6cbc1bbafa39992857b6e675d51453f352c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151b1d24292c2d3337393c3f41404547484849494949484846443f403d3a3936302e2b261f1c18120c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000916232f3c4956626f7c8995abb5c0cbd7e3d8ccc0b6ac95897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdd1dce0d4c8bbafa49a877b6e6154483b2e211508000000000000000000000814212e3b4754616e7b86929facb9c5c5b8aca095887c6f62544a403428170c020000000000000000000000000000000000000000000000000000000000000000000b17222d424f5b6875828e9ba8b5c1cfc1b4a89b8e817568564c4135291d110500000714202d3a4753606d7986929facb9c5cbc0b5ab998c7f7266594c3f3326190c000000000000010b151f27333f49535e68707d8a929da7b1bcbcb1a79f93887d70685e53493f33271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020202020202020202020201e1d1b17110b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020202020202020201c1c1915100a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9acacacacacacacaca396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212b353f44515c666e7a849198a2aebac0cad7cbc0b5aba2979083796d605b51473e332a1f160b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181d1f22272b2d2f322f35393a3b3b3c3d3d3c3b3b3a38342e312e2d2a25211f1a15100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000814212e3b4754616e7a8799a3afbbc7d3e0ddd2bdb1a4978a7e7164574b3e3124180800000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1becbd8dfd2c6b9ac9f9386796d6053463a2d20130700000000000000000006131f2b37434e5866727f8c99a3afbbc7c0b5ab9d9083776a5f5342392e23180c00000000000000000000000000000000000000000000000000000000000000000000061925323f4c5865727f8b98a9b3becac4b7aa9d918477685d5246392d20140a00000916232f3c4956626f7c8999a3afbbc7c7bbafa399897c6f6356493c3023160900000000000000030d17222d38414c56616b74808d95a0aab4bfbbafa49a91857a6d655b50443c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131313131313131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000407090a13131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27221d160e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f151b1f22232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5b9b9b9b9b9b9afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232834404a545e686f7c86929fa4aeb8c2ccd1c7bdb3a9a0958e81756d63594f453c31281d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013171b1f20222524292c2d2e2f2f30302f2f2e2d2b28232421201d1914120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000613202d394653606c7986929facb9c5d2dfd9ccc0b3a6998d8073665a4d403025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0cddaded1c4b8ab9e918578665c5145382c1f13060000000000000000000815222e3b4754606a7784919dabb5c0c7bbafa3998b7f7265584e4330271c1207000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8897a2adbac6c6b9ac9f93877a6d6154473d2f261c110709121e2b37424d5765727f8b98abb5c0cbc5b9ac9f92867a6d6053473a2d201407000000000000000006111b262f3b444f59606d79839098a2aebac0b6aca1978f82776c60584e43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020202020202020202020202020201b1a18140f0801000000000000000000000000000000000000000000000000050b1014161720202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000000000000000040e1720272e33363739393939393939393939393939393736332e2720170e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393939393939393939393635322d261e160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2c6c6c6c6bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071118232e39424c56606a717e8a929da6b0bac3cecfc5bbb1a79e938c7f726b61574d433a2f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f12131519181d20202122232323222221201f1c17171413110d0806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110006121f2b3844505b667784919eaab7c4d1dddbcfc2b5a89c8f827569564c41362a1d110500000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57697683909ca9b6c3cfdcdcd0c3b6a99d9083766a544b4034281c1004000000000000000004101c2834404b55626f7c8995a0acbdc7c5b9ac9f92867a6d6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5c8bbafa49a8b7e7265584e42382d221813131a252d3a47535f697683909ca9b6c3d1c3b6aa9d908377675d5145392c1f13060000000000000000000a141d29323e45515c676e7c86929fa5afbbbeb3a99e948b7f726a5f554b40352920170b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b13191f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b02000000000000000000000000000000000000000000000000000000000b16202932393f4344464646464646464646464646464644433f39322920100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32373b3c46464646464646464646464646464643413e3830281e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfd2d2c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c27303b444e58616c73808d949fa8b2bcc5d0cdc3b9afa59f93877d70695f554b41382d22170f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003050609070d11131415151616161615151312100b06070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100030f1c28333f4a546875828f9ba8b5c2cedbded1c4b7ab9e918478685e5246392d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697885929eabb8c5d1dedacdc0b4a79a8d8174675a4e412e23180c00000000000000000006131f2c3845515c6774818d9aa7b1bccabeb3a99b8f8275685e5246392d201303000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba9b3bec9c0b6ac9d9083776a60544a3f3329242020262b37424d57616e7b88949fabb7c4c9bdb2a89a8d817467554b4035291d1004000000000000000000020b17202834404b555f6a727f8b939ea9b2bdbbb0a69f92867c6f675d51453e32291d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d242b30333439393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000008111a21282c2f3039393939393939393939393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000006111c27323b434a4f515353535353535353535353535353514f4a443b3222190e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b343d4347495353535353535353535353535353534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c46505a606d78828f96a0aab4bec7d2cbc1bbafa49992857b6e675d53493f332721180d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070808090a0a0908080706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000b17222d404c5966737f8c99a6b2bfcfdbded2c5b9aca196877a6d6154473a2e2114090000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8797a1adb9c6d2dfd8ccc0b6ac988b7e7265584b3f322518070000000000000000000713202d3a4653606d7985929fabb8c3c6b9ada1978a7d7064564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b97a1adb9c7c7b8ab9f95897c6f665b50443d352f2d2d31364046535f6973808d99a6b0bcc7c5b9aca196897d7063564a3d2f24180c0000000000000000000000050e18232e39434e58626d75828f96a1abb5c0baaea3989183796d605a50443b2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c3f41464646464646464646464646464646464641403c362f261d13080000000000000000000000000000000000000005101a232c33383c3d464646464646464646464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000a16222e39434d555b5d60606060606060606060606060605e5b554d44342b20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54566060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b343e44505c666d7a849198a2acb6c0ccd7ccc0b5aba2979183796d655b50443e332a1f160b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000061724313d4a5764707d8a97a9b3becad6e1d5c9bdb2a8978a7d7164574a3e31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3becad6e0d4c8bbafa49a897c6f6256493c2f231609000000000000000005111e2a36414c5664717d8a97a2adbac6c5b8ab9e9285796d6053463a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eabb5c0c8bcb1a79d9083786c60594f45403a393a3b4246525c616e7b86929facb8c2cbc0b5ab9e9184786c605346392d20130700000000000000000000000007121d27303c46515b616d7a849199a4afbbbfb4aaa0958d80746c61564d42382d22170d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535353535353535353535353534e4c4841382f251a0f030000000000000000000000000000000000000b16212c353e44484a53535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f55463c32271b0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3225190d00000000000000000000000000010406070a090703000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e192228343f4a545d686e7c86929aa4afbbc1cbd2c7bdb3a9a0958f81776c605a50463c31281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000815212e3b4854616e7b8797a2adb9c6d2dfdacec0b3a79a8d807467574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576774818e9aa7b4c1cfdadfd2c6b9ac9f93867a6d6053473a2d20140700000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e13080000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6773808d99a3afbbc6c3b8ab9f958b7f726b6059514b474646484d535b636e76828f98a3aebac7c7bbafa3998c7f73665b5044382b1f1206000000000000000000000000000b151e2a343f46525e68707d87939fa7b1bcbcb1a79d928a7d70695e544a3f33281f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2b36404a52585a60606060606060606060606060606060605b58534a41362b201401000000000000000000000000000000000004101c28333e474f555760606060606060606060606060606060605b59534a41362b20140200000000000000000000000000000000000000000000000000101d2936434f5b6771777979797979797979797979797979777167584e43372b1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4754606a6f7979797979797979797979797979797670665a4e4135281c0f000000000000000000000001080d111314161613100b0400000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017232e38424c565f6a707d88939fa5afb9c3cdd0c5bbb1a79e938c7f736c61584e433a2f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000714212d3a46535e697885929eabb8c5d1deddd0c3b7aa9d908477695e53463a2d211409000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784919daab7c4d0ddddd0c4b7aa9d918477675d5145392c20130600000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87929faab4bfc8bcb1a79f92867d706b605d5554525354575f616d73808c949eaab4bfcbbfb4ab9f92867b6e61544a3f33281c0f0300000000000000000000000000030c18222935414c56606b73808d959faab4bfb9aea49e92857b6e665b50443d31281d130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c53483c301e130800000000000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c301e130800000000000000000000000000000000000000000000000000111e2a3744515d6a7783868686868686868686868686868683776a605447382e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8686868686868686868686868686868276695c4f4336291c1000000000000000000000040c13191d20212322201b160c06000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303a444e58616c737f8c939ea7b1bbc5cfcdc3b9afa59f93887e706a5f564c42382d22171006000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e2021201e1a140d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a1e2021201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000005121e2a36424d576875828e9ba8b5c1ced9ded1c5b8aca095877b6e6154483b31261a0e010000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0acb8c5d1ded7cbc0b5ab9a8d817467554b4035291d11040000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9083776a5f5442392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946525e6975828e98a2aebac2c2baaea29892867d736d6763615e606164696e767f8c929ca6b0bcc6c7baaea3998f8275695e5242382d22170b000000000000000000000000000000060f1925303a444f59606d78839098a2aebac0b9ada1978f82786c60584e433a2f24180f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e747979797979797979797979797979797979746f64584c3a2f24190d01000000000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979746f64594c3a3024190d010000000000000000000000000000000000000000000000000c1926333f4c5966727f8c9a939393939393939393939395887c6f62544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674808d939393939393939393939393988b7e7164584b3e3125180b000000000000000000050d161e24292c2d302f2c272117110a0300000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28323c464f59606c77818e95a0a9b3bdc7d1cbc1bbafa49a92867c6e685d544a3f332822180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e2d2a251f18120c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181f252a2d2e2d2a251f170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000020e1a25313f4b5865727e8b98a8b2bdc9d5e0d4c8bcb1a7988c7f7265574d42362a1d1207000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a8b1bdc8d4e0d4c7bbafa3998a7d7064574a3d2f24180d01000000000000000815222e3b4754606a7784909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d57616e7b86929fa7b1bdc6bfb4aaa29892878079746f6d686d6e71757b828c919ca4aeb8c2c9bdb2a89f92867b6e62564d422f261c11060000000000000000000000000000000008131e28323d44515c666e7b86929fa5afbabeb3a99f948c7f726a60554b40352921170c02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556774808686868686868686868686868686868686817467564c4135291d1104000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686817467564c4135291d11040000000000000000000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9f9f9f9f9f9fa79a8d8074665c5044382c1f130800000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985919e9f9f9f9f9f9f9f9f9f9f9f9286796d6053473a2d2014070000000000000000050e171f282f35393a3d3b383228231c150c03000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202a343e44505b656d79839097a1abb5c0cbd7ccc0b6aca29891847a6d665b50443e342a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b3a363029241d160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d242930363a3b3a36302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000915222e3b4855616e7b8896a0acb9c5d2ded9cec3b6a99d908376695f5346392f24180c00000000000000000000000000000000000000000000000000000000000000000000000a14202d3a46525e697683909da9b6c3ced9dfd2c5b9ac9f92867a6d6054473a2d2114070000000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b46535f69727f8c959fabb4bdc6bcb4aaa299928d85807c7a79797b7d82868f949ca3adb6bfc8c0b9aca0968c80736a5f53443b301d140a0000000000000000000000000000000000020c16202834404a545f69717e8b939ea8b2bdbbb0a69f92877c6f675d51453e33291e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d67778390939393939393939393939393939393908477685d5245392c20130600000000000000000000000000000003101c28343f4a546673808d939393939393939393939393939393918477685d5245392c2013070000000000000000000000000000000000000000000000000714202d3a46525e6976838f9caab4acacacacacacacab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adacacacacacacacb3a99b8e8175675d5145392c20130600000000000000060f172029313a4145474948443d342e261e150d030000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303030303030303030303030303030300040d182227333f49535d676e7b859299a3afbbc0cbd2c7beb4aaa0968f82786c605a50463c32281e140a000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464746423b352f281f18100701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353b42464746423b33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000714212d3a46535f697784919eaab7c4cedaddd1c4b8ab9f95887b6e61554b4035291c110600000000000000000000000000000000000000000000000000000000000000000006111b2834404a54616e7b87939facb9c6d2dfdcd0c3b6a99d908376685d5245392c2013070000000000000006131f2c3845515c6674808d9aa7b1bccabeb3a99c8f8275685e5246392d201403000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2a36424d57606c78839099a3abb5bec6bcb4aba39f97928d89878686878a8e92989fa6adb5bfc8c0b6ada39e9184796d60574e4232291f0b02000000000000000000000000000000000000040e18232e39424d57626c75818e96a1abb5c0bbaea3999184796d605a50453b30261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000006121f2b3844505c6676838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6054473a2d21140600000000000000000000000000000000000000000000000005121e2a36424d5765717e8b98a3aebab9b9b9b9b9b9ada1978a7d7063564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba9b3beb9b9b9b9b9b9ada1978a7d7063554b4035291d1104000000000000070f182129323a434c515456544f443f3830271f150d0300000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b10101010101010101010101010101010101010100f17222d38414b555f69707d87929fa5afb9c2cdd0c5bcb2a89e948c80736c61584e443a30261c1106000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454d5254524d454039312a2218130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313940454d5254524d453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000005121e2a36424d576774818d9aa8b2bdc9d5e0d4c8bcb1a7998d8073675d5145382e23170c0100000000000000000000000000000000000000000000000000000000000000000b17222d3844515c6673808c9aa4afbbc8d4e0d4c8bcb1a7998c807366564c4135291d1104000000000000000713202d3a4653606d7985929eabb8c3c6b9ada2978a7d7164564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313b44505b666e7c869299a4acb6bfc6bdb5afa9a19e9a969992939a979b9fa3aab0b8bfc9c0b6aea49c91897d70675c51453c3120170d000000000000000000000000000000000000000007121c27303c45505a606d7a849199a3afbbbfb5aba0968e81746c61574d42382e23170d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8999a3afacacacacacacacacacacacafa499897d7063564a3d2d22170b0000000000000000000000000000000713202d3a4653606d7985929facacacacacacacacacacacacafa49a897d7063564a3d2d22170b000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb9c5cfc6c6c9beb3a99b8e8175685d5245392c2014090000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7985929facb8c4cfc6c6c6c5b8ab9e9285796d6053463a2f24180d010000000000071018212a333b444c555d60636059504a423931271f150b01000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c111417171d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1b262f39434d57606b727f8b939da7b1bbc4cfcec3bab0a69c928a7e716a5f564c42382e23171007000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d575e615e57514b433c3429241d160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429343c434b51575e615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000020e1a26313c4956636f7c8996a1acb9c5d2ded8cdc2b8ab9e9285796d60544a3f34281d120700000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606d7985919eacb6c0ccd8ddd1c4b8ab9f95887b6e6255483b2f24190d0100000000000005111e2a36414c5664717d8a97a2adb9c6c5b8ab9e9285796d6053463b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f28333f4a545f6a717e87939aa4aeb5bdc3c0bbb3adaba7aba39f9fa4aca8acaeb4bcc2c4bdb9aea49c928c7f736b60554b40332a200e050000000000000000000000000000000000000000000b151e2a333e45525d686f7c87929fa6b0bbbdb2a89d938a7e71695e544a3f342820160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495366737f8c99abb5c0b9b9b9b9b9b9b9b9b9c0b5ab998c7f736653493f33271b0f0300000000000000000000000000000916222f3c4955626f7c8898a2aebab9b9b9b9b9b9b9b9b9c0b6ac998c807366544a3f33281c0f030000000000000000000000000000000000000000000000000914202c3945525d6875828e9ba9b3becad6dacfc5b8ac9f92867a6d6054473b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d6d2d5c9bdb2a89a8d8074665c5044382c1d13070000000000071019222a333c454d565e676d706b605c544b433931271d1207000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2123242a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a28313b454f59626d74818e959fa9b2bcc6d1ccc1b8aea49f92867c6f685d544a3f342822180e05000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e69605d554e463f352f281f1810070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010710181f282f353f464e555d60696e695e52463a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000913202d394653606c7884919eabb7c2cdd8dfd2c6b9ada2978b7e71665c5044392f24180c030000000000000000000000000000000000000000000000000000000000020b17212b3744505b65717e8a97a1adbec7d2ddd7cbc0b5ab9d9083776a5f53473a2e1e1308000000000000000714202d3946525e6875828f9ca9b3bec8bcb1a79a8d8074665c514538291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b17222d38424e58616c717e88939fa3abb1bbbfc5beb9b8b3b4aeacacafb6b5b8babfc6c0bab2ada49d928d80736d63594f43392f21180e00000000000000000000000000000000000000000000030c18212935414c56606b737f8c949fa9b3bebaafa59f92857b6e665c50443d32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ca8b5c2d1c6c6c6c6c6c6c6d2c2b5a89c8f8275655b5044372b1f120500000000000000000000000000000c1825323f4b5865727e8b98aab4bfcac6c6c6c6c6c6c6d2c2b5a99c8f8276665b5044382b1f120600000000000000000000000000000000000000000000000004111d2935414c5664707d8a97a2adbac6d3dfd3c7baaea3988b7e7165574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875828f9caab4bfcad6ded2c5b9aca096897c6f62544a3f34281c0c0100000000040f19222b343c454d575e686d7a7c736d665c554b43392f24180f050000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121a22282d30313636363636363636363636363636363636363636363636363636333d47515b606d79839096a1aab4bfcbd7cabfbaaea29891847a6d665c50443e342a20160c030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b756d675f585045403a312a2218130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318222a313a404550585f676d757b6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000005121f2b3744505b6573808d99a7b1bcc8d4e0d6cabeb3a99d9184786d60554b4035291e150b00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606c7883909da9b3bed0d9e0d4c7bbafa3998b7f7265574e42372b1e0c01000000000000000814212e3b4754616e7a86929facb9c5c5b8aca095887c6f62544b403428170d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c46505a626c727f8b9299a0a7aeb5bbc0c7c5c0bfbab9b9bbc0c1c5c4c2bbb7afa8a19e928d80746e635b51473d31271d0f060000000000000000000000000000000000000000000000060f19242f3a434f59606d78829097a2adb0b0b0ada2979083786d60594f443a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929fabb8c5d2d2d2d2d2d2d2d2d1c5b8ab9e9285796c605346392d2013060000000000000000000000000005111d2a36414c566874818e9ba7b4c1d0dbd2d2d2d2d2d2d2c5b8ab9f9285796c605346392d201306000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929fabb8c4cedad6cbbfb4aa9c908376695e53463a2d21160a000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c00000000000a16212b343d464e575f696e7a838680786d675d554b40352921170d0300000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e434343434343434343434343434343434343434343434343434343434345515c676e7a849198a3aebac0cad6cabfb4aaa0968f82786d605a50463c32281e150a0000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d81796f6a625a514b433c3429241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429343c434b515a626a6f79817d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000030f1b27333f4953626f7b88959fabb8c3ced9dbcfc5b8aca0968b7e72675d51453c30271d120700000000000000000000000000000000000000000000000000000006111b262f3844505c66717e8a95a0abbbc4cfe2dfd2c5b9ac9f92867a6e6154473c31261a0e0000000000000006131f2b37434e5865727f8c99a3afbbc7c0b5ab9d9084776a605442392e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343e48505a626d727f8790959fa3abafb5b8bcbfc0c1c2c2c1c0bebcb8b6b0aba59d96918a80776c605c524940352b1f150b0000000000000000000000000000000000000000000000000008131e28313d44505c666e7b85929fa5a3a3a3a3a99f948c80736b60564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897a2adbac6d3dfe4e0dfe0e4dfd2c6b9ada297887b6e6255483b2f221507000000000000000000000000000713202d3946525e687784919eaab7c4d1dddfdfdfdfdfdfd3c6baaea298887b6f6255483c2f2215080000000000000000000000000000000000000000000000000008131f2c3845515c6674818e9aa8b2bdc9d5dcd0c6b9ac9f93877b6e6154483d32271b0f00000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3e2d4c8bcb1a7998c807366584e4330261c110600000000030f1b27323d464e585f696e7b8490938d82796d675d51453f33291f140900000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222c363e45494a5050505050505050505050505050505050505050505050505050505050504b555e686f7c86929fa4aeb8c2ccd0c6bcb2a89f948d80736c61584e443a30261c110600000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86837c716c605d554e463f352f281f181008010000000000000000000000000000000000000000000000000000000000000000000000000000000000010810181f282f353f464e555d606c717c83867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000b17222d3847535f6a7683909da8b2bdc8d4e1d4c8bdb2a89e9185796d60584e42392e2318110700000000000000000000000000000000000000000000000000060f17222d38414d57606d7884919ea7b1bccdd6e1d4c7bcb1a79c8f8275685e5246392a201509000000000000000815222e3b47545f6a7783909dabb5c0c7bbafa3998c7f7265584e4330271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222c363f48515b626d727c838c92999fa3ababb1b2b4b4b5b5b4b4b2b1acaaa69f9c938e847d746c655b504a40372e231a0d0300000000000000000000000000000000000000000000000000010c161f28343f4a545e69717e8a93969696969696969692877d6f685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a9b3becad6ddd8d4d2d4d8ddd6cabeb3a9978b7e7164584b3e2f24180d010000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dee0dedddedfe1d6cabeb4aa988b7e7265584b3f3025190d0100000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded4c8bbafa49a8c7f7366584e43372b1c120700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697683909cabb5bfcbd7ddd1c4b8ab9f95887b6e6255483d3222150a000000000007131f2c38434e58606a6f7b8491969f948f82796d605b51453b31251a0e04000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c28333e485055575d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d56606a717e8b929da6b0bbc7d3cec4bab0a69c928a7e716a5f564c42382e23170c06000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f867e756d675f585145413a312a2219130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319222a313a414551585f676d757e868f8275675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000006111b2b37434e5864717d8a96a0acb9c4cfdad9cec3b9ada1978c80736a60544b403428231910070000000000000000000000000000000000000000000000060f182127333f49535f69727f8b96a0acb9c3cddfdcd1c4b8ab9f95897c6f63564c41362a1e110500000000000004101c2834404b54626f7c8895a0acbdc7c5b9ac9f92867a6e6154473c3221150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a242d363f49515b626a6f787f878e92999d9fa7a5a7a8a8a8a8a7a5a7a09d99948f89817a706b605b53493f382e251c1108000000000000000000000000000000000000000000000000000000040d17232e38424d57616c74818a8a8a8a8a8a8a8a8a8a8a847a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c566874818e9ba7b4c1cfd9d2ccc8c6c8ccd2d9cfc0b4a79a8d817467554b4035291d11040000000000000000000000000a1724303d4a5763707d8a96a8b2bdc8d4d9d4d1d0d1d2d5dad0c1b4a79b8e817468564c41362a1d1105000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d8ccc0b6ac9d9184776a605447392e23180c00000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53473a2e21140300000000000915222e3b4854606a6f7c859196a0a69f948e81756d62574d42362a20150a000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3945505a616469696969696969696969696969696969696969696969696969696969696969696969696c74808d949fabb7c3d0d6ccc2b8aea49f92867c6f685e544a3f342822170c0000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727f8b928b81796f6a625b514b433c3429241e160d0700000000000000000000000000000000000000000000000000000000000000000000000000070d161e2429343c434b515b626a6f79818b928b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000f1a26313c4653606c7884919ea9b3bec9d5dfd5c9beb3a99f92877c6f665c51453f352b22191107000000000000000000000000000000000000000000060f18212a333c44505b656e7b86929fa8b2bdcbd5e1d4c8bdb2a89d9083766b6054443b3025190e0200000000000006131f2c3845515c6674808d9aa7b1bcbebeb3a99c8f8275685e5246392d2014030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d373f4951585f666d737c81878c909596999a9b9c9b9b9a989695908c88827d746d686159504941382d261c130a000000000000000000000000000000000000000000000000000000000006111c26303b45505a606d797d7d7d7d7d7d7d7d7d7d7d7d7b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e687784919daab7c4d0d0c7c0bbb9bbc0c7d0d0c3b6aa9d908377675d5145392c201306000000000000000000000003101c28343f4a546673808d99a6b3c0ced5cdc8c4c3c5c6c9cfd1c4b7aa9e918477685e5246392d2013070000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4ddd2c7b8aca096897c6f62544a4034281c100400000000000000000000000000000000000000000000000000000000000000000006131f2b37434e5866727f8c9aa4afbbc8d4e0d4c7bbafa3998b7f7265574d42372b1e120600000000000916232f3c4956626f7c859297a1a8b0a69e938b7e72695e53463c32271b0f010000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c717676767676767676767676767676767676767676767676767676767676767676767676767678838f9ca9b6c2cfdcd4cac0baaea29891847a6d665c50443e34281d1105000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b8795938e847c726d605d554e463f352f281f19100801000000000000000000000000000000000000000000000000000000000000000000010810191f282f353f464e555d606d727c848e9395877b6e6154483b2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000a151f2b3844505b66727e8b97a1adb9c3cdd9dacfc4bbafa3999083796d605a50473d342b2318120b030000000000000000000000000000000000020a1117212a333c454f59606c77828f98a2aebac3ceddd9cfc7b8aca0968a7d7064594f4332291e1408000000000000000713202d3a4653606d7985929eabb1b1b1b1ada2978a7d7164564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f464e545c606a6f757b7f83878a8c8d8e8f8f8e8d8b898783807b76706b605d564f443f382f261b140a010000000000000000000000000000000000000000000000000000000000000a141e29333e45515d676d7070707070707070707070706e695e53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb8c5d2c7beb6afacafb6bec6cec5b9ac9f92867a6d6053473a2d201407000000000000000000000006121f2b3844505c6676838f9ca9b6c2cfcbc3bcb8b7b8b9bec5cdc5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000030f1b27333f4953626f7b8895a0acb8c7d2ddd4c8bdb2a89a8d8074665c5144382c1f13080000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7784919dacb6c0ccd8dfd2c5b9ac9f92867a6e6154473c31261a0e0200000000000714212e3a4754616d7a828b9298a3abafa59f92867b6e61584e43372b1e13080000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e838383838383838383838383838383838383838383838383838383838383838383838383838383909daab7c3d0dddcd6cabfb4aaa1968f82786d605a5045392d211508000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697784909d9691867e756d675f585145413a312a2219130c0400000000000000000000000000000000000000000000000000000000000000040c1319222b313a414551585f676d757e8691969d908377695e53463a2d1d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000030f1c28333f4a54606d7985919ea7b1bcc8d4dfd7cbc0b5aba0958d80746c62594f473d3528231c150c08020000000000000000000000000001080b141b2227333c454d57616b727f8c949faab4bfccd5dcd1c7bdb0a69d9184786c6053463d3220170d0200000000000005111e2a36414c5664707d8a97a1a5a5a5a5a5a59f9285796d6053463b3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d343c424a51585f62696e73777a7d7f8181828281817f7d7a77736e6a636059524c433e332d261d140a0200000000000000000000000000000000000000000000000000000000000000020c17212935404b555d60636363636363636363636363615e574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a8b2bdc8ccc0b6aca49fa4acb4bcc6c7bbafa399897c706356493d3023160900000000000000000000000713202d3a4653606d7985929facb8c5cdc3b9b1acaaabadb3bbc5c8bdb2a8968a7d7063574a3d2e23170c00000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7d9cec3b8ab9e9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acbec7d2ddd6cabfb4aa9c8f8276685e5246392a1f15090000000000000713202d3946525e686d757f869299a3afaea3988e81756a6054473a2f24190d0100000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b909090909090909090909090909090909090909090909090909090909090909090909090909095a0acb8c5d1dee7dbd0c6bcb2a89f948d80746c6155493d3023170a0000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a098928b81796f6a625b514c433c3429241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429343c434c515b626a6f79818b9298a0998d807366574d42362a1e0c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000b17222d3845515c67717e8b95a0acb8c1cdd6dcd1c7bdb1a79d928b7e716b60594f473e342e271e19140f0a0602000000000000000205090e13191d262d333d454e575f69707d87929fa6b0bcc6d0ded7cbc0b5ab9f948a7d70665b5044382b1f1205000000000000000713202d3946525e6875828f9898989898989898988d8174675c514538291e1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b222a303940444e53575e6166686e707274757575757472706e6866625f58544f45413a3127221b140b02000000000000000000000000000000000000000000000000000000000000000000050f18242f39434b515357575757575757575757575754534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b546673808d99a6b3c0cec8bbafa49a939aa2aab4bfcac0b5ab998c7f7266594c3f31261a0e02000000000000000000000916222f3c4955626f7c8898a2aebac6c8bcb1a7a09d9ea1a9b3bec9c0b3a6998d807366544a3f34281c10030000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4dfd2c6b9ada1978a7d7064564c4135291d11040000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6673808d9aa7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000005111d2a36414c565e616d727d87929fa5afaa9e93887c6f62564c4135291d110400000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9da0a7b1bcc8d4e0ede2d8cec4bab0a69d928a7e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000020e1a25313c4956636f7c8997a1a39f938e847c726d605d554e463f352f281f1910080100000000000000000000000000000000000000000000000000020810191f282f353f464e555d606d727c848e939fa3a197897c6f6256493c31251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000006111c2934404b55606c7883909da5afbbc5d0d9d9cfc3b9aea49f92877d6f6b605950444039302a251e1a15120f090b0a0a0a0b090e12141a1e24292f383f444f575f696e7b859299a3afb8c2ced7d9cfc7bbafa3998f82766c61544a3f33281c0f03000000000000000714212e3a4754616d7a868b8b8b8b8b8b8b8b8b8b897c6f62554b403428170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010910181e272e343c43474d5354565e6163666768696868676563615e5655534e48443d352f281f17110a02000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045474a4a4a4a4a4a4a4a4a4a4a4a4846423b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c667683909ca9b6c3cfc6b9ac9f93869298a2aebac7c2b5a89b8f827568574d42362a1e1205000000000000000000000c1825323f4b5865727e8b98aab4bfcac4b8aca095909297a1adb9c6c2b6a99c8f8376665c5044382c1f120600000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dcd6cabeb3a99b8e8275685d5245392c201409000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabb8c3cededfd2c5b8ac9f92857a6d6053473b3025190700000000000000010d1925303a444c525b626b727f8c939eaaafa59b8e8174685d5245392c20130600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9aaacb1b9c3ced9e4f0eae0d6ccc2b8aea49a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000913202d394653606c7985929eaba59e9691867f756d675f585145413a312b2219130c040000000000000000000000000000000000000000000000040c1319222b313a4145515860676d757f8691969ea5ab9e9285796c605346392d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000c18232f3944505b666f7c89939ea9b3bec7d2ddd5cbc0bbaea39992867d6f6b615a514a423d36302b26211f1a181817161718181a1e21252a2f353c41495059606a6e7b849197a2abb5c0cad4dcd1c7bdb2a89f92877c6e62594f42382d22170b00000000000000000815222e3b4855616e7b7e7e7e7e7e7e7e7e7e7e7e7e716a605443392e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232831373b4246484c525457595a5b5c5c5b5a585654524c4847433c383329241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a3d3d3d3d3d3d3d3d3d3d3d3d3b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5cfc2b5a89c8f8286929facb8c5c5b8ab9e928578695f53463a2d21140700000000000000000005111d2a36414c566875818e9ba8b4c1d0c3b7aa9d908385929eabb8c5c5b8ac9f9285796d6053463a2d20130700000000000000000000000000000000000000000000000000000a15202d3a46525e6976828f9caab4bfcbd6dacfc5b9ac9f92867a6d6054473c31261a0e02000000000000000000000000000000000000000000000000000000000004101c2834404b5563707c8996a1adb9c5d2dfd5c9beb3a99b8e8175675d514539291e1408000000000000000008131e29323a41465159626d75828f98a2aeac9f92867a6d6054473a2d22170b00000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b7b8bcc3cbd5dfe7e7e7e8ded4cac0b4a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000006121f2b3844505b6674818e9babafa8a098928b817a6f6a625b524c433d3429241e160d07000000000000000000000000000000000000000000070e161e2429343d434c525b626a6f7a818b9298a0a8afab9b8e8174665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000007121d28333f4a54606b75818e97a1acb6c0ccd8ddd7cbbfb5aba29892867d716c605c544e46413b37312e2b2625242423242425262b2d31363a41454e535b606b707c859196a1a9b3bdc7d1dcd7cbc0b5aba0968d80746a5f53473e2f261c110600000000000000000714212d3a46535f696e7272727272727272727272716c62584e4330271d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31363a3b4146474a4c4e4e4f4f4e4e4c4a4746413b3a37312c272119130c04000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d24292c2d3030303030303030303030302e2d2a251f170f050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8998a3aebac7cec2b5a89b8f8284919eaab7c4c6b9ada197887b6e6155483b2e2215070000000000000000000713202d3946525e687784919eaab7c4cec1b4a89b8e8183909daab6c3c6baaea298887c6f6255493c2f221608000000000000000000000000000000000000000000000000000005111e2a36424d5764717e8b98a3aebac7d3e0d3c7baaea3998b7e7265574d42372b1e1205000000000000000000000000000000000000000000000000000000000006131f2c3845515c6774818e9aa8b2bdc9d5dfd2c6b9ada197897d7063554b4035291d10040000000000000000020c17202930363f47515b616d7a86929facaea2988b7e716453493f33271b0f03000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c5c8ced5dbdbdbdbdbdbdbdacdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000030f1c28333f4a5464717d8a99a3aeb2aaa39f938e847c726d605d564e463f352f282019100802000000000000000000000000000000000002081019202830353f464e565d606d727c848e939fa3aab2aea3998a7d7164544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000010b17222d38424f59616e7a85929aa4afbbc3ccd6dcd1c6bdb4aaa29892867e746d666058524c47433c3a37313231303030313231373a3b42464c52575f656c727d859197a1a8b2bbc5cfd9d5ccc3bbafa3999184796d60584e43352c1d140a00000000000000000005121e2a36424d575f61656565656565656565656565625a50463d321e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f252a2d3036393b3d3f4142424242413f3d3b3936302e2b26201c160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000040c12181d202024242424242424242424242421211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98aab4bfcbcec1b4a89b8e8183909ca9b6c3c9beb3a9978a7e7164574b3e2f24180c0000000000000000000714212e3a4754616d7a8796a0acb9c5cdc0b4a79a8d80838f9ca9b6c2cabfb4aa988b7f7265584c3f3025190e0200000000000000000000000000000000000000000000000000020e1a25303b4754606d7a86929facb8c5cfdbd7cbbfb4ab9c908376695f53463a2d21160a00000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c4cfdaded1c5b8ab9e9285796d6053463a2f24180d01000000000000000008110e171e252a353f46525d6874818e9ba8b1aa9b8e8175655b5044372b1f1205000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2becbcecececececececececececececececececececececececececececececececececececececececececececececdc1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000b17222d3a4754606d7a86929facb9b4aea59e9691877f756d6860585145413a322b2219130c04000000000000000000000000000000040c1319222b323a4145515860686d757f8791969ea5aeb4b9ac9f92867a6d6054473a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000006111c262f3d46525e68707d88939fa7b1bac4ced7d8cfc5bcb4aaa298928a80786f6a615e56534e484743403f3e3d3d3d3e3f404246484d53565d606a6e777f879297a1a9b2bac4cdd7d6cdc3bab0a69f92877c6f675d51463c31231a0b02000000000000000000020e1a26313b454d53555858585858585858585858585650483f342b200c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21252a2d2e303334353635353432302e2d2a25211f1a15100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1013141717171717171717171717171514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8b5c2d0cdc0b4a79a8d81828e9ba8b5c1cfc0b3a79a8d807467554b4035291d100400000000000000000a1724313d4a5764707d8a97a8b2bdc9ccbfb3a6998c80828f9ba8b5c2d0c1b4a89b8e817568564d41362a1e110500000000000000000000000000000000000000000000000000000914202c3945515d6775828e9ba9b3becad6dcd1c6b7ab9f94887b6e6155483d32271b0f0707070707070707070707070707070707070707070707070707070707111d2935414c5664707d8a97a2adbac6d6e0d4c8bdb2a89a8d8074665c5044382c1d1207000000000000000007111a232a3135383935414c56636f7c8995a0acab9e9285796c605346392d201306000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2bec1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b4a79a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000613202c3945525d6876828f9ca9b6bfbaafa8a099928b817a6f6a625b524c443d3429241e160e0600000000000000000000000000060e161e2429343d444c525b626a6f7a818b9299a0a8afbabfb6a99c8f8276675d5145392c1c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000a141d2a36414c56616b74808d95a0a8b2bcc5cfd8d7cec5bcb4aaa29f928d837c746e68625f5855534e4d4b4b4a494a4b4b4d4d5355575e61686d737b828c9299a1a9b2bbc4ccd6d7cec4bbb2a89f948c7f726a60554b41342a201108000000000000000000000009141f29333b4246484b4b4b4b4b4b4b4b4b4b4b4b49453f362d22190f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191e20212426272829292827252321201e1914120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0a0a0a0a0a0a0a0a0a0a0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697885919eabb8c4d1ccc0b3a6998d80808d9aa7b3c0cdc3b6aa9d908377675d5145382c1f13060000000000000003101c28343f4a546673808d99a6b3c0cecbbfb2a5988c7f818e9ba7b4c1cec4b7ab9e918478685e5246392d201407000000000000000000000000000000000000000000000000000004111d2935414c5564707d8a97a2adb9c6d2dfd3c7bcb0a6998c807366594f43382c1d13131313131313131313131313131313131313131313131313131313131313202c3945525d6875828f9ba9b3becad6ded2c5b8aca096897c6f62544a3f34281c0c0100000000000000030e19232c353c41454646464854606b7784919daaada197877b6e6154483b2e211508000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4b4a79a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000000000000000000000004111d2935414c5665727f8c98a8b2bdc1bab2aba39f938e847c726d605d564e463f3530282017110a02000000000000000000020a1117202830353f464e565d606d727c848f939fa3abb2bac1bdb2a8988b7f7265554c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000020b1925303b444f59606d78839096a1a9b3bcc6cfd7d7cec5bcb4aea49d959087817a746e6a66625f585a585757565757585a575f6165696e747a80868f949fa3abb3bbc4cdd6d6cec5bcb3a9a0968f82786c60584e433a2f22180e000000000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3e3d39342d241b10070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205080e11141417191b1b1c1c1b1b19171414110d080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1adb9c6d2cbbfb2a5988c7f7f8c99a5b2bfccc5b9ac9f92867a6d6053473a2d2014070000000000000006121f2c3844505c6676838f9ca9b6c2cfcabeb1a4978b7e808d9aa6b3c0cdc5b9aca196877a6e6154473b2e2114070000000000000000000000000000000000000000000000000000010d19242f3a4653606d7985929eabb8c4cedad8cdc2b7aa9e9184776b605448392e2320202020202020202020202020202020202020202020202020202020202020212d3a4754606d7a86929facb9c5d0dbddd1c4b7aa9e9184776a605442382e23170c000000000000000008141f2a353e464d51525353534f596774818e9aa7b3a996897d7063564a3d3023170a000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a79a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000010d19242f3b4855616e7b8896a0acb8c1bab6b4aea59e9691877f756d6860585145413a3227221b140b0400000000000000040b141b2227323a4145515860686d757f8791969ea5aeb4b6bbc1b8aca096887b6e6155483b2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000008141e29323e45515c666e7b849197a2aab4bcc5ced6d7cec6bfbaaea7a09a938e86817b76726e6a6967656463636364656769696e72767b80858d92999fa6afb5bdc5cdd6d6cdc5bcb4aaa19791847a6d665b50463d31281d0f0600000000000000000000000000060f181f262a2d2e323232323232323232323232302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0c0e0f0f0f0f0e0c0a08070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a9b3bec9d5cabdb1a4978a7e7e8b97a4b1becac7bbafa399897c6f6356493c30231609000000000000000713202d3a4653606d7985929facb8c5d2c9bcb0a396897d7f8c98a5b2bfcbc9bdb2a8978a7d7064574a3d2e23180c00000000000000000000000000000000000000000000000000000008131f2c3845515c6674818d9aa8b2bdc9d5ded2c5b9aca096897c6f63554b40342d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d36424d5765717e8b98a3aebac7d7e1d4c7bcb1a7998c7f7366584e4330261c110600000000000000000d1925313c4650585d5f606060606066737f8c99a6b2a5988b7f7265584c3f3225190c000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b989b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000000000000000000000000814212d3a47535f697784919daab7b7afaaa8acafa8a099928b817a6f6a625b524c443d332d261d160e060000000000060e161d262d333d444c525b626a6f7a818b9299a0a8aeaca8aab0b8b7aa9d918477695f53473a2d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101010101010101010105121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000020d17202834404b545e696f7c859298a3aab3bcc4cdd8d8d0cac0b9b1aca49f98928e87837f7b787673727170707071727376787b7f83878d92989fa3abb0bbc0c7cfd6d7ccc4bbb3aaa29891857b6e685e544a3f342b1f160c000000000000000000000000000000060d141a1e212225252525252525252525252524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c556774818d9aa7b4c0cfdac9bcb0a396897d7d8996a3b0bcd0cbc0b5ab988c7f7265594c3f31251a0e020000000000000916222f3c4955626f7c8898a2aebac6d3ccc0b6ac95887c7e8b97a4b1becacec0b3a69a8d807367544b4034281c1004000000000000000000000000000000000000000000000000000004101c2834404b54636f7c8996a1acb9c5d2ded5c9bdb2a89a8d8174675c51453a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a46525e6976838f9caab4bfcbd7ddd1c4b8ab9f95887b6e6155483d3222150a000000000000000000101d2935414d58626a6c6c6c6c6c6c6c717e8b97a4b1a6998c807366594d4033261a0d000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576773808d9aa9b3afa59e9b9fa3ababa39f938f847c726d605d564e443f382f282017110a0200020a111720282f383f444e565d606d727c848f939fa3abaaa29f9b9ea6b0b3a99a8d807367574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a0e0e0e0e0e0e0e0e0e0e0e0e0e121e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000050e18232e39424d575f6a707d869298a2aab3bbc3ccd2d9d6cbc3beb6afaaa39f9a93908c888582807e7e7d7c7d7e7e808285888c9093999fa2aaaeb4bdc2cbd1d9d1cbc2bab2a9a19892867c6f695f564c42382d22190d040000000000000000000000000000000003090e1214151818181818181818181818181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001050707090a0b0b0b0c0c0b0b0a0907070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677784909daab7c3d0d6cabfb4aa95887c7c8895aab4bfcad1c2b5a89b8f827568574d42362a1e12050000000000000c1825323f4b5865727e8b98aab4bfcad4c8bbafa49a877b7d8a96a3b0bdd2cfc3b6a99c908376665c5145382c1f13060000000000000000000000000000000000000000000000000000000c18232e394653606c7884919eabb7c3cdd9d9cec4b8ab9f9285796d60534646464646464646464646464646464646464646464646464646464646464646464646464754616e7b87939facb9c6d1dcd7cbc0b5ab9d908376695f53463a2d211403000000000000000000121f2b3845515d6a7479797979797979797d8996a3afa79a8d8074675a4d4134271a0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181818181817f7165584b3e3225180b00000000000000000000000000000000000000000000000000000000000000000000020e1a26313d495663707c8997a2adaa9e938e9299a1a8aea59e9691877f756d6860585049413a3227221b140b050b141b2227323a4149505860686d757f8791969ea5aea7a098928f939eaaada297897c706356493d31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a1a1a1a1a1a1a1a1a1a1e2b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000007121d27303b454e58606b707e869298a1a9b1bbc0c7d0d7d5d0c7c0bbb4aeaca49f9d9997928f8d8b8a8a898a8a8b8d8f9197989c9fa4abaeb4babfc6cfd7d7cfc7c0bbb0a8a09792867d706a5f574d443a2f261c100700000000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0b0b0905010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070a080d11131416171718181918181717161413110d080a07070401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facb9c6d2d3c7baaea298877a7a8798a2aebac6d1c4b8ab9e918578695e53463a2d211407000000000005111e2a36414c566875818e9ba8b4c1d0d2c6b9ac9f9386797c8995acb6c0ccd2c5b9ac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000007121f2b3744505b6573808d99a7b1bcc8d4dfd3c6baada2978a7d716456535353535353535353535353535353535353535353535353535353535353535353535353535865727f8c99a4afbbc7d4e0d3c7bbafa3998b7f7265574d42372b1e1205000000000000000000131f2c3946525f6c798586868686868686898f99a5b4a79b8e8174685b4e4135281b0e000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b70757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575716d62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929faba89b8e818791969ea6aea8a199928c827a6f6a605b534c443d332d261d160e161d262d333d444c535b606a6f7a828c9299a1a8aea59d959086828f9ba8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242727272727272727272727272727272b3845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000b151e29333c464f59616c707d869197a0a7afb6bec4cbd1d9d2ccc6bfbab6afaca9a9a19e9c9a989796969697989a9c9ea1a9a9acafb5babec5cbd1d8d1cbc4bdb5afa69f9691857c706b60584e453b32281d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080d1113141719191d2021222424252525252524242221201d1919171413110d080503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8999a4afbbc7d4d2c5b8ac9f9285797985929facb8c5d2c6b9ada197877b6e6154483b2e21150700000000000713202d3946525e687784919eaab7c4d1d1c4b8ab9e9185787b879aa4afbbc8d3c7baaea398897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000030f1b27333f4953626e7b8895a0abb8c7d2ddd6cabeb3a99b8f8275686060606060606060606060606060606060606060606060606060606060606060606060606060606a7783909dabb5c0ccd7dfd2c5b9ac9f92867a6d6154473c31261a0e02000000000000000000131f2c3946525f6c7985929393939393939699a1abb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f59616368686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686865625a50453a2e211509000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675818e9baba6998c7f7c848f949fa3ababa39f938f847c726c655d564f443f382f28201720282f383f444f565e656c727c848f939fa3abaaa29f938e837b818e9ba7ab9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d3031343434343434343434343434343434343845515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000030c17212a343d47505a616b707c8590959fa4acb3bbc0c7cfd4d8d1cbc7c0bbb9b6b3adaba9a6a5a4a3a3a3a4a5a6a9abadb3b6b9bbc0c7cad0d7d4cfc6bfbab2aba39f9490847b6f6a60594f463c332920160b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607080808080808080808080808080808080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b101213191e20212426252a2d2e2f3031313232323131302f2e2d2a25262321201d1913120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546673808c99abb5c0ccd7d0c4b7aa9d9184777784919daab7c4d0c9beb2a9978a7d7164574a3e2e23180c00000000000714212e3a4754616d7a8796a0acb9c5d2d0c3b6a99d9083767986939facb9c6d2cbbfb4aa988c7f7265594c3f30251a0e020000000000000000000000000000000000000000000000000000000b17222d3847535f6a7783909dabb5c0ccd7dbcfc5b9ac9f92867a6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6e7b8895a0acbdc7d2ddd6cabfb4aa9c8f8275685e5246392a1f140900000000000000000000131f2c3946525f6c7985929f9f9f9f9f9fa3a5abb3b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e474f55575b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717e8a99a4a99d9083767a828b9299a0a8aea69e9691877f776d6860595049413a32272227323a4149505960686d777f8791969ea6aea7a098928a81797985929eaba3998a7e7164544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d414141414141414141414141414141414145515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000050f18222b353e485059606a6f7b838d939aa1a9afb5bdc1c8ccd2d6d2ccc8c6c3beb9b8b6b3b1b1b0afb0b1b1b3b5b8b9bec3c6c7ccd2d5d1cbc7c1bcb4aea8a199928c827a6e6960584f473d342a21170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141515151515151515151515151515151414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090f11171c1f20252a2d2e30333036393a3c3d3e3e3e3f3f3e3e3d3c3a39363033302d2c2924201f1b17110e09020000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6676828f9ca9b5c2d2ddcfc2b5a99c8f827676828f9ca9b5c2cfcfc0b3a79a8d807467554b4034281c1004000000000a1724313d4a5764707d8a97a8b2bdc9d5cec1b5a89b8e82757885929eabb8c5d1d1c1b5a89b8e827568574d42362a1e120500000000000000000000000000000000000000000000000000000006111b2b37434e5865727f8c99a4afbbc7d4e0d3c7bbaea3998b7f7979797979797979797979797979797979797979797979797979797979797979797979797979797979808d99a7b1bcd0d9dfd3c6baaea2988a7e7164564c41362a180e0300000000000000000000131f2c3946525f6c7985929facacacacacafb1b6bdb4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353e44484a4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c010000000000000000000000000000000000000000000000000000000000000000000000000c17232e3a4754616d7a86939fac9f93877a6e757f8791969ea5aea8a199928c827a6f6b605b534c443d332d333d444c535b606b6f7a828c9299a1a8ada49d9590867e746f7c8997a1ac9f92867a6d6154473a2e23170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d515e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000061019232c363e474f585f696e79808891979fa3abb0b9bbc0c7cacfd2d4d2cfc9c6c5c2c0bebdbdbcbdbdbec0c2c4c6c9cfd2d4d2cfc9c7c0bbb9afaaa39f96918780786e685f574e463d352b22190f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2022222222222222222222222222222221201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10151a1c23282b2d3036393a3d4042414647494a4a4b4b4c4b4b4a4a49474641423f3d3a3935302d2b27221b1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fabb8c5d2dacdc1b4a79a8e817474818e9aa7b4c1cdd0c3b6a99d908376675c5145382c1f130600000003101c28343f4a546673808d99a6b3c0ced9cdc0b3a69a8d80737784909daab7c3d0d1c4b8ab9e918478695e52463a2d201407000000000000000000000000000000000000000000000000000000000f1a26313c4754616e7b87939facb9c6d0dbd7cbbfb5ab9b918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868d929ca8b9c3cde2dfd2c5b8ac9f9285796d6053473a3025190d0100000000000000000000131f2c3946525f6c7985929facb8b9b9b9bcbdc1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33383c3d4242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242423e3d3a342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000613202d3946525e687683909ca9a49a8b7e716d727c848e939fa2aaaba39f948f847d726c655e564f443f383f444f565e656c727d848f949fa3aba9a29f928d837b716c73808c99a9a99c908376685e5246392d1c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055575a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5e6b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000007111a242c353d464e575f676d747d858d92999ea6acafb6b9bec4c6c9cfd1d2d2d1cfcdcbcac9c9c9cacbcdcfd1d2d2d0cfc9c5c4beb9b5afaca59e98928d847d736d665e564d453c342b231910070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10171c20262b2e34383a3c4146474a4c4f4c5254555757585858585857575554524c4f4c4a4745413c3937332d2a251f1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7c8898a2aebac6d3d8cbbfb2a5988c7f72727f8c99a5b2bfcfd2c5b9ac9f9286796d6053463a2d20130700000006121f2c3844505c667683909ca9b6c3cfd8cbbeb1a5988b7e7275828f9ca8b5c2cfd2c5b9ada196877b6e6154483b2e211507000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6dcd1c6bdada39b989393939393939393939393939393939393939393939393939393939393939393939393939393939393999ca4aeb9cbd5dfd5c9beb3a99b8e8174675d514539291e13080000000000000000000000131f2c3946525f6c7985929facb8c5c6c6c9cacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f3035353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353532312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5666727f8c99a8ac9c8f8275676a6f7a818b9298a0a7aea69e9691877f776d68605950494149505960686d777f8791969ea6aea79f97928a80796e69697783909daaa8998c7f7266564c4135291d0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a616467676767676767676767676767676767676767676b7884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000008111a232b343c454d555c606b707a81878f949c9fa4acadb3b8b9bec2c4c6c7ccd2cccdcececfcececdccd1cbc7c5c4c2bdb9b7b3adaba39f9b938e86807a6f6b605c544c443c332b221911070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e161c22282d3137383f4446494c525457595c565e616263646465656564646362615e565b595654524c4946443f3836302c27211b150d0802000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98aab4becad6d6cabeb3a9968a7d70707d8a97a9b3becad3c7baaea399897c6f6256493c2f2316090000000713202d3a4653606d7985929facb8c5d2d5c9bdb2a896897c7074818d9aa7b4c0cdd5c9bdb2a8978a7e7164574a3e2f24180c0000000000000000000000000000000000000000000000000000000005111e2a36414d5664717e8b98a2aebac7d3e0d8cfbfb5ada7a5a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a6a8aeb6c0cadddfd2c6b9ada197897d7063554b403529170c020000000000000000000000131f2c3946525f6c7985929facb8c5d2d2d6dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282524211d181109000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303c4855626f7b8896a1ac9f9286796d60676d757e8691959da5aea8a199928c827a6f6b605b534c535b606b6f7a828c9299a1a8aca49f9590857e746d67616e7b8795a0aca196887b6f6255483c3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c707474747474747474747474747474747474747474747884919eabb7c4d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000081119222a333b434b515960686d747c82898f939a9ea1a9abadb3b5b7b9bbc0bfc0c0c1c2c2c2c1c0bfbfc0bbb9b7b5b2adaba9a19e99928f89817b736d676059504a423b322a2119100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2731394045474848484848484848484848484848484746413b32291e14080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b141a21282c33393c43474a505356565e616366686a686d6f7071717172727171706f6d686a686663605d565553504946423b38322b272019130c04000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d566875818e9ba8b4c1d0dbd3c6baada297877b6e6e7b8797a2adbac6d3cbbfb4ab988b7f7265584c3f3025190e0200000916222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6d727f8c98a5b2bfced9cfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000020e1925303b4754606d7a86929facb8c5cfdae1d0c7bfb8b3b2acacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacb3b4b9c0c8d1dcded1c4b8ab9e9185796d6053463a2f241807000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe2dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416171b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3a47535f6a7884919eaba2988a7d70635d606c717c838e939fa2aaaba39f948f847d726c655e565e656c727d848f949fa3aba9a19a938d837b716c605c65727e8b98a7ab9e9184786a5f53473a2e1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8080808080808080808080808080808080808080808086929facb8c5d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000710182129303940454f565e616a6e757d82878d92979b9ea1a9a8aaacafb5b2b3b3b4b5b5b5b4b3b3b2b5afacaaa8a8a19e9a97918c87827c756e69605d554f443f38302920180f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b515355555555555555555555555555555554524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f262b33383e44494e53545c606366686d70737577797a7c7d7d7e7e7f7e7e7d7d7c7a79777572706d686662605b53524d48433d373229241e160e07000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687884919eabb7c4d1ded2c5b8ab9f9285796c697885929fabb8c5d2d1c1b5a89b8e827568564d42362a1e110500000c1925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e91847868707d8a96a8b2bdc9d5d0c3b6a99d908376675d5145382c1f1306000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3becad6e2d9d0c9c3c0beb9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9c0c1c5cad1dae1d4c8bdb2a89a8d8074665c5044382b1d1207000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586774808d9aaaaa9a8e8174655b5a626a6f79818a9298a0a7afa69e9691877f776d6860686d777f8791969ea6afa69f97928880786e69615a5d6775828f9ca8aa9a8d807467584e43372b1f0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9298a2aebac6d0c3b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000000000000060f171e272e343d444c52585f626b70767b80858a8e9197999c9e9fa4aba5a6a7a7a8a9a8a7a7a6a5aba39f9d9b9896918e8a85807b756f6a615f57514c433d342e261e170e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c60616161616161616161616161616161615e564c41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c232831373e44485055585f62666d6f73777a7d7f82848587888a8a8b8b8b8b8b8a8a88878584827f7d7a76736f6c65615e57544e47433c3530282018120b0300000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8796a1acb9c5d2dccfc2b5a99c8f8276656976828f9ca9b5c2cfd1c4b7ab9e918478695e52463a2d2014070005111e2a36414c566875818e9ba8b4c1d0dbcec1b5a89b8e8175686d7a8796a0acb9c5d2d2c5b9ac9f92867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000004111d2935414b5563707d8a97a1adb9c6d2dfe2dbd4cfcccbc6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6cccdd0d5dce3ded1c5b8aca096887c6f62544a3f34281c1003000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313d4a5663707d8998a2ab9e9184786c6053585f676d747e8690959da4ada8a199928c827a706b707a828c9299a1a8aca49f9490857d736d665f5753606d7a86929faca298897d7063564a3d31261a0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa2aab4bfcad0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000060c151d2328323a41464e53596063696e73797d8185888c8f9193999799999a9b9b9c9b9b9a9999979992918f8c8884817d79736e69626058534d45413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e171e262e343c42464f555a61646a6e73797c8084878a8c8f91929895969797989898979796959892918e8c8986837f7c78736e69626058544e45413a3228231d150c05000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a8b2bdc9d5d9ccbfb3a6998c8073666673808c99a6b3bfced2c5b9aca196877a6e6154473b2e211407000714202d3946525e687784919eaab7c4d1d6cbbfb4aa988b7f7265687784919eaab7c4d1d3c7bbaea399897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c4ced9e5e6e0dcd9d8d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d9dadde1e7eaddd0c4b7aa9d9184776a605442382e23170b00000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d3a4653606d7985929faca197887c6f62554e555d606c717b838d929fa2a9aba39f948f847d757d848f949fa3aba9a19a938d827b706b605c544d5364707d8a98a3ac9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7acaeb4bcc5d0d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000030b1218202930363c43474f54575f61676d7174787c7f828486888a8c8d8d8e8f8f8f8e8d8c8c8a888684827f7b7874706d66615e57544e46423b352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081019202930383f444d535961636c70767b8085898d909596999b9d9fa2aaa3a4a4a4a5a5a4a4a3aaa29f9d9b999a93908c88847f7b756f6a626058524c443e342e271e170e06000000000000000000000000000000000000000000000000000000000004101d2935404b556773808d9aa6b3c0cedad5c9bdb2a8968a7d706363707d8a96a8b2bdc9d5c9bdb2a8978a7d7064574a3d2e23180c000814212e3b4754616e7a8796a0acb9c5d2d3c7baaea398897c6f626875818e9ba8b4c1d1d7cbbfb5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000007131f2c3844515c6674818d9aa8b2bdc9d5e1edece8ebe3ddd7d4d2c9c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8cacbced3dae1e7e9edece0d3c7bcb0a6998c7f7366584e4330261c110600000000000000000000000000131f2c3946525f6c7985929facb8c5d2dadadacec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6775828f9baca9998c807366574d4b515a61696e79808a92979fa6afa69f969187828791969fa6afa69f97928880786e696159514a505b6574818e9aaaac9b8f8275675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b8babfc5ced7d0c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000070e171e252a31373d44484d53555c6064656c6f7275777a7c7e7f8080818282828180807f7d7b797775726e6a6764605c54524d47433d363129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8888888888888888888888888888888275695c4f4236291c0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222a323a424a50575f616b70777d83888d9297999da0a7a6a8aaacaeb4b0b0b1b1b2b1b1b0b0b4aeacaaa8aca49f9d9996918c86827c756f6a605d5650454039302920180f060000000000000000000000000000000000000000000000000000000006131f2c3845515d677683909da9b6c3d0dcd2c5b9aca096877a6d61616d7a8796a1acb9c5d2cec0b3a69a8d807367544a4034281c10040a1724313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9286796d6065727f8c98abb5c0cbd7d1c2b5a89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000004101c2834404a54636f7c8996a0acb9c5d2deeaf5ebe2d9d2ccc7c6bcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbec2c8cfd8e1ebf6eaddd0c4b7ab9f94887b6e6155483c3222140a0000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5565717e8b9aa4aa9d908377695e52464550575f666d747d8590949fa4aca9a199928e9299a1a9aba39f948f857d736d665e574f444653606c7884919eaba49a8b7e7165554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c5c6cad0d7d3d0c3b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000050c131920262b33383c42464b5153535b60626669676d6f717273747475767574747372716f6d676865625f585753514a46423b37322a261f19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88949494949494949494949494948f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c343c444c545c60696e767d838a90949a9ea1a9aaacb1b2b5b7b8babfbdbdbebebebebebdbdbfbab8b7b5b6afaca9a8a19e99928f89827c746d68615a514b423b322a21180f060000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2ddd1c4b7aa9e918477685e5e687884919eabb7c4d1cfc3b6a99c908376665c5144382c1f1206101c28343f4a546673808d99a6b3c0ced9cfc3b6a99c908376665c636f7c8999a3afbbc7d4d1c5b8ab9e928578695f53463a2d21140700000000000000000000000000000000000000000000000000000000000c18232e394854606b7784919eaab7c3cdd8e4eee3d9d0c7c0bbb9afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafb0b2b6bdc6cfdae4efe3d7cbbfb5ab9c908376695f53463a2d2114020000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3b4754616e7a87939faca095877b6e6154483e454d545c606c707b838d939aa1a9aba39f9b9fa3aba9a199928c827a706b605c544d453e4955626f7c8896a1ac9f93877a6e6154473b2e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3c0c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c3b6aa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000002080d151a21272c3137394045464950535559555d60626466666768686968686766666462605c555955534e4a4644403936302b27201a140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a1a1a1a1a1a1a1a1a1a19d9083766a5d5043372a1d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a232c353e464e565e666d727b828a90959c9fa6abadb3b7b8bcbfc2c4c5c7cad0cacacbcbcbcacad0cac7c5c4c1c0bbb9b6b2acaba39f9c948f88817a716c605c544d443c332a21180f060000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aebbc7d3dbcec1b4a89b8e81756856566875818e9ba8b5c1d1d2c5b8ac9f9286796d6053463a2d201307121f2c3844505c667683909ca9b6c3cfd9cdc0b3a69a8d80736754606d7a86929facb9c5d2d2c6b9ada197887b6e6155483b2e221507000000000000000000000000000000000000000000000000000000000007121c2c38434f596673808c99a7b1bcc8d4e3e8ddd2c7bdb5afaca3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3a6acb4bdc8d3deede0d3c7bbaea3998b7e7265574d42362a1e12050000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e687783909daaa7988b7e7265554b403c424b515a61696e78808891979fa6afaca8acafa69e9691877f786e686059504a423b414d5666737f8c99a9a99d908376685e5246392d1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7b3b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b6aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000030a0f161c1f262b2e34383a3f4446484c4b51535557595a5a5b5c5c5c5b5a5959575553514b4c4847433d3a38342e2a251f1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adaeaeaeaeaeaeaeaeaa9d9083776a5d5044372a1d0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c353e474f585f686d787f868f949da0a7abb0b8b9bec3c5c8ceced0d2d3d6dbdbd6d3d2d2d4d8dbd6d3d2d0d2ccc8c6c3bdb9b5afaca69e9c938e857e746d665e564e453c332a21180d04000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abb5bfcbd7d7cbbfb4aa988b7f7265585965727f8c98abb5c0cbd3c7baaea398887c6f6255493c2f22160813202d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064575d677783909daab7c3d0d5c9beb3a9978a7e7164574b3e2f24180d0100000000000000000000000000000000000000000000000000000000000f1b27323d4855626e7b88959fabb8c7d1dce3d7ccc0b5aba49f9695959595959595959595959595959595959595959595959595959595959595979aa2acb6c2cedaecdfd2c5b9ac9f92867a6d6154473b31261a0e020000000000000000000000000000131f2c3946525f6c7985929fa7a7a7a7a7a7a7a7a7a7a79b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5666737f8c99a9a99c8f8276675d51453939404550575e666d737d858f949fa3abb2aba39f948f847d736c665e564f443f383946525e687783909daaa9998c7f7366564c41362a1e0b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa7adadadadadadadadadadadadadadadadadadadadadadadadadadadadaa9d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000050b10141a1d23282c2d3337393c3f404547484b4c4d4d4e4f4f4f4e4d4d4c4a484645403f3b3a37312d2c28231c1a140f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793aab4bfbbbbbbbbbbbbb7aa9d9184776a5e51442f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222c353e474f59616a6f7a828c92989fa6abb1b7bcc2c6c9cfd1d4d7d4d2d0cccac9d0cac6c5c6c8ccd2cacccfd2d3d7d4d2cec9c7c0bbb9b0aaa59d97918a81786e685f574e453c332a1f160b02000000000000000000000000000000000000000000000006121e2b37424d576975828f9ca8b5c2d1dcd3c7baaea398897c6f625656636f7c8999a3afbbc7d3cbbfb4aa988b7f7265584c3f3025190d16222f3c4955626f7c8898a2aebac6d3d2c5b9aca196877a6e6154556774818e9aa7b4c1d0dacfc0b4a79a8d817467554b4035291d110400000000000000000000000000000000000000000000000000000000000a16212e3a47535f697783909dabb5c0cbd7e0d4c7bbafa4999389888888888888888888888888888888888888888888888888888888888888888a909aa6b2becbd7e2d6cabeb4aa9c8f8275685e524639291f1409000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303c4955626f7c8896a1ac9f92867a6d6053473a2e343e454d545c606b707a828c9299a1a8a199928c827a706b605b544c443d342e3b4754616e7a87939faca196887c6f6255493c3025190e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d9aa0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09d9083776a5d5044372a1d1100000000000000000000000000000000000000000000000000000000000000000003090e12181c1f22272b2d2f2f35383a3c3e3f4041414243424141403f3e3c3a38342e2f2e2b26201f1c18120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798698a2aebac6c7c7c7c7c4b8ab9e9185786b564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343d474f59616b707c8490949fa2aab0b8bcc3c7cdd2d5d6d3d1cbc7c5c3c0bdbcbbbfbab8b9bbc0bcbdbfc2c5c7cbd1d2d5d5d1cbc7c1bbb7afa9a19e938e837a6e6a5f574e453c31281d140a00000000000000000000000000000000000000000000000814212e3a47535f697885929eabb8c5d1ded2c5b9ac9f9286796d605353606d7a86929facb9c5d2d0c1b4a89b8e817568564c41362a1e111925323f4c5865727f8b98aab4bfcad6d1c4b7ab9e918478685e525865717e8b98aab4bfcad6d0c3b6aa9d908377675d5145392c201306000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d4dfd2c6b9ac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7e8a97a3b0bdcad6dfd3c6baaea2988a7e7164564c413529180d03000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d394653606c7884919eaba3988a7d7064544a3f3328333b424a505960686e787f8791969e9691877f776d686059504a423b322834404b5565717e8b9aa4ab9e9184786a5f53473b2e1e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808d93939393939393939393939393939393939393939393939393939393939393939083776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000070c1013171b1f202224292c2d2f313333343535363535343333312f2d2c282322211f1a1312100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667985929facb8c5d2d4d4d2c5b9ac9f928679685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464f59616b707d8691969fa6aeb4bcc2c8cdd3d8d6d0cac6c5c0bbb9b6b3b0afaeb4aeacacafb6afb0b2b6b9babfc5c6c9cfd5d7d4ccc7c1bbb3ada59d9590847c6e6a5f574d433a2f261b1106000000000000000000000000000000000000000000000815222f3b4855626e7b8897a1adb9c6d2dcd0c3b6a99d908376665c51515d677783909daab6c3d0d1c4b7aa9e918477685e5246392d20131e2a36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c55626f7c8898a2aebac6d3d2c5b9ac9f92867a6d6053473a2d2014060000000000000000000000000000000000000000000000000000000000020e1a26313c4754616e7a86929facb9c5d0dbd4c7bbafa4998a7e716f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f727f8c98a5b2bfcbd8ded2c5b8ab9f9285796d6053473a3025190d010000000000000000000000000000000e1b2834414e5b6774818181818181818181818181818181817e7165584b3e3225180b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaa9b8e8174665b5044382b2930383f444f565e666c727d848f938f847c726c655e564f443f382f292c3845515c6775828f9bacaa9a8e817467584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a2734414d5a6774808686868686868686868686868686868686868686868686868686868686868686868683776a5d5044372a1d11000000000000000000000000000000000000000000000000000000000000000000000000000004060b0f121315181d1f20222426272728292929282726262422201f1c181514120f0a060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a546b7784919eaab7c4d1dde0d3c7baaea399877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58616b707d869298a1a8b0babfc6ced4d9d7d0cac6bfbab8b5afaca9a6a4a2a1aaa29f9fa4aca2a3a6a9acaeb4b8b9bec5c9cfd6d7d3cdc4beb9afa79f9691857c6e695f564c41382d22170b020000000000000000000000000000000000000000000b1825313e4b5864717e8b97a9b3becad6dacdc0b3a79a8d807467544b4b556774818d9aa7b4c0d0d2c5b9aca096877a6d6154473a2e2114202d3946525e687784919eaab7c4d1d6cabfb4aa988b7f7265584c53606d7985929facb8c5d2d4c7bbafa399897c706356493d2d22170b0000000000000000000000000000000000000000000000000000000000000915202d3946525e6876828f9caab4bfcad6d7ccc0b5ab9c8f827568626262626262626262626262626262626262626262626262626262697683909da9b6c3d0dcd5c9beb2a99b8e8174675d514538281e1308000000000000000000000000000000000d1a2733404c58646e74747474747474747474747474747474716d62564a3d3124170b000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364707d8a98a3ab9e9285796c605346392d20262e343d444c545b606b6f7a8289827a6f6a605b534c443d332d26202d3a4653606d7985929faca3988a7d7063574a3d32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000030506070c1013141518191a1a1b1c1c1c1b1a1a1917151313100c07080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e43505d697683909ca9b6c3cfdce3d7cbbfb4ab94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2935414c555f6a707d869298a2aab2bac2cad0d8d9d1cbc5bebab4aeacaba39f9d99979695949892939a959697999c9fa3aaabadb3b9bdc4cad0d7d6cfc9c0b9b1a9a19791857b6e685d53493f33271d140a000000000000000000000000000000000000000005111d2935414c566774818e9aa7b4c1cfdad5c9beb3a9978a7e7164574b4b5865717e8b98aab4becad5c9bdb2a8978a7d7064574a3d2e2317212e3b4754616e7a8796a0acb9c5d2d3c7baaea298887c6f625549505c667683909ca9b6c3cfd7cbc0b5ab998c7f736653493f33271b0f03000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8b98a2aebac6d3ddd2c5b9ac9f92867a6d6155555555555555555555555555555555555555555555555555616e7b88959fabb8c4d1ddd2c6b9ada197897d7063554b403529160c02000000000000000000000000000000000b1824303c48535c646768686868686868686868686868686865625a50453a2e211509000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4753606d7a86929faca197897c6f6256493c31261c2328323b424a505960686d757c756d6860585049413a3228221c23303d4a5663707d8998a2ac9f92867a6d6053473a2d20140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c666d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d675d5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0c0d0e0e0f100f0e0e0d0c0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061c2835424f5b6875828e9ba8b5c1cedbe7dcd1bcafa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515d676e7c869298a3aab4bcc4ccd6dbd7cfc7c0bbb3aeaaa29f9a9992908d8a8988878685868788898a8c8f9298999ea1a9adb2babec5ced5dad5cbc2bbb2a9a19791847a6d655b50443c2f261b1106000000000000000000000000000000000000000713202d3946525d687784919daab7c4d0ddd2c6b9ada197877b6e6154484855626f7b8898a2aebac6d3cec0b3a6998d807366544a3f34281c24313d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053464a546773808d9aa6b3c0cfdad1c2b5a89c8f8275655b5044372b1f12050000000000000000000000000000000000000000000000000000000000020e1925303b4753606d7a86929facb8c5cfdad3c7bbafa3998b7e7265574d4949494949494949494949494949494949494949494e5866737f8c99a7b1bcc8d4ded1c4b8ab9e9184786c605346392f24180600000000000000000000000000000000000814202b36414a53585b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585650483f34291d1105000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945515d6775828f9ca8a9998d807366574d42362a1e1720292f383f444f565d616b706b605d564e443f382f2920171f2b37434e586774808d9aaaa89c8f8275675d5145392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b545c6060606060606060606060606060606060606060606060606060606060606060606060605d554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9e3d6cabdb0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a43505a606d79849198a2aab4bcc6ced6ddd5cdc5bdb5afaaa29f98928d8a8683807d7c7b7a7979797a7b7c7d7f8386898d92979ea1a8adb3bcc3cbd3dbd4cdc4bbb3a9a0968f82776c60584e41382d22170b000000000000000000000000000000000000000714212e3a4754616d7a86939facb9c6d2ded1c5b8ab9e928578695e53464653606c7985929fabb8c5d2cfc2b6a99c8f8376665c5044382b1f2834404a546673808d99a6b3c0ced9cfc3b6a99c908376665c50444b5764717e8a97a9b3becad6d1c5b8ab9e9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000814202c3945515d6775818e9ba9b3bec9d5d7cbc0b5ab9c908376695e53463c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c47535f6a7784919daab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1d12070000000000000000000000000000000000030f1a252f3841484c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a453f362d22180c01000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5565727e8b98a7aa9d908477695f53463a2d2114171d262d333d444c525960636059524c443d332d261d1715212e3a47535f6a7884919eaba7988b7e7265554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424b51535353535353535353535353535353535353535353535353535353535353535353535353514b43392f24180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926323f4c5965727f8c98a5b2bfcbd8e4d8cbbeb1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c56616c75818f96a0aab4bcc6cfd8ddd4cbc3bbb3aba39f98928c86807d7a7673716f6e6e6d666d6d6e6f707376797c80858b91969fa2a9b1b9c1c9d2dad6cdc4bbb2a89e948c7f736a5f53493f33271c12070000000000000000000000000000000000000a1724303d4a5763707d8a9aa4afbbc8d4dbcec2b5a89b8f827568574d4244505b6676838f9ca9b6c2cfd2c5b8ac9f9285796d6053463a2d202c3844515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f4855616e7b8897a1adb9c6d2d2c6b9ada297887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000004111d2935404b5563707d8a97a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c322f2f2f2f2f2f2f2f2f2f2f2f2f2f2f333f4953626f7c8895a0acb8c5d4ded1c5b8aca095887c6f62544a3f33281c0f0300000000000000000000000000000000000008131d262f363c40414141414141414141414141414141413e3d3a342d241b110600000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3b4854616e7b8795a0aca095887b6e6155483b2f24190b141c2228323a41464f5456544f45413a3227221b140b15222f3c4855626f7b8896a1aca095877b6e6154483b2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039404546474747474747474747474747474747474747474747474747474747474747474747474745403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131413100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1bdcfdae6d9cdc0b3a69a8d8073675a4d4034271a08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202c3945525d68717e8a939ea8b2bcc5cfd8dfd4cbc2b9b1a9a299928c85807a74706d676664636261605c606162636466676d7073797f848b9297a0a7afb7c0c8d2dcd6cdc3bab0a69f92877c6e655b5044392e23180c000000000000000000000000000000000003101c28343f4a546673808d99acb6c0ccd8d7ccc0b5ab998c7f7266594c3f3f4a546673808d99a6b3c0cfd3c6baaea298887c6f6255493c2f222d3a4653606d7985929facb8c5d2d5c9bdb2a8978a7d7064574a3d46535f697885929eabb8c5d1d6cabeb3a9978b7e7164584b3e2f24190d010000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985929eabb8c3ced9d4c8bbafa49a8c7f7266584e43372b222222222222222222222222222b3744505b6573808d9aa7b1bcc8d4d8ccc0b6ac9d9184776a5f5342382d22170b00000000000000000000000000000000000000010b141d252b30333435353535353535353535353535353532312e29221b12090000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaa7988b7f7265564c4135291d110a1117202830353d44484948443d3530282017110a111d2a36414c5666727f8c99a8aa9d908377695e52463a2d1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a38352f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f201f1c18120f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3bec9d5e1dbcec2b5a89b8f8275685c4f423024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2a36424d57606d7a85919ea5afbac3ced7e1d6cdc2b9b1a7a0979287807a736d6863605d555756555453515354555657555c6063676d72797e8590959ea5aeb6c0cad4ded5ccc1bbaea3999083776c60544a4034281c11060000000000000000000000000000000006121f2c3844505c6676838f9ca9b6c2d2ddd4c7bbafa499897c706356493d3d4a5764707d8a97a8b2bdc9d5cabfb4aa988b7e7265584b3f30252f3c4955626f7c8898a2aebac7d3d2c5b9aca096877a6d6154473a424d576976828f9ca9b5c2cfdbcfc1b4a79a8e817467564c4135291d110400000000000000000000000000000000000000000000000000000000000007131f2c3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9184776a5f5347382d221716161616161616161616202d394653606c7884919eabb7c3ced9d4c8bbafa49a8c7f7266584e432f261c11060000000000000000000000000000000000000000020b131a202427282828282828282828282828282828282524211d181109000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a9a99c8f8276685d5245392c201306060e161e242932383b3d3b383229241e160e060713202d3946525e687683909ca9a9998c807366574d42362a1e0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c29241d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151d23292c2d2c29231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8797a1adb9c6d2dfddd0c3b6aa9d9083776a564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a46525e6974808d97a1adb7c1ccd5e0d9cfc5bbb1a79f9590857d736d68615e5654514c4a4948474644464748494a4b5153555d60666d717b838e939da4aeb8c2ccd6ded7cbbfb5ab9f948b7e71665c5144382e23170b000000000000000000000000000000000713202d3a4653606d7985929facb8c5d2dfd2c6b9ac9f93867a6d6054473a3b4754616e7b8796a1adb9c5d2d0c1b4a79b8e817468564c413529323f4c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e524639404d596673808c99a6b3bfcedad0c3b7aa9d908477685d5245392c20130600000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb9c5d2ddd2c7b8aca095887c6f62544a3f33281c0f09090909090909101c2834404b5563707c8996a1adb9c5d5dfd2c6b9ac9f93877b6e6154483c3221140a0000000000000000000000000000000000000000000001080f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181715110c0600000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313c4956626f7c8997a1ac9f92867a6d6054473a2e23170b00040c131921272c2f302f2c272119130c04000714212e3a4754616d7a86939faca197897c6f6256493c30251a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f2020202020202020202020202020202020202020202020202020202020202020202020201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f272f34383a38342f2b26201a140d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d687885919eabb8c4d1deded2c5b8ab9f928578685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c56616e7b86929fa9b3bec9d3dedcd1c7bdb3a99f9590837b706b605d56524c4745413e3c3b3b3a383a3a3b3c3d4045474b51545c60696e79818d929da6b0bac4ced8dcd1c6bdb0a69e9184796d60544a3f34281c10030000000000000000000000000000000916232f3c4956626f7c8998a2aebac6d3ddd0c3b7aa9d908477675d5145393a46525e697884919eabb8c4d1d0c4b7aa9d918477685e5246392d36414c566875818e9ba8b4c1d0dbcec1b4a89b8e817568564c41363d4a5763707d8a96a8b2bdc9d5d2c6b9ac9f93867a6d6054473a2d211406000000000000000000000000000000000000000000000000000000000000000c17232e384754606a7784919eaab7c2cdd8d4c8bcb1a79a8d8073665b5044382b1f1207000000000006131f2c3845515c6774818e9aa8b2bdc9d5d7cbbfb5ab9c908376695e53463a2d21140200000000000000000000000000000000000000000000000003080b0d0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0b0b0905010000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a1117202d394653606c7985929eaba3998a7d7164544a3f34281c10030002080d161b20222322201b160d08020004101c2834404a5464717e8b99a4ab9e9285796c605346392d2017110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c101313141414141414141414141414141414141414141414141414141414141414141414141413100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313940454745403937322a251f18130b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c566976838f9ca9b6c2cfdcdfd3c6baada297877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6874808d99a3aebbc4cfdbe3d7cbc0b5aba1979083796e696059524c46413a39352f302f2e2d2c2d2e2f302f34383a40454b51575f676d75808d949fa8b2bcc6d0dbd8cfc2b9aca1968b7e71665c5044382b1f12070000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcad6dacdc1b4a79a8e817467554c413536424d576875828f9ba8b5c2d2d1c5b8aca096877a6d6154473a2e3946525e687884919eabb7c4d1d6cabfb4aa988b7e7265584b3f303a4754616d7a8796a1acb9c5d2d4c8bbafa49a897d7063564a3d2d22170b0000000000000000000000000000000000000000000000000000000000000006111c2b37434e586673808c99a7b1bcc8d4d9cec3b8ab9e9184786c605346392f23180c00000000000713202d3a4653606d7985929fabb8c4cfdad3c7bbaea3998b7e7265574d42362a1e1205000000000000000000000000000000000000000000000000000000010102020202020202020202020202020200000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c2328323a44505b6674818e9ba7ab9b8e8175665c5044382b1f1206000000040b101316161613100b0400000006121f2c3844515c6675828e9baba79b8e8174665b50443a3128231c150c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060707070707070707070707070707070707070707070707070707070707070707070707070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f39434b5153514b47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f414e5a6774818d9aa7b4c0cddae2d6cabeb3a995897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fabb4bfcdd6e1dfd4c7bbafa39992857b6e675f574f45413a36302c2924232221201f2021222323292c2f353940454d555d606d78828f96a0aab4bfcad6e1d5c9bdb2a89e9184786d6053463a2f24180d010000000000000000000000000005121e2a36424d576875828e9ba8b5c1d0dbd6cabfb4aa988b7e7165584b3e2f303f4c5966727f8c99abb5c0ccd4c8bdb2a8968a7d7063574a3d2d3b4754616e7a8796a1acb9c5d2d3c6baaea298887c6f6255493c2f3946525e687884919eabb7c4d1d8ccc0b6ac998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9ada196897c7063554b4034291c100400000004111d2935414c5664717d8a97a2adbac6d6dfd2c5b9ac9f92867a6d6154473b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdcd6c9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f171e262e343d444c525a64717d8a97a4ab9e9285796d6053463a2d20130600000000000407090a09070400000000000713202d3a4653606d7985929faba4978a7d71645a524c433d342e261e170f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b555c605c55534e46423b352f28231c140c0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081926323f4c5965727f8c98a5b2bfced9e5dbd0beb1a4988b7e7165584b3e3225180900000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5865727f8c98a2aebdc6d1dfe1d5c9bdb2a89f92877d70695e554d453d352f2a25201d19161514131213141516181c1f24292e343c434b515c666d7a849198a2aebac6d1dcdacec4b9aca096897d7063554b4035291d1004000000000000000000000000000714212d3a46535e697884919eabb8c4d1ded3c6baaea298887b6f6255483c2f303d495663707c8999a4afbbc7d4cebfb3a6998c807366544a3f333d4a5764707d8a97a8b2bdc9d5d2c5b8ac9f9285796d6053463a2d36414c566875828e9ba8b5c1d2ddd2c2b5a99c8f8276665b5044382b1f1206000000000000000000000000000000000000000000000000000000000000000a16212d3a47535f697683909dabb5c0cbd7d5c9bdb2a89a8e8174675c5145382c1f13080000000713202c3945525d6875828f9ba9b3becad6d6cabeb3aa9b8f8275685d524639291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdbd6c9bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1319212930383f444f565d606c717c8895a2ada297897c6f6356493c2e23170b00000000000000000000000000000000000a1623303d495663707d8998a2aea295887c716c605d564f443f3830292119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313131313131313130f0f0c09040000000000000000000000000000000000000106090b0c13131313131313131313131313130808060200000000000000000000000000000000000000000306080913131313131313131313131313130f0e0c090400000000000006131f2c3845515c676d67625f58524d45403a342e261e1b150e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a8b2bdc9d5e1dacdc0b3a79a8d8074675a4d413025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7783909daab4bfcfd8e2dacfc5b9aca0968c7f726b60574d433b3329241e1913110d0808080706070708070c1013181d23283139404a545d686f7c86929faab4bfcbd7e0d5c9bdb2a89b8e8174675d5145392c201306000000000000000000000000000815212e3b4854616e7b8796a1adb9c5d2dfd2c5b8ac9f9285796c605346392d2d3a4754606d7a86939facb9c6d2cfc2b5a99c8f8276665b504438404a546773808d9aa6b3c0cedacfc2b6a99c8f8376665c5044382b303f4c5965727f8c98abb5c0ccd7d2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000006121e2b37424d5765727f8b99a3afbbc7d3dacfc4b8ab9f9285796d6053473a3024190d0100000714212d3a4754606d7a86929facb9c5d0dbd3c6baaea2988a7d7164564c413529170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cececec9bcafa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161e2429333b424a505960686d757e86929facb3a99a8d807367544a3f34281c100300000000000000000000000000000003101c28343f4a546773808d9aaab3ac9f92867e756d686059504a423b3329241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b10122020202020202020202020202020201c1b1915100902000000000000000000000000000000070d1216181920202020202020202020202020201514120e090300000000000000000000000000000000030a0f12151520202020202020202020202020201c1b18150f0902000000000714202d3a4753606d79766f6a615e57514b443f38302b262019140d07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acb9c5d2dedccfc2b6a99c8f837669564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0acbcc6d0e1e1d5c9beb3a99e9184786d60594f453b31292119130d0804010000000000000000000004070c12181f282f38424c565f6a74808d98a3aebac7d1dcd9cec4b8ac9f92857a6d6053473a2d201408000000000000000000000000000b1824313e4b5764717e8a97a8b2bdc9d5dccfc2b6a99c8f8376665b5044382b2c3945515d677784909daab7c3d0d2c5b8ab9f9285796c6053463944515c667683909ca9b6c3cfd9ccc0b3a6998d807366544a3f3428303d495663707c8999a4afbbc7d4d3c6baaea298887b6f6255483c2f22150800000000000000000000000000000000000000000000000000000000000000020e1a26313c4754616d7a86929facb9c5d0dbd3c6baada2978a7d7164564c4135291d11040005121e2a36424d5765717e8b98a3aebac7d7ded2c5b8ab9f9285796d6053473a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c1c1c1c1c1bcafa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606b6f7a818b9298a2aeaaa29d918477665c5044382b1f120600000000000000000000000000000006121f2b3844505c667784919ea2aaaea298928b817a6f6b605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a150e060000000000000000000000000000060e151a1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201b140c030000000a1724313d4a5764707d827c746e69605d55504a423e37312a251f18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687784919eaab7c4d1ddded1c5b8ab9e928578695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5566737f8c99a7b1bcced8e2dfd2c6b9ada1978b7e72665c50473d33291f180f080100000000000000000000000000000000070d161d26303a444e58616e7b86929fabb5c0cbd7dfd3c6baaea2988a7d7164574a3e3025190d01000000000000000000000004111d2935404b556774808d9aa7b3c0cfdad9ccc0b3a6998d807366544a3f33282935414b556874818e9ba7b4c1d0d3c6baaea298887b6f6255483c4653606d7985929facb8c5d2d4c8bdb2a8968a7d7063574a3d2e232d3a4753606d7a86939facb9c6d2d6cabeb3aa988b7e7165584b3e3025190d01000000000000000000000000000000000000000000000000000000000000000915202d3946525e6875828f9caab4bfcad6d6cabeb3a99b8f8275685d5245392c201409000714202d3a46525e6976838f9caab4bfcbd7d5c9bdb2a89a8e8174675c514538281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b4b4b4b4b4b4b4afa396897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c141c2328313a414550575f666d737d848e939fa2aaa69f98928b81786d6053463a2d2013070000000000000000000000000000000713202d3a4653606d78818b92989fa7aaa29f938e847d736d665f575045413a3128231c140c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c23282b3939393939393939393939393939393634312c261e150c02000000000000000000000009131b23292e313239393939393939393939393939392f2e2b2620180f0600000000000000000000000006101820262b2e2f39393939393939393939393939393534312c251e150c0200000a1724313d4a5764707d8a87817b736d67605c544f47433c363029241d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566875818e9ba8b4c1d1dcdfd2c6b9ada297877a6e6154473b2e2114060000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6776838f9ca9b6c2cddceaded1c5b8ab9e9285796d60544a3f352b20170d0600000000000000000000000000000000000000040c141e28323c46525e6974818d99a3afbbc7d3e0d6cabfb4aa9a8d817467564c41362a1d110500000000000000000000000613202c3945515d677783909daab6c3d0ddd5c9bdb2a8978a7d7064574a3d2d22242f3f4b5865727e8b98aab4bfcad6cabeb3aa988b7e7165584b3e4956626f7c8998a2aebac7d3d2c5b8aca096877a6d6154473a2e212c3945515d677784909daab7c3d0dbd0c1b4a79b8e817468564c4135291d11050000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717e8a98a2aebac6d3dbd0c5b9ac9f92867a6d6054473b30251a0e020815212e3b4854616e7b87939facb9c6d1dcd2c5b9ada196897d7063554b403429160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca8a8a8a8a8a8a8a8a8a396897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171e262e343d434c515a61696e78808791969ea5aba39f9490857e756d665c5044382b1f120600000000000000000000000000000006121f2b3844505c666d757e8690959fa3aba59e96918780786e69615a514c433d342e261e170f0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e262e343846464646464646464646464646464642413d3730271e14090000000000000000000007111b252d343a3e3f46464646464646464646464646463b3a37312a21180e0300000000000000000000030e18222a31373a3c464646464646464646464646464642413d3730271e140900000a1724313d4a5764707d8a938e868079716d666159534e46423b352f28221c140b0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303f4c5965727f8c98abb5c0cbd7e2d6cabeb3a9968a7d7063574a3d2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facb8c5d2dfe1d4c8bdb2a8998c7f72675c5142382e23190e05000000000000000000000000000000000000000000020c16202a36424d56616e7b86929facb9c5d2dfdbd0c3b7aa9d908477685e5246392d20130700000000000000000000000714202d3a4753606d7a86929facb9c5d2dfd2c5b9aca196877a6e6154473b2e21222f3c4955626f7c8898a2aebac7d3d0c1b4a79a8e817467564c414c5865727f8b98aab4bfcad6d1c4b7aa9e918477685e5246392d202935404b556774818e9aa7b4c1d0dcd0c4b7aa9d918477685e5246392d20130700000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7a85929facb8c4cfdad3c7baaea3998b7e7165574d42362a1e1206121f2b37434e5865727f8c99a4afbbc7d4ded1c4b8ab9e9184786c605346392f231806000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9b9b9b9b9b9b9b9b9b9b9b96897c706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1318212930383f444e555d606c717b838c9299a1a8a8a099928c827b716c605c544a3f34281c100300000000000000000000000000000003101c28343f4a545c606c717b838c9299a1a8a8a199928c837b716c605d554e443f3830292118130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f445353535353535353535353535353534f4d49423930261b10040000000000000000010d18232d373f464a4c53535353535353535353535353534847423c332a201509000000000000000000000a15202a343c43474853535353535353535353535353534f4d48423930251b0f04000a1724313d4a5764707d8a9798928c857e78706b625f58524d454039332d261d1b150e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081623303c4956636f7c8999a3afbbc7d4e0dbcfbfb3a6998c807366544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a3aebac7d3e0ded1c5b8aca096877b6e61554b4030261c11070000000000000000000000000000000000000000000000040e1925303b46535e6976828f9ca9b5c2d0dbdfd2c6b9ac9f93867a6d6154473a2e21140700000000000000000000000a1623303d495663707c8999a3afbbc7d4ded1c4b7ab9e918478685e5246392d20202d3a4653606d7985929facb8c5d2d0c4b7aa9d918477685d52454d566875818e9ba8b4c1d0dbcec1b4a79b8e817468564c41362a1d242f3f4b5865727e8b98aab4bfcbd6d1c5b8aca096877a6d6154473a2e21140600000000000000000000000000000000000000000000000000000000000000000813202c3945515d6775818e9ba9b3bec9d5d7cbbfb4ab9c8f8376695e52463a2d20150a15212e3a47535f6a7783909dabb5c0ccd7d4c8bcb1a79a8d8073665b5044382b1f1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828e8e8e8e8e8e8e8e8e8e8e8e8e897c706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d757e8590959fa3aba59d9691877f786e69615a504a42382e23170b00000000000000000000000000000000000b17232e38424a505a61696e78808791969ea5aba39f9590857e756d676058504a423b3329241d160d06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505f60606060606060606060606060605c5a544b42372c211509000000000000000006121e29343f49515658606060606060606060606060606055534d453c31261a0e020000000000000000030f1a26313c464e535560606060606060606060606060605b59534b42372c201509000a1724313d4a5764707d8a97a29f97918b837d766f6a615e56514b443f382f2b262019140c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdccfc2b6a99c8f8276665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98aab4bfcbd6e3ddd0c4b7aa9d918477685e5243392f1e140a0000000000000000000000000000000000000000000000000009141f2a36424d5766727f8c99aab4becad6e0d4c8bbafa49a897d7063564a3d3023170a00000000000000000000030f1c28333f4a5466737f8c99abb5c0cbd7dbcec1b5a89b8e827568564c41362a1e1f2c3844505c667683909ca9b6c3cfd2c6b9ac9f93867a6d605447525e687884919eabb7c4d1d6cabeb4aa988b7e7265584b3f302519222f3c4955626f7c8898a3aebac7d3d4c8bdb2a8968a7d7063574a3d2e23170b000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dcd1c6b9ac9f93877b6e6154483c31261a0f1b27333f4953626f7b8895a0acbdc7d2ddd1c5b8aca095887c6f62544a3f33281c0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f81818181818181818181818181817c6e6255483b2f2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545c606a6f7a818a92989fa7a9a19e938e847c736d665e5750443f3830261c1106000000000000000000000000000000000006111c2630383f4450575f666d737d848e939fa2a9a79f98928a817a6f6a605c544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655d54493d3125190c00000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1206000000000000000006121f2b37434e585f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000a1724313d4a5764707d8a97a3a9a19e95908a827c746e69605d55504a423d37312a251f18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909daab6c3d1dcded2c5b8ab9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b4c0d0dce7dacdc1b4a79a8e817467564d4131271d0c0200000000000000000000000000000000000000000000000000020e1a25313c4956626f7c8998a2aebac6d3dfd8ccc0b6ac988b7e7265584b3f3225180c0000000000000000000006121f2b3844505b6676828f9ca9b5c2d1dcd7cbbfb5ab988c7f7265594c3f3025191c28343f4a546773808d9aa6b3c0cfd4c8bbafa49a897d7063564a54616e7a8796a1acb9c5d2d3c6baaea298887b6f6255483c2f2215202d3a4653606d7986929facb8c5d2d9cec0b3a6998d807366544a3f34281c100300000000000000000000000000000000000000000000000000000000000000010d18242f3a4653606d7985919eabb8c3ced9d4c8bbafa49a8c7f7265584e43372b1f121f2b3744505b6573808d99a7b1bcd0d9d8ccc0b6ac9d9084776a5f5342382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323e4b57636d7375757575757575757575757575756e6a5f53473a2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c2228313a414550575e666d737c848e939fa2aaa69f97928a81796f6a605c544d453e342e261e140a000000000000000000000000000000000000000a141e262e343e454d545c606b6f7a818a92979fa6aaa29f938e847c736d665e575045403a3128221c140b0500000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c667679797979797979797979797979797570655a4d4134281b0f02000000000000000b1825313e4a56626d72797979797979797979797979797976695f53473a2e21140800000000000000000815212e3a47535f6a767979797979797979797979797979756f65594d4134271b0e000a1724313d4a5764707d8a97a3b3ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808d99abb5bfcbd7dfd3c6baaea298887b6f6255483c2f221509000000000000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9b5c2cfdce2d6cabeb3a9978a7e7164574b3e3024150b0000000000000000000000000000000000000000000000000000000913202d3a4653606d7985929fabb8c5d2deddd2c0b3a79a8d8074675a4d4134271a0e000000000000000000000613202d394653606c7985929fabb8c5d2ded3c7bbaea399897c6f6356493c30231617232e3e4a5764717e8a97a9b3bec9d5ccc0b6ac998c7f736653495764707d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d20131f2c3844515c667683909da9b6c3d0dccfc2b6a99c8f8376665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6674808d9aa8b2bdc8d4d8ccc0b6ac9d9083776a5f53473a2e2113202d394653606c7884919eabb7c3cdded4c8bbafa49a8c7f7266584e432f261c1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222f3b46515b63666868686868686868686868686868625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070f171d262d333d434b515a61696e787f8791969ea5aaa39f948f857e746d676058504a423b3328231c140c0200000000000000000000000000000000000000020c141c2328333b424a505960676d747e8590949fa3aba59e9691877f786e69615a514b433d332d261d170f0701000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986868686868686868686868686868275695c4f4236291c0f03000000000000000c1925323f4c5865727f86868686868686868686868686867b6e6255483b2f22150800000000000000000915222f3c4855626f7c86868686868686868686868686868175685b4f4235281c0f000a1724313d4a5764707d8a97a3b0b9b1aca69f99938e868079716c666059534e46413b352f28221c140b0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3d4a5663707d8999a3aebbc7d3e0d6cabeb4aa988b7e7165584b3e31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919eaab7c4d1dddfd3c6baada297877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000006121f2b3844505c6675828f9ca8b5c2cfdbdbcfc2b5a89c8f8275695c4f4236291c0f000000000000000000000915222f3c4855626f7b8897a2adbac6d3dfd2c5b9ac9f9286796d6053473a2d201415222e3b4855616e7b8897a1adb9c6d2d2c2b5a89c8f8275655b50546773808d9aa6b3c0cedacfc2b6a99c8f8276665b5044382b1f121c2834404a546774808d9aa7b3c0cfdbd2c5b8ac9f9285796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8996a0acb8c5d1ddd2c7b8aca095887b6f6255483d32271c2834404a54636f7c8996a1acb9c5d2dfd2c6b9ac9f93877b6e6154483c3221140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161e2a3540495157595b5b5b5b5b5b5b5b5b5b5b5b5b5b55534e463c31261a0f0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c121821292f383f444e555d606c717b828c9299a0a8a7a098928b827a706c605d554e443f3830292117110a02000000000000000000000000000000000000000000020a1117212930383f444f555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292118120c040000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393939393939393938f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b939393939393939393939393887b6e6255483b2f22150800000000000000000915222f3c4855626f7b889393939393939393939393938e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdbcb8b0aba49f98928c847e78706b625f58524d454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929facb9c5d2dfdbd0c1b4a79b8e817468574d42372b1e12060000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657985929facb8c5d2dfded2c5b8ab9f928578695e52463a2d20140700000000000000000000000000000000000000000000000000000003101c28343f4a546673808d99a6b3c0ccd9ddd0c3b6aa9d9083776a5d5044372a1d11000000000000000000000c1825323f4b5865727e8b98a9b3becad6ddd0c3b6aa9d908377675c5145382c1f1314212d3a46535f697885929eabb8c5d1d2c5b8ab9f9285796c60535c667683909ca9b6c3cfd8ccc0b6ac998c807366544a3f33281c0f18232e3e4b5764717e8a97a9b3becad6d3c6baaea298887c6f6255493c2f2216080000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d4c8bcb1a7998d807366584e43382c1f2c3844515c6674818d9aa8b2bdc9d5d7cbbfb4ab9c8f8376695e53463a2d21140200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e3740464b4c4e4e4e4e4e4e4e4e4e4e4e4e4e4e4847433c332a20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d2429333b424a505860676d747e8590949fa3aba49f9590867f776e68615a514b433d342e261e170f0600000000000000000000000000000000000000000000000000060f181e262e343d434c515a61696e787f8791969da5aba39f9490857e746d676058504a423b3329241d160d0600000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9f9f95887b6e6255483b2f22150800000000000000000915222f3c4855626f7b88959f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdc8c2bdb5afaaa29f97918b837d766f6a615e56514b443f382f2b262019140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677683909ca9b6c3cfdbded1c4b7ab9e918478695f53473a2e211406000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c778698a2aebac6d3e0ddd1c4b7aa9e9184776b574d42362a1e1105000000000000000000000000000000000000000000000000000000000b17232e3f4c5965727f8c98a5b2bfcbd8ddd0c4b7aa9d9184776a5e5144372b1e1100000000000000000005111e2a36414c566874818e9ba7b4c1d0dbdacdc0b3a79a8d807467554b4034291c10121e2a36424d576975828f9ca8b5c2cfd3c6baada297887b6e6255606d7986929facb8c5d2d4c8bbafa49a8a7d7063574a3d2d22170b15222e3b4855616e7b8897a2adbac6d3d6cabfb4aa988b7e7265584b3f3025190d01000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a7b1bcc7d4d9cdc3b7ab9e9184786a605448382e232d3a4653606d7985929eabb8c4cedad3c7baaea3998b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c3f393e4042424242424242424242424242423b3a37312a21180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f282f353e454d545b606a6f79818a92979fa6a9a19a938d837c726c655e56504540393128231c140c05000000000000000000000000000000000000000000000000000000060c151c2328313a414550575e666c727c848e939ea2a9a69f97928a81796f6a605b544d453e352f281f17110a020000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acacacacacacacaca89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5acacacacacacacaca195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2acacacacacacacaca89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bdd0d0c7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556673808c99a9b3becad6dfd2c5b9ada196887b6e6255483b2e23170b000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798693aab4bfcad6e2dcd0c3b6a99d9083766a5d504330251a0e0200000000000000000000000000000000000000000000000000000000061825313e4b5864717e8b97a4b1becad7ded1c4b8ab9e9185786b5e5245382b1f120000000000000000000713202d3946525e687784919eaab7c4d1ddd6cabeb3a9978a7e7164574b3e2f23180c0e1a2631404c5966737f8c99a6b2bfced6cabeb3a9978b7e716458626f7c8998a3aebac7d3d2c6b9ac9f93867a6d6154473a2e21140613202d394653606c7985929fabb8c5d2dbd0c1b4a89b8e817568564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000f1b27323d4855616e7b88959fabb8c7d1dcd2c5b9aca196897c6f62544a3f342935404b5563707d8a97a1adb9c6d6dfd2c5b9ac9f92867a6d6054473b31251a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202b343d4347494b46443f382f3535353535353535353535352f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141c22283139404550575e666c727c848e939fa2a9a59e97918880796f6a605b534d443e352f281f17110a090909090908060300000000000000000000000000000104060709090909090a11171f282f353e454d545b606a6f79818a92979fa6a9a29f938e847c726c665e57504540393127221b140b0500000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9b9b9b9b9b9b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2b9b9b9b9b9b9aea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aeb9b9b9b9b9b9b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a3b0bfc6ccd2ccc6bfbab2ada7a09d948f87817b736d67605b544f47433c363029241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3c4956636f7c8997a2adb9c6d2dfd5c9bdb2a8988b7e7265544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1adbad0dbe7dbcfc2b5a89c8f8275695c4f4236291c0900000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0bdc9d6ded2c5b8ab9f9285786c5f5245392c1f120000000000000000000714212e3a4754616d7a8796a0acb9c5d2ded2c6b9ada297887b6e6155483b2e221507091723303d4a5663707d8996a8b2bdc8d4cfc0b4a79a8d8174675565727f8b98aab4bfcbd6d0c4b7aa9d918477685d5246392d201307121f2b3744505b6576828f9ca9b5c2cfdcd1c4b7aa9e918477685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909dabb5c0cbd7d5c9bdb2a89a8d8074665c5044382c3945515d6775818e9ba9b3becad6d6cabeb3a99b8f8275685d524539291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e54565853504a423d36302823282828282828282822211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5aaa29f938f857d746d675f585049413b3229241d16151515151515151515120f0a030000000000000000000001070d1013141515151515151515161e2429333b424a505860676d747e858f949fa3aba59d9691877f786e69615a514b433c332d261d170e07010000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6c6c6c6c2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2bec6c6c6c6bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc6c6c6c6c1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a97a9aeb4bbc0c7d0d0cac4beb9b1aca69f99928e867f79716c666059534e46413b352f28221c140b0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929eabb8c5d1dcdacfc2b5a89b8f8275665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dbcec1b4a89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afbcc8d5dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000a1724313d4a5764707d8a97a8b2bdc8d4ded1c5b8ab9e928578695f53463a2d2114070714212e3a4754616d7a8796a0acb8c5d2d0c3b7aa9d908477675d6875818e9ba8b5c1d0dccec1b4a79b8e817468564c4135291d11050f1b27333f49536673808c99a6b3bfcfdad2c5b9aca096877a6e6154473b2e21140700000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8b99a3afbbc7d3dacec4b8ab9e9285796d6053463a2f3a4753606d7a85929facb8c5cfdad3c6baada2978a7d7064564c413529170d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b38434e58606265605b544f46423b342e271e1a1b1b1b1b1b1514120f090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c717b828c9299a0a8a79f98928b827a706b605c554e443f382f29222222222222222222222222211f1a150e060000000000000000040c12181d2020222222222222222222222222292f383f444e555d606c717b828c9299a0a8a8a099928c827b716c605d554e443f382f292018120b0300000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d2d2cfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd2d2c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d2d2cec1b5a89b8e8275685b4f4235281c0f000a1724313d4a5764707d8a979fa2aaafb5bdc2c8cecfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6675818e9babb5bfcbd7ded2c5b8ab9f9285796d6053463a2d2013090000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1dacdc0b3a79a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aebbc8d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000004101c2834404b556773808d9aa6b3c0ced9dbcfc2b5a89c8f827569574d42372b1e12050713202d3946525d687784919eaab7c4d1d2c6b9ac9f93867a6d60697884919eabb7c4d1d6cabeb3a9988b7e7165584b3e3024190d010b17222d3d4a5764707d8a97a8b2bdc9d5d5c9bdb2a8978a7d7064574a3d2e23180c000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd2c6b9ada197897d7063554b4035414c5664717e8a98a2aebac6d7ded2c5b8ab9f9285796d6053463a3024190d0100000000000000000000000000000000000000000000000000000000000000000103040404040404040404040404040404040100000000000000000000000000000815222e3b4754606a6f726c666059524d454039302b261f18130b06080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429333b424a505860676d747e858f949fa3aba39f9590867e756d686059514b433c332d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000040d161d24292c2d2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d333d434b515a61696e787f8791969da4aba39f948f857e746d6760585049413b3229241d150d06000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000916222f3c4955626f7c858d92989fa4abb0b8bcc3c9cfcec8c2bdb5afaaa29f96918b837d756f6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5464717d8a99a3aebbc7d3dfd3c6baada297897c6f6256493c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000006131f2c3845515c677683909ca9b6c3cfdcd8ccc0b6ac998c7f7366594c4031261a0e0205111d2935414c566875818e9ba8b4c1d1d4c7bbafa499897c70636e7b8796a1acb9c5d2d3c6baada297887b6f6255483c2f221508000614212e3b4754616e7a8796a1adb9c5d2d9cec0b3a69a8d807367544a4034281c10040000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4bfcad6d5c9beb3a99b8e8174675d51453946525e6875828f9caab4bfcad6d5c9bdb2a89a8e8174675c514538281e130800000000000000000000000000000000000000000000000000000000000000060a0e10111111111111111111111111111111110d0d0a070200000000000000000006131f2b37434e58626f7c7e786f6b615e57514b433e373129241d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e454d545b606a6f79818a92979fa6a8a199928c837b716c615e564f45403c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a2218100600000000010c161f282f35393a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c404550575e666c727c848d929ea1a9a69f97928a81796f6a605b534d443e352f271f17110a0200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000815212e3b47535f6a6f7a80868e93999fa6acb1b9bdc4cad0cfc7c0bbb4aea9a19e959089827c746e68605d55504a423d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4754606d7a86929facb9c5d1dcd6cabeb3a9998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000713202d3a4653606d7986929facb9c5d2dfd4c8bbafa49a897d7063564a3d3023170900010d1924303f4c5865727f8b98abb4bfcbd7ccc0b5ab998c7f7266717d8a97a8b2bdc9d5d2c5b8ab9f9285796c605346392d201306000714202d3946525e687884919eabb7c4d1dccfc3b6a99c908376665c5144382c1f120600000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664717e8a98a2aebac6d3dacfc5b8ab9f9285796d6053473a4754616d7a86929facb9c5d0dbd2c5b9ada196897c7063554b403428160c020000000000000000000000000000000000000000000000000000000000040b11161a1d1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1a1917130e0800000000000000030d15212e3b47535f6a75828b837d756e69605c554f47423c352f27221b140b08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22273139404550575e666c727c848e939fa2a9a59e96918780786e69625a524c48484848484848484848484848484848484848484847433c342a22180e0400000007121d2831394045474848484848484848484848484848484848484848484d545b606a6f79818a92979fa6a9a29f938e847c726c655e56504540393127221b140b05000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0006131f2b37434e585f676d737b81878f949da0a7adb2babec5cbd1cbc6bfbab2ada7a09d948f87817a736d67605b544f47433c363029241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cabb5bfcbd7dbd0c3b7aa9d908477695f53473a2d21140800000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000091623303c4956636f7c8998a3aebac7d3dfd2c6b9ac9f93867a6d6054473a2d21140700000816232f3c4956626f7c8999a3aebac7d3d2c2b5a89b8f82756873808d99a6b3c0cedacfc2b5a99c8f8276665b5044382b1f12060005111e2a36414c566875828f9ba8b5c2d2ddd2c5b8ac9f9286796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929facb8c4cfdad3c6baaea2988a7d7164554c424d5765727e8b99a3aebbc7d3ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000050e151c2227292a2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2726231f19120a02000000000009141f2b37424e57626f7c88949089817b726d676159534d45413a332d261d19130c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070e171d262d333c434b515a61696e787f8791969da5a9a29f938e847d736d665f57555555555555555555555555555555555555555555555555534e463c342a20150a0000010d18242f39434b5153555555555555555555555555555555555555555555555555585f676d747d858f949fa3aaa59d9691877f776e69615a514b433c332d261d170e070100000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00030f1b26323c464e555d60696e747c828990959ea1a8aeb3bbc0c7cfd0cac4bdb9b1aca69e99928e867f79716c666059534e46413a352f27221b140b0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565727f8b99a3aebbc7d3ded1c5b8aca095887b6e6155483b3025190d01000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000c1926323f4c5965727f8c98aab4bfcbd7ddd0c4b7aa9d918477685d5245392c20130700000713202d3a4653606d7986929facb9c5d2d1c4b7ab9e9184786775828f9ca8b5c2cfd8ccc0b6ac998c807366544a3f33281c0f0300020e1925303f4c5966727f8c99acb6c0ccd8d3c7baaea398897c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b3bec9d5d6cabeb4aa9b8e8275675d5146525e697683909cabb5bfcbd7d4c8bcb1a7998d8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000040e1720272e33363737373737373737373737373737373734322f2a241c140a00000000020e1a25313a47535f6a75828e9b9d938e867f79706b625f57514b443f382f2a251e17110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820292f383f444e555d606c707b828c9299a0a8a8a197928a817a6f6b626262626262626262626262626262626262626262626262626262625f584e463c31261b0f030004101d2935404b555d60626262626262626262626262626262626262626262626262626262626c707a828b9298a2a9a8a099928c827b706c605d554e443f382f292018120b03000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000a15202a343c434c51575e616a6f767d838b91969fa2aaafb5bdc1c7cdcfc9c3bcb8b0aba39f98928c847e78706b625f58524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5cfdad4c8bcb1a7988c7f7265564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000005121e2b37424d576875828f9ba8b5c2d1dcdacec1b4a79b8e817468564c4135291d1104000006131f2c3845515c677683909da9b6c3d0d2c6b9ac9f93867a6d7784919eaab7c4d1d4c8bbafa49a897d7063564a3d2d22170b000000081623303d495663707c899aa4afbbc8d4d6cbbfb4aa988b7f7265584c3f30251a0e0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8997a1adb9c6d2dbd0c5b8ac9f92867a6d60544854616e7b87939facb9c6d1dcd1c5b8aca095887c6f6253493f33271b0f03000000000000000000000000000000000000000000000000000000000b15202931393f4244444444444444444444444444444444403f3b362e261c120800000005121e2a36424d57626e7b87939fa59e98928c847d756e69605d555049413c363028231c150c09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d151d2429323b414950585f676d747e858f949fa3abaca19691857e756f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f584e43372b1f1206000613202c3945515d676d6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f777f869297a2adaba39f948f857e746d675f585049413b3229241d150d060000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000040e18222a313a41454d52585f626b70787e848c92989fa3abafb8bcc2c8cecec8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6875828f9ba9b3bec9d5d9cec3b6a99c908376685e5246392d201409000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000714212d3a46535f697885929eabb8c5d1ded6cabfb4aa988b7e7265584b3f2f24190d01000004101c2834404b556774808d9aa7b3c0d0d4c8bbafa49a887b6f7986929facb9c5d2d2c6b9ac9f93867a6d6054473a2d2114060000000714212d3a4754606d7a86939facb9c6d2dcd0c1b5a89b8e827568574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4653606d7985919eabb8c3ced9d3c7baaea3988b7e7164564d5765727f8c9aa4afbbc8d4d8ccc0b6ac9d9083776a5f5341382d22170b0000000000000000000000000000000000000000000000000000000006111c27313b434a4f515151515151515151515151515151514d4b4740382e24190e0200000714212d3a46535e6974818e99a4afaaa29f96918a827b736d67605b534e46413a342e261e1a140c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171f272f353e444d535b606a6f79818a92979fa6aeb5ab9e91847d7c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c766a5f53473a2e211509000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c7e85929eabb5aea69f97928a81796f6a605b534c443e352f271f17110a02000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000710181f282f353b42464e535960666c71797f858d92999ea5abb1b9bdc3c9cfcfc7c0bbb4aea8a19e959089827c746d68605d555049413d37312a251e18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adb9c6d2dfd2c6b9ac9f93867a6e6154473b31261a0e020000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000815222e3b4855616e7b8897a1adb9c6d2dfd3c6baaea298887c6f6255493c2f221608000000000c18232e3e4b5864717e8b97a9b3becad6ccc0b6ac978a7d707a8799a3aebbc7d3d0c3b7aa9d908477685d5245392c2013070000000613202c3945515d677784919daab7c4d0ddd1c4b7ab9e918478695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505c6673808d9aa8b1bdc8d4d6cbbfb4aa9c8f8275685d535f697783909dacb6c0ccd8d4c8bbafa49a8c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000a16222e39434d555b5d5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5a58524a40362a1f13070005111e2a36414c56616e7b86929fabb5b4aea8a09e948f87807a716c656058524c443f38302a251f18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227313940454f565e656c727c838e929ea2a9b0bbb9aca196918a8888888888888888888888888888888888888888888888888888888888888888887c6f6255483c31261a0e05111e2a36414c5665727f8888888888888888888888888888888888888888888888888888888888888888888a9297a2adb9bbb0a9a19e928e837c726c655e564f4540393127221b140b020000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000070d161e242930363c43474f545b60676d727a80878f939d9fa7acb2b9bec5cbd0cbc5bfbab2ada7a09d948f87817a736d67605b534f47423c363029231d17110a020000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4653606d7985929eabb8c3ced9d4c7bbafa4998b7e7265574d42362a1e12050000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000b1825313e4b5864717e8b97a9b3bec9d5dfd2c5b8ac9f9285796d6053463a2d201307000000000715222f3b4855626e7b8897a2adbac6d3d2beb2a5988b7f727c8895abb5bfcbd7cdc1b4a79a8e817467564c4135291d110400000004111d2935414c556874818e9ba7b4c1d1dcd2c5b9ada196877b6e6154483b2e2115070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626f7c8895a0acb8c5d1dcd0c5b9ac9f92867a6d6155616e7b88959fabbec7d2ddd2c6b9ac9f93877b6e6154483c3121140a00000000000000000000000000000000000000000000000000000000000e1a27333f4a555f676a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a67635c52473b2f23170a000714202d3946525e6874808d99a3aebdbfbab2aca69e99928d857e786f6a615e56504a423d363129241d150d08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c434b515961686e777f8691959da5adb3bbc2bdb2a8a19e9695959595959595959595959595959595959595959595959595959595959595958c7f7366574d42362a1e120714202d3946525e687683909595959595959595959595959595959595959595959595959595959595959595979ea2a9b3bec2bbb3ada59d9591867f776e686159514b433c332d261d140a0000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000040c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6ccd0cac4bdb9b1aca69e99928d857f79716c656059534e46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3844515c6674808d9aa7b1bcc8d4d7ccc0b5ab9c908376695f53463a2d21160a0000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000004111d2935414c566774818e9aa7b4c1cfdadccfc3b6a99c908376665c5044382c1f1206000000000613202d394653606c7985929fabb8c5d2ccbfb3a6998c80737d8a96a3b0bdd1d6cabeb3a9988b7e7165584b3e2f24190d01000000010d19242f3f4b5865727e8b98abb4bfcbd7d5c9bdb2a8978a7d7164574a3e2f23180c00000000000000000000000000000000000000000000000000000000000000000000000b17232e384754606a7784919daab7c2cdd8d3c7bbaea3998b7e71655766727f8c99a7b1bcd0d9d7cbbfb4aa9c8f8276695e52463a2d2014020000000000000000000000000000000000000000000000000000000000101d2936424f5b677177777777777777777777777777777777736e63584b3f3226190d000814212e3b4754616e7a86929faab2bac2c4bdb9b0aba39f97918b837c746d68605c544f46423b352f271f1a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f444e555d606b707a828c9299a0a8afb9bebcbcbcbab2acaba3a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d908377695f53463a2d21140814212e3b4754616e7a86939fa2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a4abadb3bbbcbcbcbeb9afa8a099928c827a706b605d554e443f382f261b110600000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a54626f7c8895a0acb8c7d1dcd2c7b7ab9f94887b6e6155483d32271b0f0100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000613202c3945525d687784909daab7c3d0ddd9cdc0b3a69a8d807367544a3f34281c10030000000005121f2b3744505b6576828f9ca9b5c2cfcdc1b4a79a8e81747e8b98a4b1becbd3c6baada297887b6e6255483b2f22150800000000000816232f3c4956626f7c8999a3aebac7d3dacfc0b3a79a8d807467554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866737f8c99a6b0bcc7d3d7cbbfb5ab9c8f8276685f697783909daab7c3cdddd3c7baaea3988b7e7165574d42362a1e12050000000000000000000000000000000000000000000000000000000000111e2a3744515d6a77848484848484848484848484848484848073675a4d4034271a0d000b1825313e4b5864717e8b9298a1a8b0b8c0c9c1bdb5aea9a19e959087817a726d666059534d454039312c241a1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414950585f676d747d858f949fa3abb1afafafafafafafafafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaca095887b6e6155483b302519111d2935414c5665717e8b99a4afaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafafafafafafafafb1aba39f948f857d746d675f58504941382d22170b00000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb5bdc2c8cecdc8c1bdb5afaaa29f96918b837d756e6a615e56514b443f382f2b262019130c0701000000000000000000000000000000000000000000000000000000000000000000000c18232e3947545f6a7783909dabb5c0cbd7d3c7bcb0a6998c7f7366584e43382b1d130700000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000714212d3a4754606d7a86939facb9c6d2dfd5c9bdb2a8978a7d7164574a3e2e23170c0000000000030f1b27333f49536673808c99a6b3bfcecfc2b5a89c8f82757f8c99a5b2bfccd2c5b8ab9f9285796c605346392d20130600000000000713202d3a4653606d7986929facb9c5d2dcd0c3b6a99d908376675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000f1b27323c4855616e7b88949fabb7c6d1dcd1c5b9ac9f92867a6d626e7b8895a0acb8c4d1dfd2c5b9ac9f92867a6d6054473b30251a0e020000000000000000000000000000000000000000000000000000000000131f2c3946525f6c798691919191919191919191919191918e8175685b4e4235281b0f000a1724303d4956616c717e8691969fa6aebabfc5c6bfbbb3ada79f99938e857f78706b615e57514b433e362c241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535b606a6f79808a92979fa6a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3acafb1a7988c7f7265564c41362a1e13202c3945525d6876828f9cabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a69f97928a80796f6a605b53493f33271b0f03000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4abb0b8bcc3c9cfcfc7c0bbb4aea8a19e959089827b746d68605c555049413d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000007121c2b37434e5865727f8c99a3afbbc7d3d8cdc2b7aa9e9184776a6054473a2f24180d01000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000a1723303d4a5663707d899aa4afbbc8d4dfd2c5b9ada196877b6e6154483b2e2115060000000000000b17222d3d4a5763707d8a96a8b2bdc9d0c3b6aa9d908377808d9aa7b3c0cdcfc2b5a89c8f8275655b5044372b1f1205000000000006131f2c3845515c667683909da9b6c3d0dcd2c5b9ac9f9286796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535f697683909cabb5bfcbd7d3c7bbafa3998b7e7166737f8c99a7b1bcc8d4d6cabeb3a99b8e8275685d524539291f1409000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929d9d9d9d9d9d9d9d9d9d9d9d9b8e8175685b4e4235281b0f000815212d3945505a626c717c848f949ca4aeb4bcc3cbc4beb9b1aba49f97928b837d756e69605d5550483e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656c727c838d92969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969fa4aba99c908376685e5246392d2014212d3a4754606d7a86929facaba39f96969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696928d837c726c655b5044372b1f1205000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e93999fa6acb1b9bdc4cad0cbc5bebab2ada7a09d948f87817a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000f1b26323c4754616e7a86929facb9c5cfdbd2c5b9aca096897c6f62554b4035291d1104000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003101c28343f4a546673808c99acb6c0ccd8ded1c4b8ab9e918478695e52463a2d2014070000000000000614212e3a4754616d7a8796a1acb9c5d1c4b8ab9e918578818e9ba7b4c1ceccc0b5ab998c7f736653493f33271b0f03000000000004101c2834404b546774808d9aa7b3c0d0dbd3c7baaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebbc7d3d7cbc0b5ab9c8f8276697783909daab7c3cdd9d3c6baada2978a7d7064564c413529170d02000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faaaaaaaaaaaaaaaaaaaaa89b8e8175685b4e4235281b0f0005111d28343e48505a626a6f7a828d929fa2aab2bac1ccc9c2bdb5afa9a29f959089817b736d67615a50483e34281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f868989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898a9399a4ac9f93867a6e6154473b2f241c2934404b5564717e8a99a3aea399928a898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989867f786c605346392d201306000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7adb2babec5cbd0cac4bdb9b1aca69e99928d857f79716c656059534d46413a342f27221b140b03000000000000000000000000000000000000000000000000000000000000000a15202d3946525e6875828f9ca9b3becad6d4c8bdb2a89a8d8174675d5145392c20160a000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000006121f2b3844505c6676838f9ca9b6c2d2dddbcec2b5a89b8f827568574d42362a1e12050000000000000713202d3946525e687884919eabb7c4d1c5b9ac9f928679828f9ca8b5c2cfc7bbafa499897d7063564a3d2d22170b000000000000000c18232e3e4b5864717e8b97a9b3becad6d7cbbfb4ab988c7f7265594c3f31261a0e0200000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4754616d7a86929facb9c5d0dbd1c5b9ac9f92867a6e7b8895a0acb8c5d5ded2c5b8ab9f9285796d6053463a2f24190d01000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb7b7b7b7b7b7b7b7b4a89b8e8175685b4e4235281b0f00000c17222d363f48505860686d78808a9298a0a8afbbc0c7d0c7c0bbb3ada7a09d938e868079716c615a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a7d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d87939faca4998b7e7165554c4135291f2c3845515c6775828e9babac9f92877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7a6d6054473a2d211407000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c828990959ea1a8aeb4bbc0c7cfcfc9c3bcb8b0aba39f98928c847e78706b625f57524c454039332d261d150d0300000000000000000000000000000000000000000000000000000000000005111e2a36414c5664717d8a97a2adb9c6d1d9cec3b8ab9f92857a6d6053473d32271b0f020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000713202d3a4653606d7985929facb8c5d2dfd7cbc0b5ab988c7f7265594c3f30251a0e0200000000000005111e2a36414c566875828e9ba8b5c1d1c7baaea399867983909ca9b6c3cfc6b9ac9f93867a6d6054473a2d211406000000000000000715222f3b4855626e7b8897a2adbac6d3dcd1c2b5a89b8f827568574d42362a1e120500000000000000000000000000000000000000000000000000000000000000000000000914202d3946525e6875828f9caab4becad6d3c7bbaea3998a7e727f8c98a7b1bcc8d4d5c9bdb2a89a8e8174665c514538281e130800000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c4c4c4c4c4c4c1b4a89b8e8175685b4e4235281b0f000006101b242d363f464e565e666d737e8691969ea5afb5bdc5cdccc5bebab1aca59e98928c847e716c6155493d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707076838f9cacab9c8f8275675d5145392c202d3a4753606d7985929facac9c8f837670707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d685d5245392c201307000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d838b91969fa2aaafb5bdc1c7cdcdc8c1bdb5afaaa29f96918a837d756e69615e56514b443f382f271f150b010000000000000000000000000000000000000000000000000000000000010d1925303b4653606d7985929eabb4bfcbd7d3c6baaea2988b7e7265594f43382c1e14080000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000916222f3c4955626f7c8898a2aebac6d3dfd4c7bbafa399897c6f6356493c3023160900000000000000010d1925303f4c5965727f8c98abb5c0cbcbbfb4ab94877b84919daab7c4d0c3b7aa9d908477675d5145392c201306000000000000000613202d394653606c7985929fabb8c5d2ded1c4b8ab9e918578695f53463a2d211407000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717e8a98a2aebac6d3d7cbbfb5ab9b8e817683909ca9b6c3ced9d2c5b9aca196897c6f63544b403428160c0100000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d0d0d0d0cec1b4a89b8e8175685b4e4235281b0f00000009121b242d343d444c545c606c717c848f939fa4abb3bbc3cbd0cac3bcb8afaaa29f96918a7e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636365727f8b9aa4ac9f92867a6d6054473a2e28343f4a5463707d8a98a2aea49a8b7f726563636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605d564c4135291d1104000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000003090e161b1e272e343a41454d52585f626b70787e848c92989fa3abafb8bcc2c9cecfc7c0bbb3aea8a19e959089827b746d68605c555049413931271d120700000000000000000000000000000000000000000000000000000000000008141f2c3845515c6773808d99a3aebac7d2d6cabeb3aa9d9083776b6054483b3025190d0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000c1925323f4c5865727f8b98aab4bfcad6dfd2c5b9ac9f92867a6d6053473a2d2014070000000000000000081623303c4956636f7c8999a3afbbc7d1bbafa295887c85919eabb8c4cdc1b4a79a8e817467554c4135291d11040000000000000005121f2b3744505b6576828f9ca9b6c2cfdcd2c6b9ada197887b6e6155483b2e2215070000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985929fabb8c4cfdad1c5b8ab9f92857a87929facb9c5d2ded1c4b7ab9e9184786c605346392e2318060000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dddddbcec1b4a89b8e8175685b4e4235281b0f0000000009121b222b323a424a505a616a6e79818c9399a1a9b1b9c0cbd1cec8c0b6aea49d928d80736c6155493d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c525456565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656616e7b87939faca3998a7e7164554b40342b3844505c6674818e9baaac9f93877b6e615656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565654524c443a3024190d01000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000040a0c151c23282f353b42464e535960666c71797f858d92999ea5abb1b9bdc4cacfcbc5bebab2aca79f9d938f87807a726d67605b534b43392f23180c00000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b86929fabb5c0ccd7d0c5b8aca095897c6f63564c41362a1d130700000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000005111e2a36424d576875818e9ba8b4c1d0dbddd0c3b6aa9d908377675d5145392c20130600000000000000000714202d3a4753606d7a86929facb9c5c9bcafa396897d85929facb8c5cabeb3a9978b7e7164584b3e2f24190d0100000000000000030f1b27333f49536673808d99a6b3c0cfdad5c9beb3a9978a7e7164574b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515d6774818e9ba9b2bdc9d5d3c6baada2978d818d99a3afbbc7d4d4c8bcb1a7998d8073655b5044372b1f12070000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f0000000000091019202930383f4450585f676d777f8792979fa7afbabfc6c9c0b7aea49d928d80746e645a5045392d211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a414547494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949525e697683909da9ab9b8e8275675c5145382d3a4653606d7985929eaba99d908376695e524949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494745413a32281e130800000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000030b12181e242930363c43474f545b60676d737a80878f939d9fa7acb2b9bec5cbd0cac4bdb9b1aba69e99928d857f79716c655c554b4034291c10040000000000000000000000000000000000000000000000000000000000000c18232e3946525e6874818e99a4afbbc7d4d4c8bcb1a79b8e8175685e52463a2f24180d00000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000714202d3a46525e697884919eabb7c4d1dedacdc0b4a79a8d817467554b4035291d1004000000000000000006131f2c3945515d677783909daab7c3cabdb0a4978a7d86939facb9c6c6b9ada197887b6e6255483b2f2215080000000000000000000b17222d3d4a5764707d8a97a9b2bdc9d5dacfc0b3a79a8d807467554b4035291d1004000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5563707d8996a1adb9c5d2d6cabeb3a99d928d929dabb5c0cbd7d1c4b8aca095887b6f6253493f33271b0f030000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f000000000000070e171e262e343e464e555d656c727d8590959da5aeb4bdc0b7aea49d928d80746e645c52483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d424d5766727f8c99a7ac9f9285796d6053463a2e3d495663707c8997a1ada7988c7f7265574d423d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3935302820160c0200000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000070c13191f252a32373d424a50555d60686d747b828990959ea0a8adb3babfc6cccec9c3bcb8b0aba39f98928c847e776d675c5145382c1f130600000000000000000000000000000000000000000000000000000000000007121d2a36414d56626e7b87939facb9c2cdd8cec3b9ac9f92867a6e61554b4135291d1207000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000814212e3b4754616e7b8796a1acb9c5d2ded6cabeb3a9978b7e7164584b3e2f24180d01000000000000000004101d2935404b556774818e9aa7b4c1d0bfb2a6998c7f8c9aa4afbbc8c5b8ab9e928578695f53473a2e2114080000000000000000000614212e3b4754616e7b8796a1adb9c5d2ddd0c3b6aa9d908377675d5145392c2013060000000000000000000000000000000000000000000000000000000000000000000000000c18242f394653606c7884919eabb8c3ced9d0c5bcaea49d9a9da4aebdc7d1d7ccc0b5ab9d9083776a5f5341382d22170b000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dfe7dbcec1b4a89b8e8175685b4e4235281b0f00000000000000050c141c2328343c434c535b606b707b838e939fa3abb2b7afa59d928d80746e645c524a40362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303b4855616e7b8895a0aca2988a7d7063544a3f37434e586774808d9aa9aca095887b6e6155483b30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2c29241e160e040000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000001080d141a20262b2f383f444b51565e61696e757c838a91969ea1a9aeb4bbc0c7d0cdc8c1bdb5afaaa29f96918a83796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000e1925303b47535f6975828f9ba6b0bbc7d3d3c7bbaea3998c8073675d5145392e23180c000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000b1724313e4a5764717d8a97a8b2bdc9d5dfd3c6baada297887b6e6255483b2f221507000000000000000000000c18242f3e4b5865717e8b98aab4bfcac5b8ab9f9285929facb6c0ccc2b5a89c8f827569574d42372b1e12060000000000000000000714202d3a46525e697885919eabb8c4d1ded2c5b9ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000007121f2b3844505b6673808d9aa7b1bcc8d4d7cec0b6aea9a7a9aeb6c0cfd9d4c7bbafa4998c7f7265584e432f261b1106000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5d2dbdbdbcec1b4a89b8e8175685b4e4235281b0f0000000000000000020a1117222a313a4149505960696e79818b9299a1a8afa59d938d80776c605c524a40382e241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232d3a46535f697783909daaaa9a8e8174665c50443b4754606a7884919eabaa9d908377695f53463a2d2323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232321201d19130c04000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000003090e151b1d262d333940454c52575f626b6f767e848b92979fa3aaafb6bec2c8cecfc7c0bbb3aea8a19e95877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000008141f2b37424d57626f7c89949fabb7c3cdd7cbbfb5ab9f92857a6d60554b4034281c11060000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000004101d2935404b556774808d9aa7b3c0cedaded2c5b8ab9f9285796c605346392d201306000000000000000000000715222f3c4855626f7b8898a2aebac6c6baaea2989298a2aebec7cbc0b5ab998c7f7366594c4031261a0e0200000000000000000005111e2a36424d576875828f9ba8b5c2d2ddd3c7bbafa399897c706356493d30231609000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54626f7c8895a0acb8c7d2ddd2c8c0b9b5b4b5b9c0c8d2dfd2c6b9ac9f93877b6e6154473c3121140a00000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c5cececececec1b4a89b8e8175685b4e4235281b0f00000000000000000000060f181f282f383f444f575e676d747e8791969fa59d938e81776c655b504a40382e261c12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161e2a36424d5766737f8c99a8ab9e9285796d6053463c4955626f7c8896a1ada8998c7f7366574d42362a1e1616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161413110d080200000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000040a0b141c22282f353a41464d535960636c71797f858d92989fa4acb0b8bcc3cbd1cbc5bebab2aca793877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000020e1a26313c4754606a76828f9ca7b1bcc8d4d1c6baada2978c7f72675c5145382e23170b0000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000006131f2c3945515d677683909da9b6c3d0dcdccfc2b5a99c8f8276655b5044372b1f1205000000000000000000000613202d394653606c7985929facb8c5cabeb4aaa29fa2aab4bed0c7bbafa399897c706356493d3023160900000000000000000000020e1a25303f4c5966727f8c99acb6c0ccd8d7cbc0b5ab998c7f7266594c3f31261a0e020000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6a7784919dacb6c0ccd8dad2cbc5c2c0c2c5cbd2dad6cbbfb4aa9c8f8276695e52463a2d20140200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8c1c1c1c1c1c1c1b4a89b8e8175685b4e4235281b0f0000000000000000000000060d161d262d333d454d555c606d727c848f949d938e81776c655b53493f382f261d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0e1a26313c4855626f7b8896a0aca197897c6f635649424e576673808d99a8aca096887b6e6255483b31261a0e0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070401000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000020a11171d242930363c42474f545a61666d727a80868e939a9fa6acb1b9c3ced7d0cac4bdada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000915202b37434e5863707d8995a0acb8c4ced6cabeb3a99e9185796d60544a3f34281d120700000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000714202d3a4753606d7a86929facb9c5d2dfd9ccbfb3a6998c80736653493f33271b0f030000000000000000000006121f2b3844505b6676838f9ca9b6c2d0c5bcb4aeabaeb4bcc5d0c5b9ac9f92867a6d6053473a2d2014070000000000000000000000091723303d4a5663707d899aa4afbbc8d4dcd1c2b5a89c8f827569574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000006111c2b37434e5866727f8c9aa4afbbc8d4e0dcd6d1cecdced1d6dce0d3c7baaea3988b7e7164564d42362a1e110500000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb4b4b4b4b4b4b4b4b4a89b8e8175685b4e4235281b0f000000000000000000000000040b141b2227333b434b515b626a6f7a828d928e81786c655b534941382d261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7784919daaa99a8d807467584e47535f6a7784919daaaa9d9184776a5f53473a2e1f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000060b12181e252a31373d434850545c60686d737b81878f949da0a7b1bcc6d0dbd6cebaada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000030f1b27323d4855616b7783909da8b2bdc9d5cfc5b9ada1978b7e72665c5044392e23180c01000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000a1623303d495663707c8999a3afbbc7d3e0d4c8bdb2a8968a7d7063574a3d2d22170b0000000000000000000000030f1c28333f4a546673808d99a6b3c0cfcec5bebab8babec5ced0c3b6aa9d908377675d5145392c20130600000000000000000000000714212d3a4754606d7a86939facb9c6d2ded1c5b8ab9e928578695f53473a2e211408000000000000000000000000000000000000000000000000000000000000000000000000000f1b26323c4854616e7b87939facb9c6d1dce7e2dddbdadbdde2e3dfd2c5b8ac9f92867a6d6054473b3025190e0200000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929fa8a8a8a8a8a8a8a8a8a8a89b8e8175685b4e4235281b0f00000000000000000000000000020a1117212931394045515860686d78808981786c665b534941382f261b140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a8ab9e9184786a5f544855626e7b8895a0aca8998d807366584e43372b1f0e03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000001070c13191f262b32383e424a51565d60696e747c82899095a0aab4bfcad6d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000a15202c38444f5964717e8a96a0acb9c4ced5c9beb3a99e9184786d60554b4034281e1308000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030f1b27333f495366727f8c99abb5c0cbd7ded2c5b9aca096877a6d6154473a2e2114060000000000000000000000000b17222d3e4a5764717d8a97a9b2bec9d5d0cac6c5c6cad0d7cdc0b4a79a8d817467554b4035291d110400000000000000000000000713202c3945525d687784919daab7c4d0ddd2c6b9ada197887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000000000a15212d3a46535e697683909cabb4bfcbd7d6d6d6d6d6d6d6d6d6d6cabeb3a99b8e8175675d514539291f14090000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7986929b9b9b9b9b9b9b9b9b9b9b9b9b8e8175685b4e4235281b0f000000000000000000000000000000060f171f272f343f464e565e666d737c786d665b544a41382f261d140a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a26313c4955626f7c8896a1aca196887c6f62554d5766727f8c99a8aca196887c6f6255493c31261a0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000002080d151a21272c303940444c52575e616a6f767d839098a2aebac6d3d3c6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000004101c27333d4653606d7884919ea8b2bdc9d5cfc4b9aca0968b7e71675c51453a2f24190d020000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000005121f2b3744505b6575828f9ca8b5c2d1dcddd1c4b7aa9e918477685e5246392d2013070000000000000000000000000615212e3b4854616e7b8797a1adb9c6d2dbd6d3d2d3d6dbd5c9beb3a9978b7e7164584b3e2f24180d01000000000000000000000004111d2935414c566875818e9ba8b4c1d1dcd6cabeb3a9978b7e7164584b3e2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727e8b99a3aebac7c9c9c9c9c9c9c9c9c9c9c9c6b9ada2978a7d7064554c413529170d020000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8175685b4e4235281b0f00000000000000000000000000000000050d151d2329343d444c545c606b706d665c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15222e3b4754606a7884919eaba8998c80736657525e697683909da9ab9e9184786a5f54473b2a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d85929facb8c5d2d3c6baada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b161f2b3844505c66727f8b96a1acb9c3cdd5c9bdb2a89e9184796d60554c4135291e14080000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000613202d394653606c7985929eabb8c5d1d6d6cec1b4a89b8e817568564c41362a1d11050000000000000000000000000714202d3a46525e697885919eabb8c4d1d6d6d6d6d6d6d6d2c6b9ada197887b6e6155483b2e221507000000000000000000000000010d19242f3f4c5865727f8b98abb5bfcbd7dacfc0b4a79a8d817467554c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4754616d7a86929facb9bdbdbdbdbdbdbdbdbdbdbdbdbdb8ab9e9285796d6053463a2f24190d0100000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818181818181818181818181818181817f7265584b3f3225180c0000000000000000000000000000000000030b1218222b323a424a50596063605c544a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586773808d9aa9aa9d908477695f54616e7b87939faca99a8d807367584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a9298a2aebac6d3d3c6baada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d7984919ea7b1bcc8d4cec4b9aca1968b7f72675d51453b3025190b0200000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000815222f3b4855626e7b8897a2adb9c6c9c9c9cbbfb4aa988b7f7265584c3f3025190d0100000000000000000000000005121e2a36424d576875828f9ba8b5c2d2c9c9c9c9c9c9c9c9c5b8ab9e928578695f53463a2d211407000000000000000000000000000816232f3c4956626f7c8999a3aebbc7c9c9c9c3b7aa9d908477675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000914202d3946525d6875828f9ba9b3b0b0b0b0b0b0b0b0b0b0b0b0b0b2a89a8d8174665c514438281e13080000000000000000000000000000000000000000000000000000000000000000000000000e1a2734404d59656f74757575757575757575757575757575726d62564a3d3124180b00000000000000000000000000000000000001071019202930383f444f545653504a42382f261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c4956636f7c8997a1aca095887b6e615665727f8b9aa4ada196897c6f6356493c32261b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949fa2aab4bfcad6dbc6baada093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000b17232e3845515c66717e8a95a0acb8c2d0d5c9bdb2a89e92857a6d60564c41362a1d140a00000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000b1825323e4b5865717e8b98a9b3bebdbdbdbdbdbaaea398897c6f6256493c2f23160800000000000000000000000000020e1a25303f4c5966727f8c99acb6c0bdbdbdbdbdbdbdbdbdbdb5a89b8f827568574d42372b1e1205000000000000000000000000000713202d3a4653606d7986929facb9bdbdbdbdbdb9ac9f93867a6d6054473a2d2114060000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c5664717d8a97a2a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a196897c6f63544a403428160c010000000000000000000000000000000000000000000000000000000000000000000000000c1824303c48535d656868686868686868686868686868686865625b51463a2e2215090000000000000000000000000000000000000000070e171e262e343d44484946443f3830261d140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7884919eaba7998c7f72665e6876838f9cacab9e9184786c605346392d20130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6aeb4bcc6d0d7cfcabaada093877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000006111c2834404b54606c7883909da6b0bec7d2cec4b9ada1978c8073685e52463d2f261c1106000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005111d2a36414c566874818e9ba7b0b0b0b0b0b0b0b0ac9f9286796d6053463a2d2013070000000000000000000000000000091623303d495663707c899aa4afb0b0b0b0b0b0b0b0b0b0b0b5ab998c7f7266594c3f31261a0e020000000000000000000000000006131f2c3845515c677783909daab0b0b0b0b0b0b0afa499897d7063564a3d2d22170b00000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4753606d79859296969696969696969696969696969696969184786c605346392e231806000000000000000000000000000000000000000000000000000000000000000000000000000814202c37414b53595b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b585651493f34291d1206000000000000000000000000000000000000000000050c151c232832383b3d3a38342e261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d9aa9a99d90837669616d7a86929faca99a8d8074655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000003090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0babfc6ced1cbc5beb9b2a093877a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000c18232e3944505b66707d8a949facb6c0ccd6cabeb3a99f92867a6e61584e42382d22170b020000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000713202d3946525e687784919da3a3a3a3a3a3a3a3a3a39d908376665c5145382c1f130600000000000000000000000000000714212d3a4754606d7a86939fa3a3a3a3a3a3a3a3a3a3a3a3a3a399897c706356493d30231609000000000000000000000000000004101c2834404b556774818d9aa3a3a3a3a3a3a3a3a3ab998c7f736653493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c6774818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8073655b5044372b1f120700000000000000000000000000000000000000000000000000000000000000000000000000040f1a252f3941484d4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4b4a463f372d23180d0100000000000000000000000000000000000000000000030a111721272c2f302d2b28231c140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d8997a1ac9f93877b6e64717e8b99a3ada197897d706353493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2cad0cfc6bfbab3ada8a093877a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000007121d28333f4a54616b76828f9aa4afbbc5d0cfc5baaea2988e81746a60544a3f33281e14080000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212e3a4754616d7a87969696969696969696969696968d807367544b4034281c100400000000000000000000000000000613202c3945515d6777849196969696969696969696969696969692867a6d6053473a2d2014070000000000000000000000000000000c18232e3e4b5864717e8b9696969696969696969696968f8276655b5044372b1f12050000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6153493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000009131d272f373c40414242424242424242424242424242423f3d3a342d251b110600000000000000000000000000000000000000000000000000060c161b202223201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3a4653606d7985929eaba49a8b7e726775828f9babab9e9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29e9691877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa9b3becad6cabfb4aa9f93877c6f665b50443b3025190d0400000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000a1724303d4a5763707d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a7e7164574a3e2e23180c00000000000000000000000000000004111d2935414c556874818a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377675d5145392c1f13060000000000000000000000000000000715222f3b4855626e7c888a8a8a8a8a8a8a8a8a8a8a8a8a85796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3946525e696e707070707070707070707070707070707070706d685e5241382d22170b000000000000000000000000000000000000000000000000000000000000000000000000000000010b151d252c30343535353535353535353535353535353532312e29231b1309000000000000000000000000000000000000000000000000000000040b101316161312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c6674818e9aaaac9c8f82766d7a86929facaa9a8e8174665c5044382b1b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb7afaba39f97928b847e71685d5245392c2013060000000000000000000000000000000000000000000000000000000000000000000000000006111c262f3e4754606a74818e97a2adbac3d0d0c6bbafa4999083786c60564c41362a20160c01000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000815222e3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6054473a2d211407000000000000000000000000000000010d19242f3b4855616e7b7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62554b4035291d10040000000000000000000000000000000613202d394653606c787d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000007121d2a36424d575e6163636363636363636363636363636363636363615e564c412f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000030b131a202427282828282828282828282828282828282524221d1811090100000000000000000000000000000000000000000000000000000000000407090a070603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5463707d8a98a2ac9f92867a717d8a98a3aea2988a7d7063544a3f34281c0a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b0aba59e99928d857f79716c61564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa7b1bec7d2ccc0b5aba0958b7f72685e52463d32281e1308000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000714212d3a46535f696e7070707070707070707070707070706d685d5245392c201306000000000000000000000000000000000814212d3a46535f696e70707070707070707070707070707070706f6a5f5343392f24180c0000000000000000000000000000000006121f2b3844505b666c7070707070707070707070707070706d665c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000010e1a25303b454d52545757575757575757575757575757575757575754524c443a301d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181a1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b181815120d0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3a4653606d7985929faba3998a7e75818e9baaab9f9285796d6053463a2e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca69f9c938e86807a726d66615a50433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000020b1b27323c46525e68727f8b95a0acb6c0ccd2c7bdb1a79f92857a6e61594f443a2f24190e050000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130005121e2a36424d575f61636363636363636363636363636363605d564c4135291d11040000000000000000000000000000000005121e2b37424d575f616363636363636363636363636363636363625f584e4331271d120700000000000000000000000000000000030f1c28333f4a545b60636363636363636363636363636363605c544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e0b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0e0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c6675818e9baaab9b8f827985929fabaa9b8e8175665c5145382c1c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000000000000001070d141a20262b30383f444b51575e616a6f767d848b92979fa2aaafb6bec2c8cecfc6bfbab3ada8a09e949089817b736d68605c5450483e31281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4afbbc4cfd0c3baada2978e81746b60564c41352920170d0200000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300020e1a26313b454d535557575757575757575757575757575754524c433a2f24190d0100000000000000000000000000000000020e1a26313c454d5355575757575757575757575757575757575755534e463c321f150b0100000000000000000000000000000000000b17222d38424a505357575757575757575757575757575753514b42392e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212930363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a3936302920170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b5464717d8a98a2ac9f92867d8a97a2ada2988a7d7064544b4034281c0a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc7c1bdb4aea9a29f96918a837c756e69605d56514a423e362c1f160c0100000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303a44505c666f7d88939fa9b2bec9d5cabeb3a99e93897d70685d52453e32291f140800000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000009141f29333b4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4745413a31281e130800000000000000000000000000000000000009141f2a333c4246484a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4947433c342a200d0300000000000000000000000000000000000006111c262f383f44464a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4645403930271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e303030303030303030303030303030303030302e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3a4753606d7986929faca2989184919ea9ac9f9286796d6053473a2e23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a8adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6a615f57524c444039302c241a0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28343f4a54606b74818e97a1adb9c1cdd0c5bcafa59e91847a6d605a50443b3025191107000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000030d18212931363a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a39352f281f160c01000000000000000000000000000000000000030e18212a31373a3b3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c3b37322a22180e00000000000000000000000000000000000000000a141d262d3338393d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e20212424242424242424242424242424242424242421201d19130c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c3945515d6775828f9babaaa0969196a0acab9b8e8275675d5145392c1d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1925323f4c5865727f8b98a5b2becbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000000000000040a0c151c23282f353b42464e545961666d727a80868e939a9fa6acb1b9bec5cacfcac4bdb9b1aba59e99928d857f79716c626058534d45413a342e271e1a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b17232e38424f59606d7a84919ea5afbbc5cfcec1b9ada1968e81756c61564d41362a23190e050000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000060f181f262a2d2e3030303030303030303030303030302d2c29241e160d040000000000000000000000000000000000000000060f181f262b2d2e30303030303030303030303030303030302f2e2b26201810070000000000000000000000000000000000000000020b141c22282b2d3030303030303030303030303030302d2c28231d150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415171717171717171717171717171717171717171413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b5564717e8a99a3aea8a09ea0a8aea3998a7e7164554b4035291d10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0f03000000000000000c1926323f4c5965727f8c98a5b2bfcbd8d4c8bbaea195887b6e6255483b2f22150800000000000000000915222f3c4855626f7b8895a2aebbc8d5dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000000000000002090e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bdc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544e46423b353028231c150c0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45525d68707d8a939ea9b3becad5c9bdb2a89e938a7e71685e52463f352b20170c0300000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000060d141a1e212224242424242424242424242424242421201d19130c0400000000000000000000000000000000000000000000060e141a1e2122242424242424242424242424242424242422211f1b150e0700000000000000000000000000000000000000000000020a11171c1f20242424242424242424242424242424201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3a4754606d7a86929facb2acaaacb2ac9f92867a6d6054473a2f24180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4236291c0a00000000000000000d192633404c5966737f8c99a6b2bfccd9d5c8bbaea295887b6f6255483c2f2215060000000000000000091623303c4956636f7c8996a2afbcc9d5dbcec1b5a89b8e8275685b4f4235281c0f000000000000000000000001070d141a20262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089817b736d68605c545047433d363129241e18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c56616c75818e97a1adb9c0cccfc4baafa59e92857a6e615b51473d33291e150b00000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000003090e1214151717171717171717171717171717171413110d080100000000000000000000000000000000000000000000000003090e12141517171717171717171717171717171717171615130f0a0400000000000000000000000000000000000000000000000000060b0f12131717171717171717171717171717171313100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202c3945515d6775828f9cabb5b9b7b9b5ab9c8f8275675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f8275695c4f4232261b0f03000000000000010d1a2734404d5a6773808d9aa6b3c0cdd9d6c9bdb0a3968a7d7063574a3d2d22170b00000000000000000a1724303d4a5763707d8a96a3b0bdc9d6dbcec1b5a89b8e8275685b4f4235281c0f00000000000000000000060c13181f252a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69605d56514b423e38322a261f19130c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7a85929ea5afbac3cfccc1b9ada1978f82756d62594f453b30271d1207000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040100000000000000000000000000000000000000000000000000000000020507080a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0908060300000000000000000000000000000000000000000000000000000000000306060a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5565717e8b99a3afbbc4bbafa3998b7e7164554c4135291d0b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dbcfc2b5a89c8f827569584e43372b1f1409000000000000010e1b2834414e5b6774818e9aa7b4c1cddad8cbbeb2a5988b7f726553493f33271b0f03000000000000000b1824313e4b5764717e8a97a4b1bdcad7dbcec1b5a89b8e8275685b4f4235281c0f0000000000000000030a11171d242930363c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302b27201a140d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46525e68707e8a939da8b2bdc7d1cabeb3a99e948c7f726b60574d42392e231811080000000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a4754616d7a86929facb9c5b9ac9f92867a6d6154473a2f24190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd0c3b7aa9d9083776a5f54473b31251a0e04000000000005111e2a36414c566976828f9ca9b5c2cfdcdacdc1b4a79a8e8174655b5044372b1f150a000000000000000c1926333f4c5966727f8c99a5b2bfccd8dacdc1b4a79a8e8174675b4e4134281b0e000000000000040a0c151c23282f353b42464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d45413a342e271e1b160e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36414c56616c74818e96a0abb5c0cbcfc5bbb0a69f92877d70695e544b403428231a100700000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813202d3946525e6876828f9cacb6c0b6ac9c8f8276685e5246392d1e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ded1c4b8aca095887c6f62574d42362a20160d03000000000713202d3946525e687885919eabb8c4d1deded1c4b8ab9e9184786c6053463c31261a1107010000000006121e2a36424d576875828e9ba8b5c1cedbd9ccc0b3a6998d8073665a4d4033271a0d0000000000070e151b1e262e343a41454d52585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938e86807a726d66615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1925303b44505a606d79849199a3afbbc1cccdc1bbafa39992857b6e665c51453f352c22190f06000000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665727e8b9aa4afbbafa49a8b7e7265564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e0d4c8bcb1a79a8e8174695e53463d32281f150c070506080f17212e3a4754616d7a8797a1adb9c6d2dfdfd2c6b9ada197897c6f62584e43372b2318120b060606070e18212d3a46535f697884919eabb7c4d1ded8cbbfb2a5988c7f7265594c3f3226190c0000000007101820262b30383f444b51575e616a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a09e959089827b746d68605c545048433d363129241e18120b030000000000000000000000000000000000000000000407090a0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b08141e29323e45515d676f7c87929fa6b0bac4cecbc0b5aba1979083786d605a50473e342b21180e050000000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b4754616e7b87939facb9ac9f93877b6e6154473b3025190d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9cdc3b9ac9f92867b6e61594f443a31271e181311131419212a36414c5664717d8a97a9b2bec9d5e1e1d5c9beb2a99b8e81746a5f53473f3529231d1713121313182028343f4a54616e7b8896a1acb9c5d2ded7cabeb1a4978b7e7164584b3e3125180b000000071119222a32373e424a50555d60696e747c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615d56514b423e38322a261f19130c07000000000000000000000000000000000000000000050b1013161617171717171717171717171717171717171717171717171717171717171717171717171717202935404b55606a727f8c939ea8b2bcc6d0c7bdb3a99f958d80746c62594f463d332a20170d0500000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3946525e687683909ca9b6a99c908376685e5246392d1e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe0d3c7baaea3988e81746b60564c4339302924201d1f202429333b46525e6875828f9ca8b5c2cfdae6e6dacfc4b9ac9f93877c6f625b51473e342f2722201f1f202429323b44505c6673808c99a8b2bdc9d5e1d5c9bdb2a8968a7d7063574a3d3024170a0000050f19232b343c43474f545c60676d737b81878f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e766f6b615f57524c454039302c27211a140d0802000000000000000000000000000000000000000000070f161c2022232424242424242424242424242424242424242424242424242424242424242424242424242424242f3a434e58606c77828f96a0aab4bfcacfc5bbb1a79d928b7e716b61584e453c322920160e05000000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414d5665727f8c98a7b1a7988c7f7265564d41362a1e0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe3d7cbbfb4aa9f93877d70685d554b423b352f2d292c2d2f353c454e58616d7a86929facb9c5d2dfece7e0d4c7bbafa4998f82756d635950454039332d2d2b2c2d2f353b444d57606d7884919eabb8c4cedadfd2c5b9ada196887b6e6155483b2e22150800000b16212b353d464e535961666d727a80868e939a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c636059534d46413a342e271e1b160e09030000000000000000000000000000000000000000000007111921272c2f3031313131313131313131313131313131313131313131313131313131313131313131313131313131313d44505b656d7a849198a2aebabfc9cdc2b9aea49f92877d706a60574d443b322820170e050000000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b4854616e7b8795a0ab9f95877b6e6154483b3025190e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfe7dcd1c6bbafa49991847a6d675c544d45403a3935383a3b41454e57606a74808d99a3afbbc7d3e0e3dcd5d1ccc0b5ab9e948c7f726b615a514b443f3b3a38383a3b40454d565f69727f8c96a1adb9c5d6e0ded1c4b7ab9e918478695f53463a2d2114070004101c27323d474f585f626b70787e858d92989fa4acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67615a544f46423b353028231d150c0a040000000000000000000000000000000000000000000000050f19232b33383b3d3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3f49535d686f7c86929fa4aeb7c1cbcbc0bbafa39992867c6f695f564d443a322920170f0600000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212d3a46535e697783909daa9d908377695e53463a2d1f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3dfebe2d7ccc0b5aba1968f82796d665f57514b4746414547484c52585f696f7c88939fabb5c0cbd7e3dad2cac5c1c0bdb0a69f93877d716c605c5550494746444546484b51575f686e7b86929fa9b2bdc9d5e8dacec1b4a79b8e817468574d42372b1e1205000713202c38444f59606a6f767d838b92979fa2aaafb6bec2c8cecfc6bfbbb3ada8a19e959089827b746d68605c555048433d363129241e18120b03000000000000000000000000000000000000000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4c565f6a717e8b929ca5afb9c2cfcbc0b5aba29892857b6e685e564c443b322921180f06000000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a7998c7f7266574d42362a1e0d02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ebe2d9d2ccc7bdb2a89f948f82786e69605d5554524c515354565d606a6e7b84919aa4afbdc7d1dcdfd2c8c0b9b5b3b8baafa49992877e736d67605b53545350515354555d60696e7a839098a2aebbc4cfdadfd3c7bbb0a6978b7e7164584b3e31261a0e02000916222f3b4854606b707c828a91959ea1a9aeb4bbc0c7d0cdc8c1bdb5aea9a29f96918a837c756e69615e56514b433e38322a261f19130c07000000000000000000000000000000000000000000000000000004101c27333d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758616c73808d939ea6b0bdc6d1c7bdb4aaa19791847a6e685e564c443b332921180c030000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b4855626e7b8895a095887b6e6255483b31251a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3e4d9d0c7c0bbb9bbb0a69e948f837b726d6763615d565c606164686d737c849196a1acb6c0cfd9e1d7cdc0b6aea8a6abaeb3aba399928b8079716c656361605c5c606164676d737b849095a0aab4bfcdd6e0dcd0c3b7ab9f94877b6e6154483b2e21150900000a1623303d495663707d888f949da0a7adb3babfc6cccec9c2bcb8afaba39f97928c847e786f6b615f57524c454039302c27211a140d08020000000000000000000000000000000000000000000000000000000713202c38444f596063646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646c77818e949fabb4bfcbcfc6bcb3a9a19690837a6d685e564d453b33291e150b0000000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000914212e3a47535f697784919d908477695f53473a2e1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ddd2c7beb6afacafb6b0a69e9590857f7a74706d686b676d6e71757a80869196a1a8b2bec7d2e1dbcfc5bbaea49c999fa2aab3aba39f928d847e7874706e6d66676d6e71747a80869196a0a7b1bcc6d0dfdfd4c8bcb1a79c8f8276695e53463a2d21140700000a1724313d4a5764707d8a9a9fa6acb1b9bec5cad0cac4bdb9b1aba59e99928d857f79716c656059534d46413a342e271e1b160e090300000000000000000000000000000000000000000000000000000000000916222f3b4854606b7071717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717179839099a3aebac7d3cec5bbb2a8a09590837a6e685e574d453b30271d120700000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808c998c807366574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d8ccc0b6aca49fa4acb4b0a79f98928c85817d7a7978797a7b7e81858d9298a1a8b2bac4d0d9e0d6cabeb3a99c928d9298a2aeb4aea49c96918a84817d7a797878797b7e81858c9298a0a8b1b9c3ced8e1d6cdc4b8aba095897d7063574d42362a1e120500000a1724313d4a5764707d8a97acb0b8bcc3c9cfcbc5bebab2aca79f9d938f86807a726d67605b534f46423c353028231d150c0a04000000000000000000000000000000000000000000000000000000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7f86929facb9c5d2d7cdc4bab1a7a09590837a6e695f574d42392e23180c00000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4855626f7c8896887c6f6255483c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d4c8bbafa49a939aa2aab4b1aaa29f97928d8a8786858586878a8e92979fa3aab2bac4ccd6e1d8cec6b9ada2978d8086929fa9b2baaea8a19e96918d898786858586878a8e92979fa2aab2bac3cbd5e0d9cfc4bbb0a69d9083776b6054453b31251a0e0200000a1724313d4a5764707d8a97a3b0bdc8cecfc7c0bbb3ada8a19e959089827b746d68605c555049413d373129251e18120b03000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8b9299a3aebac7d3dfd6ccc3b9b1a7a09590847b6e695f544b4034281c1004000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a77849184776a5f53473a2a2015090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3d2c6b9ac9f93869298a2aebab3aea9a19e9a96999291929894979b9fa2a9aeb4bcc4ccd6ded9cfc6bcb1a79e92857a7f8c96a1abb5bab2aca9a19e9a96999391929794979b9ea2a9aeb4bcc4ccd5ddd8d1c7bdb3a99f948a7e7164594f4433291f14090000000a1724313d4a5764707d8a97a3b0bdcdc8c1bdb5afa9a29f96918a837c756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778390979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797989fa3abb4bfcbd7e3ded5cbc3b9b1a7a09691847b6e665c5145382c1f1306000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e586773808d807366584e43372b180e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3cec1b4a79b8e8186929fa5afb9bab3adaba7aba39f9e9fa2aaa4a8abadb3babfc6cfd6dfd7d0c7bdb4aaa0958c7f7379849199a3afbbbdb9b2adaba7aba49f9e9fa2a9a4a7abadb3babfc6ced5ded7cfc6bfb5aba1978f82786c6053463d3320170d030000000a1724313d4a5764707d8a97a3b0bdc3bcb8afaba39f97928c847e786f6b615f57524c454039332d261d1a140d0802000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a5acaeb4bdc6d1dce7e7ddd5cbc3b9b1a8a0969184796d6053463a2d201307000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4956626f7c897c6f6256493c31261b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6d3ccbfb2a6998c7f7f8c939ea7b0b8beb9b8b4b4aeacabacaeb4b1b4b8babec5cbd1d8d9d5cdc5bdb5aba3989083796d6f7d87929fa3afb6bebdb9b8b4b5afacababadb3b1b4b8b9bec5cad0d8d9d4cdc5bdb5aea39991857a6e665b5044382b1f1205000000000a1724313d4a5764707d8a97a3b0bdb9b1aba59e99928d857f79716c656059534d46413a342e27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b1b9babfc6cfd8e2edefe7ddd5cbc3bab2a8a196867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a13202d394653606c7883786c605346392d20130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c6ceccbfb2a6998c7f79818f959fa6afb9bec5c0bfbab9b8b8babfbdc1c5c6cacfd7d7d4cec9c2bbb3aba39992867c6f666b727f8c919fa4acb2bbc0c4c0c0bbb9b8b8babebdc1c5c6cacfd6d7d3cec8c2bbb3aba39f92877d70685e544a3f33281c0f03000000000a1724313d4a5764707d8a97a3b0b2aca79f9d938f87807a726d67605b534f47423c353028231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbec5c7cbd1d8e1eaf4f0efe7ddd5ccc3bab2a893867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4e1d9cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4dfd2c5b9ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656e7b6e655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb9c1c1c1bfb2a6998c7f73798390949ea5adb3babfc5c7c5c4c5c6cad0ced2d3d3d2d1cbc7c4bdb9b1a9a29992877e716a5f626d737f8b939aa1a8afb5bbc0c7c7c6c4c5c6cad0ced1d2d3d2d1cbc7c3bcb8b0a9a299928b7f726b60564c42382d22170b00000000000a1724313d4a5764707d8a97a3aea8a19e959089827b746d68605c555049413d373129251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3cacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacbd2d3d7dce2eae3e3e3e3e3e7ded5ccb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7d4d6d6cdc0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7d4d6d2c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535f6a6e6a5f53493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0acb4b4b4b4b4b2a6998c7f736d7a828e939ea1a9aeb4b8bcc1c3c5c7cbd1c9d1cbc7c5c3c0bbb9b2aca79f9792877e716c61585b636d737f8891969fa4abafb5b8bcc1c3c5c7cbd0c9d0cac6c5c4bfbab9b1aca69f9792877e726d63594f443b2f261c110600000000000a1724313d4a5764707d8a97aaa29f96918a837d756e69615e56514b443f382f2b261f19130c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3d0d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d3c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebac7c9c9c9c9c0b3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebac7c9c9c9c5b9ac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414e585f625f584e41382d22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a8a8a8a8a8a8a6998c7f73686d79818a92979fa2aaacb1b4b7b9bbc0bcbcbcbfbab9b6b5afaca8a09e9590857e716c615a50515b636d727d848e93999fa3abacb1b4b6b8babfbbbcbcbebab8b7b4aeaca7a09d9490857d716c635b51473d32291d140a0000000000000a1724313d4a5764707d8a979f98928c847e78706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6c3c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c6b9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aebabdbdbdbdbdbdb3a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aebabdbdbdbdbdb9ac9f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3c464e5355534e463c2f261b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b9b9b9b9b9b9b998c7f7366676d757e858d92989da0a7a8aaacafb5afafafb4aeacaaaba39f9c96918b837b706c615a504849515b626b707981878e92999da0a7a7a9acaeb4afafafb3adabaaaba39f9c95908a837c706b625a51493f352b20170b020000000000000a1724313d4a5764707d8a99928d857f79716c656059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab6bdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdbdb9ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0b0a69a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aeb0b0b0b0b0b0b0ac9f9286796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c43474847433c342a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79868e8e8e8e8e8e8e8e8e8e8e8c7f73665c606c717a80858c9095989b9d9fa3aba2a3a2aaa39f9d9a99928f8b847e786e69615a50483e4049515960676d747b81868c9095989a9d9fa3aaa2a3a2a9a29f9d9a99928f8b837d766e6a605950483f372d23190e05000000000000000a1724313d4a5764707d8a8f87807a726d67605b534f47423c363029231d17110a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909daab0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0ada093867a6d6053473a2d201407000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a3a39a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a3a3a3a3a3a3a3a3a39f9286796c5f5346392c201300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18222a31373a3b3a37312a22180b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c78818181818181818181818181817e7064575a61686d737a7f83888c8e90929995959695959892908e8b86827e79716d665e5750483e36373f474f555d60696e747b7f83888b8e90929894959695949792918e8a86827e78706b625f584f473f362d251c110700000000000000000a1724313d4a5764707d89827b746d68605c555049413d37312a251e18120b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909da3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a093867a6d6053473a2d201407000815212e3b4854616e7b87949696969696969696969696968d8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879496969696969696969696969286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1820262b2e2f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c75757575757575757575757575706c615550565e61686d72777b7f818486878889898988878683817e7a76716d66605c544d453e362c2d353d434b51575f62696e73777b7e818385878888898987868584817d7a76716c666159534e463d352d241c130a0000000000000000000916222f3c4955626f7c7c756e69615e56514b443f382f2b261f19130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969693867a6d6053473a2d201407000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a8a8073675a4d4034271a0d01000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878a8a8a8a8a8a8a8a8a8a8a8a8a87796c5f5346392c2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151a1f2122211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606868686868686868686868686864615a50444c52565d6066696e727577797a7b7c7c7c7b7a797774716d6864605c54504a423b332c23232b313a41454d53575e6166696e727476797a7b7c7c7c7b7a787774706d6764605b544f47433c332b231b120a010000000000000000000815212e3b47535f6a6f706b625f57524c454039332d261d1a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a77838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a867a6d6053473a2d201407000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000714202d3a4753606d797d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063574a3d3024170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12141514120f0a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50535b5b5b5b5b5b5b5b5b5b5b5b5b575550483e41464c5254575f616568666d6e6e6f706f6e6e6d666765615e5653514a443f383029211a191f282f353c42474d5354575f616567666d6d6e6f706f6e6d676a6764605d5553504a423e37312a21191109000000000000000000000006131f2b37434e585f62636059534d46413a342f27221b140b09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d786d6053463a2d2013070006131f2c3845515d676d7070707070707070707070707070706e6a5f53473a2e211408000000000000000000000000000000000000000000000000000000000006131f2c3845515d676d7070707070707070707070707070706b6155483c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206080808060200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f44464e4e4e4e4e4e4e4e4e4e4e4e4e4a49443e36363a4145474d535559545c6061626263626261605c545854524c46444039342e261e170f0d161d242931373b4246484d535558545c60616162636261605c555b5754514b46443f382f2b2620180f07000000000000000000000000030f1b26323c464e535556544f47423c363029231d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070706d665c5044382b1f12060004101d2935404b555d60636363636363636363636363636363625f584e43372b1f1206000000000000000000000000000000000000000000000000000000000004101d2935404b555d6063636363636363636363636363636361594f44382c20140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333839424242424242424242424242423d3c39332c2a3035393c4246484c4b51535455565656555453504a4b4746413a38342e28231c140c05040c13181f262b31363a3c4246484b4a505354555556565453514b4e4a4745413a38332d261d1a150e0600000000000000000000000000000a15202a343c4347494948443d37312a251e18120b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f59606363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363605c544a3f34281c100300000c18242f39434b515357575757575757575757575757575755534e463c31261a0f020000000000000000000000000000000000000000000000000000000000000c18242f39434b5153575757575757575757575757575757554f473e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d3535353535353535353535353531302d28221e24292c31373a3b3f4045464748494949484746443f3e3a3936302c28231c17110a02000001070d151a1f252a2d31373a3b3f3f4446474849494948474540413d3a39352f2b28221c140b0903000000000000000000000000000000040e18222a32373b3c3d3b38322b262019130c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f54565757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575753504a42382e23170b00000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4847433c332a2015090000000000000000000000000000000000000000000000000000000000000007121d2731394045474a4a4a4a4a4a4a4a4a4a4a4a4a4a4a48443e352c21160b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282828282828282828282828282423201c1713191d20262b2d2e2e34383a3b3b3c3d3c3b3b3a38342e2e2d2a251f1c18120b0600000000000003090e141a1e21262b2d2e2e34383a3a3b3c3d3c3b3a38342f312d2c29241f1c17110a0200000000000000000000000000000000000007101820262b2e2f302f2c27211a150d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a46443f3830261c1106000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000010b151f272f35383a3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3c38332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b1b1b1b1b1b1b1b1b1b1b1b1b171614100b080d11141a1e212223282c2d2e2f2f302f2f2e2d2c282321201e1913100c070000000000000000000003090e12141a1e212223282b2d2e2e2f302f2e2d2c29232421201d18130f0b06000000000000000000000000000000000000000000070e151b1f21222322201b160e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19232b32383b3c3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3a38342e261e140a0000000000030d151d24292c2d3030303030303030303030303030302f2e2b2620180f06000000000000000000000000000000000000000000000000000000000000000000030d151d24292c2d3030303030303030303030303030302f2c28211a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f0f0f0f0f0f0f0f0f0f0f0f0f0a0a080400000104090e121415181c1f2021222323232221201f1c171413110d080400000000000000000000000000000205090e121415171c1f20212222232321201f1c18171413110d0703000000000000000000000000000000000000000000000000040a0f131516161613100b0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030302d2b28231c140c02000000000000030b12181d1f2024242424242424242424242424242422211f1a150e060000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f2024242424242424242424242424242423201c1610080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020202020202020202020202000000000000000000020507070c101313141516161615141312100c0607050100000000000000000000000000000000000000020507060b1012131415161616151413100c070706040100000000000000000000000000000000000000000000000000000000030608090a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f222324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424201f1c17110a02000000000000000001070c1013141717171717171717171717171717171514120f09030000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141717171717171717171717171717171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070808090a09080807060300000000000000000000000000000000000000000000000000000000000306070708090a090807060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171717171312100b06000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0a0a0a0a0a0a0a0a0a0a0a0a0a0a09070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 diff --git a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset index b8c5a10d..4afe9f96 100644 --- a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset +++ b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro B SDF Dynamic_Outline.asset @@ -370,6 +370,10 @@ MonoBehaviour: m_LigatureGlyphID: 9817 - m_ComponentGlyphIDs: 19000000100000001a000000 m_LigatureGlyphID: 9805 + - m_ComponentGlyphIDs: e8030000ef030000c4030000ae030000ef030000 + m_LigatureGlyphID: 11956 + - m_ComponentGlyphIDs: e8030000dc030000 + m_LigatureGlyphID: 11955 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 79 @@ -7571,6 +7575,261 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: 1334653216 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -14.400001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -14.400001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -2.7 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 928 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 939 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 955 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 970 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 981 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 982 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 999 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 944 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 966 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -140 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: 1946038560 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset index 3e7a629c..9c9552f0 100644 --- a/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset +++ b/Assets/Resources/Fonts/rodin/FOT-Rodin Pro DB SDF Dynamic.asset @@ -132,6 +132,12 @@ MonoBehaviour: m_LigatureGlyphID: 11868 - m_ComponentGlyphIDs: 4f00000054000000 m_LigatureGlyphID: 8029 + - m_ComponentGlyphIDs: e8030000ef030000c4030000ae030000ef030000 + m_LigatureGlyphID: 11956 + - m_ComponentGlyphIDs: e8030000dc030000 + m_LigatureGlyphID: 11955 + - m_ComponentGlyphIDs: cb030000a0030000c0030000 + m_LigatureGlyphID: 8052 m_GlyphPairAdjustmentRecords: - m_FirstAdjustmentRecord: m_GlyphIndex: 79 @@ -208,6 +214,1281 @@ MonoBehaviour: m_XAdvance: 0 m_YAdvance: 0 m_FeatureLookupFlags: -1702022880 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -12.6 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 928 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 939 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 955 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 970 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 999 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 944 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 966 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -100 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -120 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 1000 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7891 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 847 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 851 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 852 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 862 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 872 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 873 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 878 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 909 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 926 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -3.6000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 959 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 634 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 635 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 636 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 1.8000001 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 637 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 660 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 926 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 930 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 937 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 953 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 960 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 961 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 963 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 977 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 978 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -10.8 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 986 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -9 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 997 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -7.2000003 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 878 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 879 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 880 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: -5.4 + m_YAdvance: 0 + m_SecondAdjustmentRecord: + m_GlyphIndex: 909 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 858 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 859 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 868 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 877 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 894 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 905 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 920 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7887 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 916 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 934 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 967 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 930 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 957 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 971 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -100 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -60 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 988 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7891 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 858 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -40 + m_SecondAdjustmentRecord: + m_GlyphIndex: 859 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -20 + m_SecondAdjustmentRecord: + m_GlyphIndex: 894 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 + - m_FirstAdjustmentRecord: + m_GlyphIndex: 864 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: -80 + m_SecondAdjustmentRecord: + m_GlyphIndex: 7888 + m_GlyphValueRecord: + m_XPlacement: 0 + m_YPlacement: 0 + m_XAdvance: 0 + m_YAdvance: 0 + m_FeatureLookupFlags: -1861144288 m_MarkToBaseAdjustmentRecords: [] m_MarkToMarkAdjustmentRecords: [] m_ShouldReimportFontFeatures: 0 diff --git a/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat b/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat index 00360ded..1ab266b1 100644 --- a/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat +++ b/Assets/Resources/Models/Games/Airboarder/Materials/sky.mat @@ -87,6 +87,6 @@ Material: - _ZWrite: 1 m_Colors: - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 0.9921569, g: 0.7686275, b: 0.9921569, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat b/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat index eb9f6802..3d8ebdba 100644 --- a/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat +++ b/Assets/Resources/Models/Games/BuiltToScaleDS/Materials/World/Belt.mat @@ -65,7 +65,7 @@ Material: - _MainTex: m_Texture: {fileID: 2800000, guid: 42ac679b050de8c4288fbafb9d353498, type: 3} m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} + m_Offset: {x: 0, y: -0.013172884} - _MetallicGlossMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta b/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta index 3dd473ce..2ca71d5b 100644 --- a/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta +++ b/Assets/Resources/Sprites/Games/BonOdori/bonOdoriFlowerCPU2.mat.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 53060b147886931488ba4a4b3c5eb9f3 +guid: c8acac2b02dd6fe4e9f6b17af06b1032 NativeFormatImporter: externalObjects: {} mainObjectFileID: 2100000 diff --git a/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat b/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat index 817dd5d1..d9ea3479 100644 --- a/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat +++ b/Assets/Resources/Sprites/Games/DoubleDate/DoubleDateCellanim.mat @@ -83,6 +83,6 @@ Material: - _ZWrite: 1 m_Colors: - _AddColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0.9528302, g: 0.87130237, b: 0.7775454, a: 1} + - _Color: {r: 0.9529412, g: 0.87058824, b: 0.7764706, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat b/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat index bf05f2fb..0b2c7525 100644 --- a/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat +++ b/Assets/Resources/Sprites/Games/SeeSaw/SeeSaw.mat @@ -87,6 +87,6 @@ Material: - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAlpha: {r: 1, g: 1, b: 1, a: 1} - _ColorBravo: {r: 1, g: 1, b: 1, a: 1} - - _ColorDelta: {r: 0.03921569, g: 0.0627451, b: 0.2352941, a: 1} + - _ColorDelta: {r: 0.039215688, g: 0.0627451, b: 0.23529412, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Scripts/Games/Airboarder/Airboarder.cs b/Assets/Scripts/Games/Airboarder/Airboarder.cs index 91e4a165..58adebfd 100644 --- a/Assets/Scripts/Games/Airboarder/Airboarder.cs +++ b/Assets/Scripts/Games/Airboarder/Airboarder.cs @@ -500,9 +500,9 @@ namespace HeavenStudio.Games newArch.appearBeat = beat; newArch.gameObject.SetActive(true); if (crouch) { - archBasic.CueCrouch(beat); + archBasic.CueCrouch(beat+25); } else { - newArch.CueDuck(beat); + newArch.CueDuck(beat+25); } } @@ -511,7 +511,7 @@ namespace HeavenStudio.Games Wall newWall = Instantiate(wallBasic, transform); newWall.appearBeat = beat; newWall.gameObject.SetActive(true); - newWall.CueJump(beat); + newWall.CueJump(beat+25); } diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index c2f74d7d..bda68514 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -1096,6 +1096,7 @@ namespace HeavenStudio }), } }, + new GameAction("colorGrading", "Color Grading") { resizable = true, @@ -1128,6 +1129,124 @@ namespace HeavenStudio }), } }, + + new GameAction("gaussBlur", "Gaussian Blur") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 5f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 5f, 1f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Linear, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("retroTv", "Retro TV") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Distortion", "Set the distortion at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.2f), "End Distortion", "Set the distortion at the end of the event."), + + new("rgbStart", new EntityTypes.Float(0f, 1f, 1f), "Start RGB Blend", "Set the RGB blend at the start of the event."), + new("rgbEnd", new EntityTypes.Float(0f, 1f, 1f), "End RGB Blend", "Set the RGB blend at the end of the event."), + + new("bottomStart", new EntityTypes.Float(0f, 1f, 0f), "Start Bottom Collapse", "Set the bottom collapse at the start of the event."), + new("bottomEnd", new EntityTypes.Float(0f, 1f, 0.02f), "End Bottom Collapse", "Set the bottom collapse at the end of the event."), + + new("noiseStart", new EntityTypes.Float(0f, 1f, 0f), "Start Noise", "Set the noise at the start of the event."), + new("noiseEnd", new EntityTypes.Float(0f, 1f, 0.3f), "End Noise", "Set the noise knee at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "rgbStart", "bottomStart", "noiseStart"}) + }), + } + }, + + new GameAction("scanJitter", "Scan Line Jitter") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.1f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("analogNoise", "Analog Noise") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Speed", "Set the speed at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.5f), "End Speed", "Set the speed at the end of the event."), + + new("fadingStart", new EntityTypes.Float(0f, 1f, 0f), "Start Fading", "Set the fading at the start of the event."), + new("fadingEnd", new EntityTypes.Float(0f, 1f, 0.1f), "End Fading", "Set the fading at the end of the event."), + + new("thresholdStart", new EntityTypes.Float(0f, 1f, 0f), "Start Threshold", "Set the threshold at the start of the event."), + new("thresholdEnd", new EntityTypes.Float(0f, 1f, 0.8f), "End Threshold", "Set the threshold at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "fadingStart", "thresholdStart"}) + }), + } + }, + + new GameAction("screenJump", "Screen Jump") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0f, 1f, 0f), "Start Intensity", "Set the intensity at the start of the event."), + new("intenEnd", new EntityTypes.Float(0f, 1f, 0.01f), "End Intensity", "Set the intensity at the end of the event."), + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart" }) + }), + } + }, + + new GameAction("sobelNeon", "Neon") + { + resizable = true, + parameters = new() + { + new("intenStart", new EntityTypes.Float(0.1f, 1f, 0.1f), "Start Intensity", "Set the edge fade at the start of the event."), + new("intenEnd", new EntityTypes.Float(0.1f, 1f, 1f), "End Intensity", "Set the edge fade at the end of the event."), + + new("edgeWidthStart", new EntityTypes.Float(0.05f, 5f, 0.05f), "Start Edge Width", "Set the edge width at the start of the event."), + new("edgeWidthEnd", new EntityTypes.Float(0.05f, 5f, 2f), "End Edge Width", "Set the edge width at the end of the event."), + + new("bgFadeStart", new EntityTypes.Float(0f, 1f, 0f), "Start Background Presence", "Set the background presence at the start of the event."), + new("bgFadeEnd", new EntityTypes.Float(0f, 1f, 0f), "End Background Presence", "Set the background presence at the end of the event."), + + + new("brightnessStart", new EntityTypes.Float(0f, 2f, 0f), "Start Brightness", "Set the brightness at the start of the event."), + new("brightnessEnd", new EntityTypes.Float(0f, 2f, 1f), "End Brightness", "Set the brightness at the end of the event."), + + + new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new() + { + new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "intenStart", "edgeWidthStart", "bgFadeStart", "brightnessStart" }) + }), + } + }, + + new GameAction("screenTiling", "Tile Screen") { resizable = true, @@ -1159,7 +1278,9 @@ namespace HeavenStudio new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "xScrollStart", "yScrollStart" }) }), } - } + }, + + }), new Minigame("advanced", "Advanced", "", false, true, new List() diff --git a/Assets/Scripts/PostProcessingVFX.cs b/Assets/Scripts/PostProcessingVFX.cs index 09d75aad..69a45e4b 100644 --- a/Assets/Scripts/PostProcessingVFX.cs +++ b/Assets/Scripts/PostProcessingVFX.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.PostProcessing; +using XPostProcessing; namespace HeavenStudio { @@ -17,10 +18,19 @@ namespace HeavenStudio private List _lensDs = new(); private List _grains = new(); private List _colorGradings = new(); - + private List _retroTvs = new(); + private List _scanJitters = new(); + private List _gaussBlurs = new(); + private List _analogNoises = new(); + private List _screenJumps = new(); + private List _sobelNeons = new(); private void Awake() { _volume = GetComponent(); + UpdateRetroTV(); + UpdateAnalogNoise(); + UpdateSobelNeons(); + } private void Start() @@ -36,6 +46,12 @@ namespace HeavenStudio _lensDs = EventCaller.GetAllInGameManagerList("vfx", new string[] { "lensD" }); _grains = EventCaller.GetAllInGameManagerList("vfx", new string[] { "grain" }); _colorGradings = EventCaller.GetAllInGameManagerList("vfx", new string[] { "colorGrading" }); + _retroTvs = EventCaller.GetAllInGameManagerList("vfx", new string[] { "retroTv" }); + _scanJitters = EventCaller.GetAllInGameManagerList("vfx", new string[] {"scanJitter"}); + _gaussBlurs = EventCaller.GetAllInGameManagerList("vfx", new string[] {"gaussBlur"}); + _analogNoises = EventCaller.GetAllInGameManagerList("vfx", new string[] {"analogNoise"}); + _screenJumps = EventCaller.GetAllInGameManagerList("vfx", new string[] {"screenJump"}); + _sobelNeons = EventCaller.GetAllInGameManagerList("vfx", new string[] {"sobelNeon"}); UpdateVignette(); UpdateChromaticAbberations(); @@ -43,6 +59,13 @@ namespace HeavenStudio UpdateLensDistortions(); UpdateGrain(); UpdateColorGrading(); + UpdateRetroTV(); + UpdateScanJitter(); + UpdateGaussBlur(); + UpdateAnalogNoise(); + UpdateScreenJumps(); + UpdateSobelNeons(); + } private void Update() @@ -53,6 +76,13 @@ namespace HeavenStudio UpdateLensDistortions(); UpdateGrain(); UpdateColorGrading(); + UpdateRetroTV(); + UpdateScanJitter(); + UpdateGaussBlur(); + UpdateAnalogNoise(); + UpdateScreenJumps(); + UpdateSobelNeons(); + } private void UpdateVignette() @@ -223,6 +253,145 @@ namespace HeavenStudio } } + private void UpdateRetroTV() + { + if (!_volume.profile.TryGetSettings(out var t)) return; + t.enabled.Override(false); + foreach (var e in _retroTvs) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + t.enabled.Override(newIntensity != 0); + if (!t.enabled) continue; + t.distort.Override(newIntensity); + + float newRGBBlend = func(e["rgbStart"], e["rgbEnd"], clampNormal); + t.RGBBlend.Override(newRGBBlend); + + float newBottomCollapse = func(e["bottomStart"], e["bottomEnd"], clampNormal); + t.BottomCollapse.Override(newBottomCollapse); + + float newNoiseAmount = func(e["noiseStart"], e["noiseEnd"], clampNormal); + t.NoiseAmount.Override(newNoiseAmount); + } + } + + private void UpdateScanJitter() + { + if (!_volume.profile.TryGetSettings(out var j)) return; + j.enabled.Override(false); + foreach (var e in _scanJitters) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + j.enabled.Override(newIntensity != 0); + if (!j.enabled) continue; + j.JitterIndensity.Override(newIntensity); + } + } + + private void UpdateGaussBlur() + { + if (!_volume.profile.TryGetSettings(out var g)) return; + g.enabled.Override(false); + foreach (var e in _gaussBlurs) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + g.enabled.Override(newIntensity != 0); + if (!g.enabled) continue; + g.BlurRadius.Override(newIntensity); + } + } + + private void UpdateAnalogNoise() + { + if (!_volume.profile.TryGetSettings(out var n)) return; + n.enabled.Override(false); + foreach (var e in _analogNoises) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + n.enabled.Override(newIntensity != 0); + if (!n.enabled) continue; + n.NoiseSpeed.Override(newIntensity); + + float newFading = func(e["fadingStart"], e["fadingEnd"], clampNormal); + n.NoiseFading.Override(newFading); + + float newThreshold = func(e["thresholdStart"], e["thresholdEnd"], clampNormal); + n.LuminanceJitterThreshold.Override(newThreshold); + } + } + + private void UpdateScreenJumps() + { + if (!_volume.profile.TryGetSettings(out var sj)) return; + sj.enabled.Override(false); + foreach (var e in _screenJumps) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + sj.enabled.Override(newIntensity != 0); + if (!sj.enabled) continue; + sj.ScreenJumpIndensity.Override(newIntensity); + } + } + + private void UpdateSobelNeons() + { + if (!_volume.profile.TryGetSettings(out var sn)) return; + sn.enabled.Override(false); + foreach (var e in _sobelNeons) + { + float normalized = Conductor.instance.GetPositionFromBeat(e.beat, e.length); + if (normalized < 0) break; + + float clampNormal = Mathf.Clamp01(normalized); + var func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease)e["ease"]); + + float newIntensity = func(e["intenStart"], e["intenEnd"], clampNormal); + sn.enabled.Override(newIntensity != 0.1); + if (!sn.enabled) continue; + sn.EdgeNeonFade.Override(newIntensity); + + float newEdgeWidth = func(e["edgeWidthStart"], e["edgeWidthEnd"], clampNormal); + sn.EdgeWidth.Override(newEdgeWidth); + + float newBgFade = func(e["bgFadeStart"], e["bgFadeEnd"], clampNormal); + sn.BackgroundFade.Override(newBgFade); + + float newBrightness = func(e["brightnessStart"], e["brightnessEnd"], clampNormal); + sn.Brigtness.Override(newBrightness); + } + + } + private Color ColorEase(Color start, Color end, float time, Util.EasingFunction.Function func) { float newR = func(start.r, end.r, time); diff --git a/Assets/Shaders/OilPainting.meta b/Assets/Shaders/OilPainting.meta new file mode 100644 index 00000000..2d63a299 --- /dev/null +++ b/Assets/Shaders/OilPainting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 46904ac8a616d4b418176835de20e8d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta new file mode 100644 index 00000000..ec125496 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 736fda2f215269048bb5447cbbcc7c86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs new file mode 100644 index 00000000..aef1b908 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class BackgroundManager : MonoBehaviour +{ + public ScreenCaptureManager screenCaptureManager; + public ImageEffectController imageEffectController; + public RawImage backgroundImage; + public void CaptureAndSetBackground() + { + Texture2D capturedScreen = screenCaptureManager.CaptureScreen(); + RenderTexture rt = RenderTexture.GetTemporary(capturedScreen.width, + capturedScreen.height); + Graphics.Blit(capturedScreen, rt, imageEffectController.effectMaterial); + Texture2D processedTexture = new Texture2D(capturedScreen.width, + capturedScreen.height, TextureFormat.RGB24, false); + RenderTexture.active = rt; + processedTexture.ReadPixels(new Rect(0, 0, capturedScreen.width, + capturedScreen.height), 0, 0); + processedTexture.Apply(); + RenderTexture.active = null; + backgroundImage.texture = processedTexture; + RenderTexture.ReleaseTemporary(rt); + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta new file mode 100644 index 00000000..edc85fc4 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/BackgroundManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a1dd29b02afef1245986a3dbd0977bfb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs new file mode 100644 index 00000000..33148a91 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class EffectSettingsUI : MonoBehaviour +{ + public ImageEffectController imageEffectController; + public BackgroundManager backgroundManager; + public Slider impastoSlider; + public Slider impastoSlider2; + public Slider blurSlider; + public Slider vignetteSlider; + public Slider vignetteSlider2; + public Button captureBtn; + private void Start() + { + impastoSlider.onValueChanged.AddListener(UpdateImpastoIntensity); + impastoSlider2.onValueChanged.AddListener(UpdateImpastoNormalIntensity); + vignetteSlider2.onValueChanged.AddListener(UpdateVignetteSmoothness); + blurSlider.onValueChanged.AddListener(UpdateBlurIntensity); + vignetteSlider.onValueChanged.AddListener(UpdateVignetteIntensity); + captureBtn.onClick.AddListener(() => backgroundManager.CaptureAndSetBackground()); + } + private void UpdateImpastoIntensity(float value) + { + imageEffectController.impastoIntensity = value; + } + private void UpdateImpastoNormalIntensity(float value) + { + imageEffectController.normalInfluence = value; + } + private void UpdateVignetteSmoothness(float value) + { + imageEffectController.vignetteSmoothness = value; + } + private void UpdateBlurIntensity(float value) + { + imageEffectController.blurIntensity = value; + } + private void UpdateVignetteIntensity(float value) + { + imageEffectController.vignetteIntensity = value; + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta new file mode 100644 index 00000000..3182a7e4 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/EffectSettingsUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1b38bdbccb5df874aaa03fe2009647f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs new file mode 100644 index 00000000..5ac10d6b --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ImageEffectController : MonoBehaviour +{ + public ScreenCaptureManager screenCaptureManager; + public Material effectMaterial; + public float impastoIntensity; + public float normalInfluence; + public float blurIntensity; + public float vignetteIntensity = 0.1357143f; + public float vignetteSmoothness = 0.3328571f; +#if UNITY_EDITOR + private void Awake() + { + Application.targetFrameRate = 60; + } +#endif + + private void OnRenderImage(RenderTexture source, RenderTexture destination) + { + effectMaterial.SetFloat("_Radius", impastoIntensity); + effectMaterial.SetFloat("_NormalWeight", normalInfluence); + effectMaterial.SetFloat("_BlurSize", blurIntensity); + effectMaterial.SetFloat("_VignetteIntensity", vignetteIntensity); + effectMaterial.SetFloat("_VignetteSmoothness", vignetteSmoothness); + Graphics.Blit(source, destination, effectMaterial); + } +} \ No newline at end of file diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta new file mode 100644 index 00000000..6c992186 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ImageEffectController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 818e57f7710a6244195e20cf7a12f0d9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs new file mode 100644 index 00000000..16d5a524 --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ScreenCaptureManager : MonoBehaviour +{ + public Texture2D CaptureScreen() + { + RenderTexture rt = new RenderTexture(Screen.width, Screen.height, 24); + Camera.main.targetTexture = rt; + Camera.main.Render(); + Camera.main.targetTexture = null; + Texture2D screenShot = new Texture2D(Screen.width, Screen.height, + TextureFormat.RGB24, false); + RenderTexture.active = rt; + screenShot.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0); + screenShot.Apply(); + RenderTexture.active = null; + Destroy(rt); + return screenShot; + } +} + diff --git a/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta new file mode 100644 index 00000000..fc625b7b --- /dev/null +++ b/Assets/Shaders/OilPainting/BuiltInSampleScripts/ScreenCaptureManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 05997ac2fa6a91345b94f9cff4ee83fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/LICENSE b/Assets/Shaders/OilPainting/LICENSE new file mode 100644 index 00000000..94746807 --- /dev/null +++ b/Assets/Shaders/OilPainting/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Vladislav Sobolev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/Shaders/OilPainting/LICENSE.meta b/Assets/Shaders/OilPainting/LICENSE.meta new file mode 100644 index 00000000..83e9340f --- /dev/null +++ b/Assets/Shaders/OilPainting/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7763088423ea1d4fa1e66a9f8cde3d1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/OilPainting.shader b/Assets/Shaders/OilPainting/OilPainting.shader new file mode 100644 index 00000000..9b2a5068 --- /dev/null +++ b/Assets/Shaders/OilPainting/OilPainting.shader @@ -0,0 +1,193 @@ +// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' + +Shader "Unlit/Oil Painting" +{ + Properties + { + _MainTex("Texture", 2D) = "white" {} + _NormalMap ("Normal Map", 2D) = "bump" {} + _NormalWeight ("Normal Weight", Range(0, 10)) = 0.5 + _Radius ("Radius", Range(0, 10)) = 0 + [KeywordEnum(Low, Medium, High)] _Samples ("Sample amount", Float) = 0 + _BlurSize("Blur Size", Range(0, 0.1)) = 0 + _StandardDeviation("Standard Deviation", Range(0, 0.1)) = 0.02 + _VignetteIntensity("Vignette Intensity", Range(0, 1)) = 0.5 + _VignetteSmoothness("Vignette Smoothness", Range(0, 1)) = 0.2 + } + SubShader + { + Blend SrcAlpha OneMinusSrcAlpha + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 3.0 + #include "UnityCG.cginc" + #define PI 3.14159265359 + #define E 2.71828182846 + #pragma multi_compile _SAMPLES_LOW _SAMPLES_MEDIUM _SAMPLES_HIGH + float _BlurSize; + float _StandardDeviation; + float _VignetteIntensity; + float _VignetteSmoothness; + float _NormalWeight; + #if _SAMPLES_LOW + #define SAMPLES 10 + #elif _SAMPLES_MEDIUM + #define SAMPLES 30 + #else + #define SAMPLES 100 + #endif + + struct v2f + { + float4 pos : SV_POSITION; + half2 uv : TEXCOORD0; + }; + + sampler2D _MainTex; + sampler2D _NormalMap; + float4 _MainTex_ST; + + + float vignette(float2 uv, float intensity, float smoothness) + { + float2 position = uv - 0.5; + float distance = length(position); + float vignette = smoothstep(smoothness, smoothness - intensity, distance); + return vignette; + } + + v2f vert(appdata_base v) + { + v2f o; + o.pos = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); + return o; + } + + int _Radius; + float4 _MainTex_TexelSize; + + float4 frag(v2f i) : SV_Target + { + float3 normal = UnpackNormal(tex2D(_NormalMap, i.uv)); + half2 uv = i.uv; + float3 col; + float4 color = tex2D(_MainTex, uv); + + //kuwahara with normal influence + float3 mean[4] = { + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0} + }; + + float3 sigma[4] = { + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0}, + {0, 0, 0} + }; + + float2 start[4] = {{-_Radius, -_Radius}, {-_Radius, 0}, {0, -_Radius}, {0, 0}}; + + float2 pos; + float normalInfluence; + for (int k = 0; k < 4; k++) + { + for (int i = 0; i <= _Radius; i++) + { + for (int j = 0; j <= _Radius; j++) + { + float2 kernelDirection = float2(i - 1, j - 1); + kernelDirection = normalize(kernelDirection); + normalInfluence = dot(normal, kernelDirection); + //float weightedVariance = variance + normalInfluence * _NormalWeight; + pos = float2(i, j) + start[k]; + col = tex2Dlod(_MainTex, float4( + uv + float2(pos.x * _MainTex_TexelSize.x, pos.y * _MainTex_TexelSize.y), + 0., 0.)).rgb; + mean[k] += col; + sigma[k] += col * col; + } + } + } + + float sigma2; + + float n = pow(_Radius + 1, 2); + float min = 1; + + for (int l = 0; l < 4; l++) + { + mean[l] /= n; + sigma[l] = abs(sigma[l] / n - mean[l] * mean[l]); + sigma2 = sigma[l].r + sigma[l].g + sigma[l].b; + + if (sigma2 < min + normalInfluence * _NormalWeight) + { + min = sigma2; + color.rgb = mean[l].rgb; + } + } + + // blur + + //failsafe so we can use turn off the blur by setting the deviation to 0 + if (_StandardDeviation != 0) + { + float invAspect = _ScreenParams.y / _ScreenParams.x; + float sum = SAMPLES; + float sum2 = SAMPLES; + float3 col2; + //iterate over blur samples + for (float index = 0; index < SAMPLES; index++) + { + //get the offset of the sample + float offset = (index / (SAMPLES - 1) - 0.5) * _BlurSize; + //get uv coordinate of sample + float2 uv = i.uv + float2(0, offset); + //calculate the result of the gaussian function + float stDevSquared = _StandardDeviation * _StandardDeviation; + float gauss = (1 / sqrt(2 * PI * stDevSquared)) * pow( + E, -((offset * offset) / (2 * stDevSquared))); + //add result to sum + sum += gauss; + //multiply color with influence from gaussian function and add it to sum color + col += tex2D(_MainTex, uv) * gauss; + } + //divide the sum of values by the amount of samples + color.rgb = lerp(color.rgb, col / sum, 0.5); + + for (float index = 0; index < SAMPLES; index++) + { + //get the offset of the sample + float offset = (index / (SAMPLES - 1) - 0.5) * _BlurSize * invAspect; + //get uv coordinate of sample + float2 uv = i.uv + float2(offset, 0); + //calculate the result of the gaussian function + float stDevSquared = _StandardDeviation * _StandardDeviation; + float gauss = (1 / sqrt(2 * PI * stDevSquared)) * pow( + E, -((offset * offset) / (2 * stDevSquared))); + //add result to sum + sum2 += gauss; + //multiply color with influence from gaussian function and add it to sum color + col2 += tex2D(_MainTex, uv) * gauss; + } + //divide the sum of values by the amount of samples + color.rgb = lerp(color.rgb , col2 / sum2, 0.5); + } + + + float vignetteEffect = vignette(i.uv, _VignetteIntensity, _VignetteSmoothness); + color.rgb = color.rgb * vignetteEffect; + + return color; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Shaders/OilPainting/OilPainting.shader.meta b/Assets/Shaders/OilPainting/OilPainting.shader.meta new file mode 100644 index 00000000..ac9f15d4 --- /dev/null +++ b/Assets/Shaders/OilPainting/OilPainting.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 92fecb803ac20af4aab71465faad523f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/README.md b/Assets/Shaders/OilPainting/README.md new file mode 100644 index 00000000..c57c0763 --- /dev/null +++ b/Assets/Shaders/OilPainting/README.md @@ -0,0 +1,2 @@ +# OilPainting + Oil painting post processing unity shader for built in and URP diff --git a/Assets/Shaders/OilPainting/README.md.meta b/Assets/Shaders/OilPainting/README.md.meta new file mode 100644 index 00000000..f871e027 --- /dev/null +++ b/Assets/Shaders/OilPainting/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3cc2a2e4309376448ba607644d18d916 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat new file mode 100644 index 00000000..f1d8a4a7 --- /dev/null +++ b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Unlit_Oil Painting + m_Shader: {fileID: 4800000, guid: 92fecb803ac20af4aab71465faad523f, type: 3} + m_ValidKeywords: + - _SAMPLES_HIGH + m_InvalidKeywords: + - GAUSS + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 023c8550f7a88674fb7be5f5e728fb63, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BlurSize: 0.021428572 + - _Gauss: 1 + - _NormalWeight: 10 + - _Radius: 10 + - _Samples: 2 + - _StandardDeviation: 0.0323 + - _VignetteIntensity: 0.24285714 + - _VignetteSmoothness: 0.72571427 + m_Colors: [] + m_BuildTextureStacks: [] diff --git a/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta new file mode 100644 index 00000000..c87d7db4 --- /dev/null +++ b/Assets/Shaders/OilPainting/Unlit_Oil Painting.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b70e4fc141adae1499fe1f5678ad1315 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23bf32e00e475ac645e800405ac8682af0c80db4 GIT binary patch literal 578866 zcmeFZd0Z1o*DzY0oe&^EqAa2Tg2X5YA#6dQ6BffFG$Ej(jx1r7O$f+1E=^bj+yKD^ zw*)~$Tt?i*Q9(rkH&9S<85L2HaUb`MuY=3X^SsY}zxV#W-@Sj_JI$}Vt4^J&I#pfg z)H$b47`iremzLs}mz)4VKmZp|001-qAUuGu6rf|tzol_l8jpcDVK?a;9EYWizNNKw znBUS`JTr(m+)f>qHvg91fu%WrtLq5ifE5PYhuu6Z&A{GQuseAPVYu#NEX~FmrVRg~ zpQwOt3&8icP?ixJ&q9(iy=o&x>h9FU<})S(-o z5YQ+TiVlUQqeC;)rRo|o4QMn2rirmJ)7aR=kT!gMdwtFP`xDaB)z#D2qwDL_8T$JA z4DCao@wJNK|D=JTW?)DGN}$9;Rsd%R;SHgoTi9GuhfYD>7?nh5_`(R*Uf9gy2t*Q@ zqC?e%{=E~2 zkMH|I!v8e|wttZ@bRE#}!+jb8Z?LCQz9!_v9%LiCs;>P$M`v6>z>D{Fm4T9gMLNfl z$H`Ysu36|cZk%MnqGX$K?D|TD{LVZth@z7oD?bn$=I33u9evQF(Fy<2pS;&xKN)xC{o=yIfX(fty`%LqP8A-|4_N!$ z@STmF_Xcl5>+2VmXYRcRS&y#e{50tps9Lfr@q&?lvZMNC)x$)2^#dl!IpfaS%~rP+ zNY@UX7a^=9Z-Y4^N&Uz85|M=o>HZO+2 z?8AKi8^WeX<0hYjUlcZnp8Sn*FEPD+SVQ8lS%_{bXc);L0a-%Ha*-S@qs1^4FouyB#(2@ZoK=vEDldQsz#Hn{t7?8`?Ppj@!B%zCGnh=JQ)NZjG&5 zA-g`I<6HanJ-5mp-fVm|(|`4vP{8;2viAC#+6SA{&`p*nf;aOvD1MHMD*-G2JXW?W zpl9b89yRLiCmiHC1Sq?r?w(whce=BN{Q5{hs=IjX>-puERXZb30rHZysY9Tr zF6t%U_MUmw(zr*kZT`I>5YT>L&Z*6&EBmT7pCWVYQH$u&v?Rsi9iqj;lQ#yR;2-_s zlk?@s!Lcvr%($y!H$b>tK0k@izPRR+=;GpL?#0C?Cipp9;5R&5an<0%uOA0zC)WQ~ z>XphG0*Ru!)J(Is(d>%1&JKsqf6$*pMsts|kIw3*eLOzYy~lpev4RbMUL%X&vr}Un za#!_Xf-pO@vEwS-8ZwQUL@gFF$Y> zO_}o>pGEk+AoO6*&CpA4)+B$PmnQD)g{~OiIlY|xx+L(-OJdZ#PwWHd-B@|&h5%z} zzy}F@CvWkkl&mZI_wJc5dWEvzy)QoVIVy7di)jw}X7`?7eOaZ{^O^NPJmx+7%f&j_ zwvE1EYx@vr2)f294|qH?Ah2hS5#`RO<}a`A7VOP=Z_u|%c=dB>>AWR34I|Y1jJM~! zH+~;ZvDk8l{C3+CJuBOFfpGVqZ@>6fYfc3lU7gdC|L&K{373Lql3(uov?BD$hp2W# zJDVmpelZ_Zf&>Axhu2qhmpxNkK^NbTDFbxC)< z9Bsx&yq=1WJoKqWrv$&+Z8QrkzVIPnzFlVVwcG*A69mGSrNT?M8k^??Eq-)B()cMK zu|9rxtkvlyCcvYV5PEaN^(&uU5AVI!WW=~8zj?_6jC%I*W%=p-zv+?cNRamxx%>E) z@|hmThkEwgPukqEIs0AZ-P_YX?Fycpw(C7^&DKTU7T(0m11+^nZ=FW-aOJmeG-X=f z`<)v1fc@@7fYdFQrT=LEvoFW9kl)XJJTdn(a=R=Lv7Z#OnSb=pI}75SHjdg?aU-ef z)apOO&n({J{d(NE3fs5&@3Lw_Wi@y1P9Uscxp)OiCMOz{*gg%2Dv+LD5Wf7(bo{*z zcvbT++fc}CLHM-iZNF1C0!8Ra-`|)=#{KMcal=-dli}VKzUhLpO|Y?zGWm1elkSic z`q7zHxgYb#S)a3? zooE#0~jUk=apW?Zm2J=@+Zo+oeMc4mUWaBLf!S^0C&of>kPysEC$wo=l=uEMsQt9wUG z{xft{vvu+i*tVZ_bCt*3$97{jSby1;+yDGFL3ND$tmyI|ci$`?2zI^Wb^HVGz^(V) zN4K&pJAJ9U}VFbz8dr27ybFk=<S^A_eL*Na&KDE97-n1)k#oI>Te$gy(XY*mCqCai)VZfJz>RjUrlXPI9U|IeoZEtXyXp+h@x3 zps%yxp=| zOuGE9OmJ*!_K%W~M0xIyj9*%+?~e>Nr++mqikp-8Z6dzT5|B(5`C!y&EkYoXu~@Q< zoLD&Hjy5}dP0mXHFECN+f5j7J$)pkKa(`<{s`lIdxJ0Qk)_;OavQy>5a3n7kmi$1c z=Eld#GqQYR_?_oX~J6xv!tyApfje@W1O>Y>c<n5O@l z$NxE;*BO3d4`{fSt#)l&Zx|kh zJ-_2P4@0yo{~Khu&39NHXgO=>KVJ9&ZSj9B8u~ve8=ecyKY(4|_z(wUe2LxP=54e# zHSAvaI*(@BEMA2@zEZEv4*Ob$8*#xTL@st`fuAu+5fAc)opB!e5VXtf~cQ zY5F?2zl#5JrN4v_NY6>t%1W&_h!mTVlP=5tHyIEocf`tuMZK1BeymOm_;0Hlh<y>_I~W@|Sr(rVlQS%wb#mjg%?hF{wk zP5x1URRJLx>Dsy0k!NILn|yZs-=!Zl6%&*H1xkw@7OVdSu8V!*q<=>r=4_6(Bdr@0 z;Jlv?r@wNs;cy!ID&+`TN9ETAJuKe{T6{qLggvypr2KkAcK|d2OH%Iu6U=}2kALqU z|K30Ty?^|B|M>U*@$dcP-}}eE_m6+?AOGI}hx~iP+Os95?gB6iyD?1}bE*L$kYR>s zEN0HKFvnODme!iG*~2N!bjMs(|2+l^_+WpmVFOlc*lHE*;hw(Q(%NHu>|hxJLwEJ> zB+2EOf{7E;v+ZNFkpcE`8EF&qVlpQ>+B-}Hlf3gXW8&t-%UQAUn8oL5_3X%TD^{}1 z(`u^o6o)C9KJiJ(;`v$e;qybJar5WIxy!7)y;zg-1bJzhY4P$HR$f|adbS|X(`vYJ z0hZQ+Ct9(FQRH(xt%gtQS<|K%S`dm;Oy?;?&KbqpzT@P zT0nZXJSIIZUfUW5u}{WYijQ;U#W^{<*g3^GyVMQhfc5!s{a~Jyg^F%HVes2D54$i(VqG1{YK3VZG zm>X1zxj;RwzIx?Zm`na|h4Gk+G~Uxn8$n~|;A+R?OC9+F?V5GOvI2*1s8cdz$q7II z8>+MPd$7&Fpkmx2!`!a_TjamyG&nvnChq3|MC#+4oEV>ttt5XRKSxJ@H+LU5k*klp zs~gYXiSNR5;ybuHyScjhVWa!2_OR;!BM=*f)8F9%K0cU>Js~+2E3jh8;sgm9S!pp? z0;iSZLtGUF4qob>fm`Nn4@=f=zYvog|H!>k}k{@ceBx;Q!eyYc;;eVyH%c}{LT zSD}-ipR22@lbeGdpYLw(~6+O?F0td|pgeyf6{ti|@kk>r(oU!C2p$k4uV4PmIUp?nEo? zNVNj$|NeOXXWa6Y(EoSGGf_LBub*n-*Cq7VR~#<;n{>v8KMcY|zBc(|ukrf6C;apN zX9oV6fq!P;pBeaP2L73W{~yi3U)E}TI;JYk!)(#N#e-v3@V9ty5`jP_l66TWU41Hr zs&A+b=QbQ+ti4A3Pr|t&vW|{1&DhG=*y{fv9$XuqkB6`T>L2mom_dFD9K(*iwb9^O za=%^BaLD)981cWC48zGJEDRivBjT_aYzl#d!vQh`3~`otM`4%|A!cqq7KB});x&pS zjOQ&~cVn{@)|F07(u>+XCocK)vBUWzUd9#pW^WmevT2y^o*6qU8lRajL}ADn12H5S8|@db@Eg zh|3Fvh~OC0G%(C;rBdL}7T_cYx2+Z|bbxK8@QFen4#MaHn_XG~7wYDC^ff?VsEpaM z%Gk9mp~47M;Y1E3HS|XhHT?J!WVtCW7#dS)lWaE-hCVz%%@j+j=C zSW#EmK)hkpFgduJ#U+_=Oc*T9g*m-?cE0a5LR3kDO;m84FAr34Mynx={;UXqGQa@K z0&I4MJ?6oD@WdB9o7v5|ZB-l%QKoFj=R|VKi_@m_H{7#?&qP!y#{~-LR{BAc$6vJ} z=N#FP7v)%JHot%58uO4}Pt4wSwp8$;Cvn1)6AxFzyjMYfO=(H;(rJZJj@j#G#$L>x znY%w^dZXt^S;~behc4|;J69C=P~LlHxgaWR*#jMRbQ62t{OZ^dvz`h+?6_gS?9Zm_ z2Re34Oso1$wWU0MPOZnw8Fo|Nc@;IJABJoj7F^Yjx_)C)=;rj1s{>jV9J%sz4BK~d zaP_?{zfSjB+Q0u`R!qXJRjhQszNYENmaOhh>zKG|yzHpTuV(B)&nx}&ZeMXf>J|du zBIK)P%~)t)cllO^XUdVC_)SH+$bm`q9hJSm)zd>;!mVs=#QLw>sfBHD3ph2K z$|9v7%@(y4j^5QiHkSh&)KrE~SdDTwXn3y67VXN@Ai2+lySFQhW74iZQ25LIi1XPb zyr?a#EP|@nRo<3rdq!IM0iWy@_p!XvC1vkh(W>S25(kEiYihGzzr+k0p?q&C(~+@o zZBvTEZYoXiqXLP_#s(j;>7O!|19Y>pc$IBNWVc3^z>@apT9yGBj!1DpzjGh;qO6Di zi(O*c^flYeH%X?A3cR`R=U=CG{{C#6xOb_@+Ud=%oK4#j6S}=+XI{Q}MxVG49F9uc zxzg6o{MwV_SzS1nT5I~DD?3vzijLNrUNm<}hL5f}K63ra(rtGA^AGJzxjN#a%acR5^3LMRUT-7xhn)49vu45!^k9PCRp-JTHxHz* z-VDhxecgW9qk~yJM`Gzrvt1!O4=1=KlGMFY#zGz_|>R}#Qm2h!T%a1JOxM^}gnmQ~}zg=Z*bk%T})_SXP)q%n?_n`ag*nH+K4VaC%-;ewwu{d3@DO z5xZyitT~daQ_1_A501~B*Z%gRo@w5DJA2Q|x9;D4zhs_Y*u%Y!Evfwu(<$H+(%It0 z1sq@rYFP9?6e_%u410AzUexk*1_!^MW!gny(PElBE5?l$?!3ZqZ{qhP@ z0GL9K04$Q6V~NWLjT&Vhi`thh!WEx-ChTiiy`+ebkW7`-DjXA&p3zDg9nWLx+$M@0 z%&BVPkz7+Qw8F1^%uwg67hQ|W^P1Iozd;Ue4%96}iGjBC*?p#O~JlHzo^`Nx&Z1U1vW8O9rB^!&9qrh_fGpRX+ zfXCw7Erp%veMxD13vHRNI&2R#56%Y+PC*`5sHS@*vBvO$T7Li%62Kt(ud+EEj3Xna)Y?nMSv3h3p?_su`a@Ni9pN z+XL37MRndDHT#K+U_yo3@l(sK#+BKMZt7M3^*0OS=EWD-35}2JL-$okHtHIUx4fdW z;YuZ?e4aGAD1~y=vype1SQmR`xw!APD^Xbb$7b0c&(M`8cKs%8+}981G6wgo^eBvv zefOKIX!{i5_3q>#mw^$%e5-69qr~*NhhJ?NQB#oSd6qr-cmzef5T}&guPHRNWd>T! zprfM(iWEo6)c$2BiNLiL++fkg#}*=Oh^24{hzi}Gwc%)+TjahwRlhzJ#4V{h)RXNw zs;c$$NzW+^w^iXE7I&-7^EOw~&F?>liGP0dI>nJD6bHMz79BDbKPfq%t`XlfyLNy; zsDW$VFOM|uetms+Rn@@H?aYg#Z@MIr*Jov}C^!@g z#*Q9|Pnir3nK%Zuf^qXb#IAgi&&L57Bs`jjPc7N#WY$)`p;jW1H-GD47 z>@r!>CFYHIkT9mjtRSRGe1EQjExT~*&)lp+p$B>GGV-$swFft_N?O-)Nk4dncZ0n0 zWc2wNB0>#1FzMg$w_u4YP)R1KPPA^Z;>N~rM3*7 zRRpJ2r=gY*HlVaA^%Q8RHk~?4cgyh!i0-+}^Af#vumuyC+WXJIo9vFKTG!T@n0`LY z!5an^;$d!o(MUh>B*$7bn5v{JtqRQ-NWnSO0k$YdZ$B69UcHtDdZUYQ?^XCw4lqTy zo5Ab>rCy#0hJ3P#?!hJa^r5nTr2!M(jnL$(wW) zeYcb*M*tPAMJ+TaJ=LOzbHtL=Mxg6qUF|UGFD#FB#8N;6rFJTD0M=)MTMQ_;LpdwC zlNFq*^3l+lV1PhZ-sZDTttS%5GUzrjkePs>sObkTv|foQ3(0OOVF%r-)d$*M2wioi zu;P0WgFbY|ez8mOfSAfkB5|Es+o!wiZQGy|XJ~Y|Y3rPUn?H@&kvJ~B!s^)gqz`Xy zPRo(rlj%3KtLBMVtw2DhZBT8^rxkO;)I$BTsyr2R0;S_C8-(2~9wwsG->VTb4crQ1 zQ88JHYoXEt4fAV(sOocIvG0HxsjIx9OjB$g(A*QiK51G{zd`PzSm~%+!&gu9E)4N= zdat^|nwzB{*_5}4;I~E!{9GLZDku7zohf-5@yF@BU+~;}XsVS;zLI z!QR|--RNS%s7Sl%?wXVB>A_p|bpy;}3!Bd}lFsfJbU!<{mYp^zwsvS(TV7SDX{$gK zCi~+pCRZ4z`kvl0=_*qkSLEfa+w(Rgb~f|cjd0bDUqwh78WgtqPy3Xep66cJo^ISs zKJxU_R>{PgfgC5N_R<`+m4EF|k&fV1?J3jR7SZd4x8<8_>VcCNgkw5MYnD|yyyxK7 zU44+RtU48Rr#wRK?%hcB8W4I1TKbRoWo`EU9gRLfVNL66(A{qyD+<@YHX&;M=wG^y zhV6WR+OH2-;Lb}&|8^s4ZRP0gs&YB@Q|7+ky&GW~uLXF;K=$4#%FKg0VpDY5QGcq- zhfxzFFKqI=7W!%TN#5M?8&j@4te<|$Y29sNH|b%6kJaZSSk{83vvNNBw-7b*?x&(n6r_u1M-XCoX>s zN4eq+%1n}OEcICMv-t_!)D=d~H$H8NxbQmn(gN@9n22q>#BopAeUX=3Uc27CwZ!zk z$?}J$X4M_9b8p^@@~gYhe{Si9E0+o`^L)kgtchFW8%$UA*FmEXaT7YivYXgl*w3n= zcn;U*^c>%$&fmXW+fOIVdbBxbSx#kGtn6&Uj=F2NJv<$N#R$hM!B-Bg6LjrH;E?sfM?YLt(APm9MNK4+nT{G+%mWz=zE zxq(#)bX*CWlFq4AQpl39w>7bhQ0>ObS)Mu+j1kpo!uLrian#%zMP9rAC zxD4{O27CiT(U7cndT_$r+BCwumFTEEB^0HBsvuwdE)D_Jy@OZk)y1OzW%+8TQ`u3j zLuE{xCoO1!O*FVNOvfUw;O2L70PQ0BS?x1)>DARoFB8OKQI28VBkm zp9cmtbgym>ivYcVO<4MEP&u@Vi>7M`uk^NAhCEfsVomS$vODH(u^p7+q1O!l+Hf}i zG>c~$U=`D=Kh<~b5#x%mLz7(gZi)P<{jlC^rvrL^>%2ZL9rx2E)`8ivU9ATR@0zxn zYz$uyBefz1YwkzMl(Ae((gzMsMWNscgoiUDC|jQ+JLu?Ls#QmM&U1vs&A0S_uObwY zML0$ZU0==i5|a>}{UW>o8}!MfbE@z$*yPwsb!qhFA$P4zD*E_grrTHQemd~>_+#4z zJ%Y!R=rCh!GhQxQW?7Dq&$Lj^yc8+uqc$MM``Y$R+ivws^}ajO%92+?R-4cGBVYOh z9`D=IutvVA{>HNAFLxZhQqQriF%Z=-~55&8cmTS034+UE$^HrJz+^ zSWdUv8>0+x<~f82b-+v&v5b+}3U*5&cMiq5C5eIOgc;Y;MFpepOV-c8S@&!jlPlQ# zX{zh4lHCDgI;4uk;Q0GosqzT%C=)Ct}RPFb*$^BKTb|vmHHvncTHT`r~NWc#av zQ?v#jCI|yLFcWqeY=e49eZTwXvtW<@!fPHX-w11y$E`j=QU)dhMy5vKpOh(}PE3Je zNby7|048X`_{8Immh}KF8@5oRp)aIc5QP*|CvD&s zYa+F~EJucMiwe$sUcZzeOYL^StX@Bf? z#K07oMpu>9kwqnkMbLXCM6YBglpuINJdMfHZUR=A_-%NMF17(ND=4l6FaSv$9CP&N zNzjw=rh9$+9|b+wwp+uqj}WADMV3wEWKt1-K~mE`m?l^RZa>GZDiFNrqmEt1tHxkFqzMd zzLOVSXx@)b-UCiDVFBvc%rZ>xz${v5P;F@41l^S|z+gFXaa0iw9bHzgW6BBh=T^{q zL}k`<7yQCC9`~jTQ_40}DVo!zR`Uq?AVf`?V%pS$v+2QSsf0aj+APPG&3nqlM$9d9 zM&6f=nNs_HPpf9<;j=`Z&_fe|X$C8bW*kbp!gU^N5q@*3z4;RP(yBoH;=G6?y+3?$ z1BDh-=t{I^Q%8Og&~!`jh9ApyfI^wz1ASz0mUf^_@vKem$31tvSRS&Oxqb%Yr>zH< zcC4FlHMaMx(*#_X4pX~<;m^Zr+J1!mhm_ndDt#q2c%UL++P?o<4Ismw$^@0n2UeS_ z2~5_lDk!)bQ=!ouIN;Z+5rc*C8yn4IpOo4f&2Ma8Q{LtaP5VhIK?IZD1qk@*)IPq!l{Lhx@#u19P@H{yyD}kEE!&IYR{bfi)W6z zjo>n~*ZM-6QxwWs!|AB1S?5C9Zo|DX`GWtWoUlP7r>bQyq5^3O2=k9xlq=37g2V{m z{R#6bVEzWnPA*x229tB(k9SnU+ixsMm`K7uD&RnfzS1z}7UF`aX3^1;chGUzzC;8p zTuv*P*D6sIGMTK&=egJ~Yy8aAkrNv!4qfe3Yo1)p27iti!@zsq(y`LilMqM-)HDVj zYJ?XLb-z-4X1`cg4Oj$#>PDl!i}EFH(S-!a7b;GI6o!MyYSyCrtnKR3_m;ka$`tw- zDW(p1ajR3DX$7iihXIt1(`&hfqeTF&lH7**qX9am4>cK7&q4>JpoqZAfe9?K94b?C zltegMNyP&Dh;-mHLgW_yMq?{PZOV$mXQAPixAZS_NQ-yUDw7%>H1S^TB5$&OU^qQB z>%&hGkprJxUN=0wb_8(*2g_U*-tY5!Lf*5avV(Mz?P!(RP+Z)*hwghUiFB^Gyx|sw zMyC~8liK02DO}g_b_@!=)`p_5z^%oG*ii}lg7*z$>r5Y2nv%NoKui}cU&g1FWBzG^ z+B^rQ0x7VB^_`{U914+2;0jMn57r^BJ~HZ7PRB9x#Z%7(7hKx0Z~2v8gQVt|9-poE zwyjVL9VqNcOz6WNgzP7_z;;p&ohY_fzl~>?)?Uspagu_B-{w4lPEwB z+cW6+w_LEM9i+)w0}k)hI@bqF?Qb2uUvS{)h#3VlYC`^)d}$9MW>eiCHr2D@3lq*A zAYlBXGgqTr$N&gA0ygY{p(83$35@MlOFl)g&dx(>(;`^s@kFZK;q6xbcuY0rprbTk z1h%I}u!vxxe@PN(vjiFwltMtszW5ehe0qr}Sb@teD66x21iS)kUFMc_yxP4rK4-1d z`TO*2mMp}eha<+E_CrIn_usbeKgDP^tlJ#TkMw@O*^;S zV$7TIjfT4o4~pMRyLsJYc}iv2%vGIMzGDlBwd5QS?&u4JOHirQ;NVjP!qij(n4`e> z(gyxO1gKl3y5e{#LR^5&47nW;VZB93fP*(XO4sYueSo?ep?Q`8#K8u7H_$J^V-|l$ z@fbd3u+Dar7Df;^#{l+Wh?>8gnF?Nut6ZhI}lUUL=enGRKW;3n9qX*%oIM$L*U(Rhmiir|d$6)eIuSN%&$>3OG13|aiMyrqY(&*$K|CpX_)r)y=%RU`0$$NifTt(B%U0V}uof}*NsHG-8h(WC>L+A__ zi|AkheUDzGo6^Fx99Il$5IJp(FK#h|M)9PJJ-T%9arF!qffHRw&bY3?pVUGh!fmUXTDJcSL1Cb>_c|={-LPDOKCdKDYH&Lt7hO9ptW`6 zTf!y29HU8engxSZY7*ClG)I7Q>p-o%S(*QeypsW~5X0UteBgdLY`!0}DfHT&z2OMG z4q;zy%e>DTx&>nUj%8B%Sp%h~GC8Ma_yHqKNU)46l^8GSnnkN=*DU?^H^MI4T3|#y!@9DR$J78>QLnJ_j0=wZ@BK2UkYk1!dwojGizn54Nd?UgFslOUne1XVwdG^LZ+T(DUngDpQJffHOqcuo58n15y3!aprrij&aQ20|_T~%H};h1(&K@&Zs0UjyB7jiyghAA$p z#2>7Y>ExJOPTTCQpr>hy6ztKeq8=VP_YqA$iss zB~_X&V~)q$A|;`Q+&KMi@rbzh+5(qef_jWSF2K3?M`b9|}e=%S#GL za9}~F1A^a!EtwRCMW^D{3n}cz|43i9>= zSMHPcdk1plA_12bQ*NnHtuDw`LbihiY4E5X@S#aTx%y6F3ccuMRVkEm=ev;HXW?6z~!*D&wq8cvfkM#}pI2wVbdt+ormTC-HmVaXWUp1Cr9@9ug1H$1ZDS|qH96QyHJ>gLTf(nJI*6nw79bvZmQ~V{$EvMCgALGT zTw4Hp?U~xGtLv$El9bWn!9rsV>9M)Nb)^_eA7J?hHZ#OSkC_Ot=8k@o)&mf{E?7 zbnU`)MQU@zt_WqdRPPp*%V6CC8=u2`ob3c0Nx#UDBRqA0A~u{@#+Ykp)&&9sh%BgP zYrtU#ZW6g&TEM$!F!f{64Ho(O{zQ`G()33!+!DroUiwge>~ToY*e6OaQPxPayek8#p~2}#|9s6c7VB^PrsmM3DYj|F8|g60K5 z1oF_;R|T@;0h3beAvX<4IkFw0p*e19q96Qx0Ks!W+a2{U!0dAw)?$P3gb_gu^H3sB z1KtVHKupAZNfO4Q>227SZ%~Pv9$}GS0uRK)4y`c3lP5hZ_yXxsf)P6hkMRQWx@5VnK(Xk2=winpPUo9 z<7g0mr20K~<+dDwYUB&O2E2VSoQJjv6 zXt#_-5*efvRfG#PV33XuA9O@>kke{7+CwEgE^06~PAR&%h*pRlGQ!w_Mj=Vs$$_Pq z>7wTZGcPg#iUUsz&5N%ua<4PV87$qnw<1#$|0}z4Ceqh%dm&Pqvam#!T71xSg(hG* z3RN=oZc#dUP%4>z&v%tecY^~|+^MR&adX4m7Nq%@yCoa{ptv^BPEkyEYz~t&zG5P} zO^m>Gq(yCE2Y%)dC#MD~WAUv4R+-FaFMVJLb7m>%I?b&(Dwm`r--r}J6_vv1h?4}I zwUwGqc!T+V%K5bSEOR-s$H><5Ieh92F>wDFSY-nI97UviW*c^QvC3U}qGsbiVKy`( zg$H60w8(JLZD;tD%Lxi@;x_5vEYyr>xV67HtAQkI)4}a;MT%oVZRK<)%a3++)pMkF$BJul zmkpTWj5#Z&1lL#_9X`T1e3KTJ@#x%!z|tI<6GIurYN`TlcmlXy1>MnV>4c8_avbV} zxl+i!&=ds@4 zn1r!o`!zG8f4gvbqG})lskoZ;;Npao-dzD9b$beG?so_VD+^u3Ou6o5}zF)fU`CEWj2gd9{4Ws}EFu9M{ z5Q@yZC=(EaCWb+Z3g3b)&#kkWV3|Tm$NYQb&~8+Rz56WF2Xk_j!caA5!!kOGgZ93L zY45a-@!lF$`GmPXld*UKtq0t60MnkUfJiwlwus7Lb#nl{;E9xQpe+A$8RV@{rlVfn zpvZ`Bj=8$GV5+(fhtR9R*FsuBtlt4(6Qxm|ep}MGEh>_dC?4CRN1{OcVHXkfM-79H z8OanF??;*H%PDnNL7jE4q+2XIALdvWDSGT5)W=zShyFaxJL=fQqc02l1$lPXjjScR zJegLP!%hcUl;4)RN7Vy;>gYMvK?`PNjTLV3KG@Xv`0Cluwwuh$rwnb1Hl&2|_)%h+7P|zj$XEt;6a9xNCh1(tYf#(^P_O`^FCxBo(|7 z8@~m(Rj$(mNx>k6C^pa(>0Kx!OO*ztBG`k2Y!z67HBwa;lt*JHgRHR+*?y}Q@hwf(iNmgXxH_cpD|gLw zqMbLav>}OYk_zwnLi=&CHpgR?=^fA}HQ_0mek}}aL>#6IadIpWqzhppIv2S4if#lQ zKt5u7yYV{>7JS#@&VdseLDd!-$wk}D1fYs$M^{ww~ zs3`S*Of?fr)^jUNl%u!tWAw994b5Vg=h&E*@Qyl-;hfsZj_m*A-ix$pak;$1xwC_< zMWK&pX5_xfyZXDs;6?wdBPNB7zbf8r|G@6mjWG&~#ic*b+W6|H(Sk3#Lf1YD+JAgs z)~)jM^NrXW4yJqQYJ3x-yYp9G+vmGn2>2hro_Q-~q4OA^ ziy|p96zNDXnbzCQu`FMRDBJL_G|-qbWsazTh3#cJUD$t*=0f|&FgPqwIK~eMlw$(b z$Uq@URN#e0Vs67&Ql_@>Q28y#L6}V~!l$Uo=P_ql*Q<-?v4i}RO-eCI8I5^Or5tQ& zaP+nj#VuIp(Wu34%#Hv9%4?XYqSD@Jge-kEoQ8A`s-WW{lunL^IS?qEjwu$Yn3+}H zp`nZRiZ9-5Jm&6Ah-hV_fUN7Lp zt3mX-+ldCx6a9~3%_klx+h}H}C!~8YLpJ1o@jh@Wpe@4ufMQt!H#0J9qp7lDdcpbm z`cvERbKmvXHe6hBtld=>JkQM{uwnFy@ptbg%w_Ggcs6r-wDC$s;rzz}1EPMazk7{F zzK%17N#k41qOL98(O`z7oM|PrD9Fw-Z8Ln5w*4Wzx-olp@;h6KX^s6D0#E1UF+ccuT|MVpyeI&{?3*7-z2@GoNMX z&N6|=jeLy4w7@#kK^3wNF{;O_WY)&ZIhEj18Gt$qJf+5jGEJD08N%!&u&ZXqiB!`k zOu=oH)zbW=ERWl07H~EC<`}$gS8;{%s zO;t_bf6Sd}Q(t?saUFl<=xZLk+CLaH#`L~&oG|gFYraXo2~82%*wAHatQiQiB!-tk zcW*z2ExRa_xJAZFGt7TCAqDkNLftIfEI@#Iv>$@2#?2stwW}0LrKyNgEIhI~!c)2R4vR^1P91IAkZrQ*e%8_XW)aJ$SO0N}*wpP* z^WZv&HZ-YGr&MQswoBjY<(=Il$ryd6R z5E{9EaKsWf4-Jtw%Z2Y^Ri;DWxCnK2qdkag7i=Y$>a8Dz=%%1aKm)-BQ5upC6M>iQ z;bW}W3$yrAy^W$a&<4ZUVG(~IoK`+bwD1kr3QVf$@?A@2CwNt z%r_FiV^j~XEQhEr2t+L(V*^-*)G9iP=3s~NWCf;{Fd&60#TE->e1o|GuoF2GC5b|3 zk)%r0Lq+Tbmi}I1vXK(KUK#7RXIj2*<@T|JFGYI#O{z_`X-rpZV@JM(*0eSG{gTu6 zdrQwtTt=nO_}Khz9PNT#s*y{5L7^mPJzadlwr`)Y&Fco~&VVpO&nq)GjqlkRCRw&+ zYHj+wy)(C8%D%mnpC21Jcwxh+%XfCyzGSM;S9?woruzq)?C~M_@9MG zp-AVJq$o?Ir=4|NJsHd5h5IS%Lb?$?xxbKovsdGgz^XWjugdgh7Wpv8Y(+*Yh}Bn~50< z`l*B@hEF-SgL$y+Ri-bk8XVD3u>tjv?%DPi*_@`9R6GS?V$MOXSnuTUehH&S_1G^K zD$NvyEB+TrXCBbR)wcbaWD+JJ;1CiFn@%7=h^Xu$E}evc2_gQ#@~BU3)mpne-{JlKHY!8roO9pT^}Fr^ zHg;ZJpr2Yu2BefbG7t!-^*!g~q@19q7HzY)AI8_QFrwey!$DS7G|l{stwH#Ko*{cS zU7acT3(YH1mHo*L>$Lk7dHq&4)a0WV>%H?F(1OUaCZ!V+qCvy}OfqO!ds;jV-px8@ z33z8?xB*+!ahyTX3re^Po$?FIa6a5^(ynCwO>#&U6!ln%7c0uY&lGdT$GYtKN;mLN z_K#X{Kv)scVu_Q>Ry4uGil)k6LOqE56V=|ekFp?hLFtj{3qw9S{cGoYd)ha{@6y&k zx&X%T?)^UM@wIYBd~s%)a^sf0AML|quRzDN_rFeh=coDVVe*WZF0oqTudefY1p()b zKaPpKk$e86y{uCG;@A#ZN_Fp@%kgZze+_uN^w3D;7 z6`|7L?I-1u^9ig*al8QIwFz95crDbYZ=(X((u+PY&iGdf*Fpb-zDVgMIv4(;xw zNM<}ZekMHaUeV0!0Bm_$A;_XVq=Y|aOIPZV2m0~~VR$w+j}XHa25dqz9*_a4W}uly z5CF44*>Z0&0(@TsG@e|#jzAH+s1fx3I?xk*5eanzK$!r(dlseJH(*d0CcL?+hzw!e zRoI$3R=jQU?)t3UK}ygx+7tJ>Ck(4(Y_TUHUjR2>1|7S?LSK!fRsPg>Iq<>G-3#;n z4z3LLSvaTQ(}MjUQh`tRw;f)5ZNY<)T?^}SKAIHtUgf{US<&&%A5y%vKP~yOyZ^tL z+fF}^5Jpd1{rPL@_G|7LzSx#m?c%4b7J-1+ZH<5avO2 zKtDi@*XDck1sIx6mQfTXyH9b#u|oRl1!XMu(%?yykQMzz&%1_WB1z# zv1nAewTq$MvTyWjB%EjS`$k=VJo1Tgx~{6O-4pVuatu&=zth}NP#7ciwT3bFGM!N#7!tguJ zCfz$-gO{3n?=l|kRA=5g{%a0HH>{ybo2nyzzQ?`P%`>+POKE=+I+`bslYYFxB#45N z8GihW&fOb+y+)|D)Iu?FrX?>UJpQbLo8FR_q`fh z@-y|YI?UX0dWp47EjoF6JbPn~q;2}yCk_eps}HTLwq&P!vQNFe(beh`HYcDjrrOlj zRWxtx_@T(b;N^S!7_I3oM*azoPO_6i*F-RYfe0G+>v|#pbiLkC7L~4@!~z2HNfI8S z`Ser?Gn*1HxW-weYa@MFfSl2~4Kd*V{HiqQLph**t0fjjfdeprS4v&+unOQUugHAcukhC`8_sqQC zZdZLHd)JfQ)#UTUg~Jo{7XKs3Slqq%+QQFbB_m(n@cy)9+R~^WyRTaBJaO==ZYZ9e zsHzVZ2TwYhZ^ixg)pIYqCwuGp>3EmUWsh{8G?AP|!h#KU;Y3CR&jJoU<_}a4F_r~3 z%GsbtLO|8z6mT&a$+IJNgvS}DijoB@216@$o zg~>JPE92gZ&g-10k}M)SX`W?oME#G-(!xob>K$w!!Pk~=ah+73 zHu41=X(kB!b#6f<0u-)SNWw^)GBWO}T#42MYX|Ytbm9*`1qBe~ejDPRY;`%8j$2T6 zt|b$*yl~*3mB|&2n?G^7TnNI6)6*F2kOiG8j+`+XWLlhn`l7knr@8Vd4Epyx6I7ILyHwLvoyi|3;Ed$C-@+rNsyipkxTC#FWbptCX5Dv?}Y!4g`Q-9BsO5mF=^;A6#eBc=Gizz(y^~wkVX_80uv#~p{(YD;!RtzB3dTlzXx3(auv{djGA zOWR^a(NCr`J7Uk9pDq|bx$M;A7fW_28+tb>J?AAuSu&FTZv`g(4EKcWzOgc>m?6ov z!y*6l;GdPyBvN4g;IytFnnm<(g+`?MWtDMwV1FatP`>1z$L%8&H70vWZ|i*`cO8Xmaf*iHMG=tpyWnBuIKt; z&|3<_}lM591TN!M+lTyd8I zl793?+c)W?qLgOKaXTa4E>S-3T(XvY&AD98ju3Gf#=TC9iW!s~;++P?n&krN00&ef z^Nt!V5sIEDG1qj%v^1$ISAuK_f=c9xvi`P4K7ojeVqA4Sf zY!1@V*G9P(puvk15DrAM}@`AvJAzvbTr-3Z(4EgKZev z^9gN5azev#STo*_Tn!UUWB=gU$j=fN6}B%L3Cz2_h7RwQ^jES;*EQn~3Bo6OkY5rZ zl(Dr}>{j0K30{rrtWaesZW)Q{T*~*I(zL{BP3l{PjYvI1iYjUgUrObBPWnl;Jy?1C z5j8uLOix%MIsRH(*(wkRopWlhoKVhwS%Ney-@be6(<$v?rw6@U=CsI7fsL|GbQ%1( z(@ak1gxR?)f=^?U24srz!Gx4uLr!@e7mw-G@Y*QFoQkIE<19Dy=^L5+`PD}>gJe3> z_(sumEh7kGm>3f>@h}%(0rl#5sYV|-iuRr@PP~W4PML=t<|v?VbfLk?mTW!no9n&c z-w1KRy}A`k^&z@>=kK*XnZNPK`z}2roAbs@2lHnJ1Vl5MHx_+pJhWimef92LGp;%v z_Q>q@%aP~B;^joQtE3&&q0mxroUse?D8HC|quURZ&TUeOFFdH?@JqC9Gqqo~I6Jef zzjv>wJjv1zD-0BL4f3=Qf|o?N${*vuld(Gq_c;jU+X>;`jW9sBkz2r6nOs6V9jb#$ zv=Hc5K>00XD5x=`uas24@t`SZn~``H0n~A>4XO!SBphjk(TK^NirT@lphX>(z0VF~ znKF{3MgjD4^VQ3bn!W=4b}?wB0d*eHTAYx@mZQk252dU(0MLM_Oegym&ihOXTPSa? zpciGf3H+h?PKsa=!CDs`C|ivPlu+`*Zt=0F$>gs{W}Xn%G8~r#9Md{tKmdQ(17BD` zh{SRWkZYuSM;*+@$?K1g+C-x23ZHt&0fRk&@U2p*7#|5j<=>K)fm7$#-a|~7?SYYt z@Unhs^vGl6#)ZPek=?&^r=%{f98lctmSzMU++Uc#=GmSP9&TSD{BqH!x>El`3$`{b zwUw2gQP?87mxN9GdDsow)S7k38 z!}hyH3T*1EXGUnll{Ts|wU`(<@ByZ8{{{$m-~Fn>7$vGO;V?S=RvN-QtrSPpH2E0z z*(~?&xx#0yi0fx>B}nO}lVb+v7Q*mwT~}PUDso&MHe_pTF8)Pp2x8~vcV^A{#2<5y%C_LM z;<`Cd(7{s<7A2u2z4rAgS>pVY3gYy9v&skdzMwU9tS!(WZUY44VIxDA%H%r(0qsLC z)-n*w{~(*9VncY7X^Yl*()ZcNSB`H;yDwiwWuDyC*`;<^POJVrTGH{!;TJ1wHY}bu;gPOFKc8!M#Uct zl+HY8Q^J>?0iV*Ah&|CS35?7#NtQ>oEIkyi8#{T44>H?(zjayFcJJH=Uql@KSH7-r zq_5!e)`shc8g1Drt2ZohEKhc22!w<&)0y^m7*!8KZ^oBO=#&K-BQ|F8u6}00EmJPU z5dRKAl#02g&gF$#QdveeJxFKG>QtEDXQ?7>N{7pd(fK)&#+lz#z|_SHEHqU0$PS^7 zu16;CkZu&p7cjJL7Id8Cx%|_^WPu0MGPja$7MC0dcNrv+Ht0$aG?GiDV!RuTFpIFb zQDYz<0%>W{pW*~RhBt5hC8f;W%zd{Y9cFwd1Yu;10cocKw|)215KA6_1wpPA5(H|Z z0{>8WY|?#uPFBc%y4oQ3A!4@JuzO%E0;K0nGML=Q6b1O0pn9^$4ZMK+C>NccYl)0j?LdnqOoEw z&&b}2F~AAse+-CKMHMjVB!O`U8z>M}xrZ=q)j*b47<(K0{R%UOxfwq-I)EVkm>;>U zX3&}ykfg@3h~!bx0mL8?i|^Vr-hkR@^Kt1nrNA?jBmHN2jF)9TeP9wbmSu5@rDD;8Bw%aQoA(q;_@we z>s8H$?}Qh64p}R=*J2yff=_e5Z;$c_Ig;^xYewgRzqQsL2n(Km_8;di<)06Xc`4yq zsssG6j3&Dl^!Tz2RJWYu5mUgOLXx_5!AwnhbO&T)I|U5P+nFFvJkjv*7AM>{W`<^w z>W(%tK<6&~cp(oOR^Ww8xqB#7mvdgaRFM4^t1Mmlb0f02;YmhL@aO9(5pto|NN1SX=gds@6)Bf4l4Mn{y{R1T1V&& zf-L4O0(pzz=-CWa1a@1h^kudll9V&WHN*Ij??tcYe;#F|$~P8%SJ__i`p*x>BFz~m z4F_kYCd_1=<q4VD6|fUNOY&2l`Z5JgfQ+P4H)!3z zZZmoQoi5?s090Z!w26RLTj8O%xQ7qz0-#qB5g8wE)Hx+uZiA0;@`ydb$BqFd5@L7N z$^>7Bv4nbPRtza$`O?~pC#Bl?HU=e>ijnUrV4L3ph51D@I89+lMt1T};>&|L^SaV! z1-KhUik)C;2y{$Q`l-5NYOOvMj zva?nQ`E$8Yw}x{PsByOj*nm=_jZEbPnBLk;hEx9NEK)GzvCM=&dOFg`>i8isHvBO+ zBM5r))T26a&D~cs(sLf%?RaM#n$h4(MtE*Flr8fv(_de>95$Azg9^R-Bqh_7M|SnE z=g*!hbh`yhR+T4&Rz>vNS}JbastfOEwqlMx=1sE>QFXhX*`$EbyicB#vC7aqZFC9B0dZ-EiXS%|8lK1%G8!8E)NlNUERzN?d`l57YQe^5E=~ zhmUw`9KTU6i5|nZH{)ksoY0Ak(!wB4fKJLtMcFH7^h)-4-6(Abt>unNT~b(6b>($q zJ9O7w&CZ%-{xJquj^)q(=px78YhC!6(VA@waADWYfLXuzm2TV9B6T{fMehxJ1Z8Eb z&HJ;N#qVbwzFBFRWN1z;VWcF*Bq&yWB{Rl`+1hleDUMyx)nsu-^U4ZuuZImnxGr=_ zBaw%gnSFXG+|9oz!O?W0nl_{hSXJt@6G_DFVX@$eJm` zi|7%HZbOUH=)SRw&P!2`Ib5Nt{{%t5M0>CbBY&%mAp;H;Mfm>m>dS_jIiBlx97*#4 zKh)jqSHF~^m3O8-9!}8&OS4~I$`eNfOD|k|eo_2a*l1!x;JW@7GaeV=ciE#-24Ps= z(bgo;ds|JlD%KKJ!MaZFJgaC}9eLYBLORnT;?m&d%PJU|R)?fTnkHhtcJcm>pIWGH zdW3pZDzhWuU7GliChxu(8AhtA$SSF!zsXU3TzG`Ih%Z?GsmJSu-|m`nG*OE!{P%HV zIq2&WHY>P+(M+)gb?JtBitMP?6t$|tP`@S{~EdFOfHcpN2MlE#!H$^*kx=knWIN8hS5f z#hQ+Rn{z|&zxUI8x!HAZ`*Od%E8NQqP2p8LT$e1?g!CL#P)B5cgo)Zm5NWxBJzEBY zRymu>LptawH)$eRvGW8WLU0Qp;U_(!1gr%&cCL?aX(|iEHEi2yrNmg8ZL+3Ifg|7l z(25-nCp~}HP7*@(juRxLBsumiJ^3~`f%En7Bw%5J(Hnr(>VwwbB4xSM7c@!t z8{N;~?iV5fPnDX=tt<7|nJh|pVIyiNw_&miLfN33B7t=E2#0*z86C{=w_*C^<#k|B zH38O^umhJJc=kU&4XFfeMGk>`f-VC0okw}OTwt$G#LjPEpPG&omNKVa%_-LkYzL5_VOD}?fDwxX_+(!TfDR>|_73f1# zvjTTnOK`Nd)>Ye5DR36wL70Yr?A>4GVTHD}B&5w)!gdcklOsqb=-KzfTuYYmttt4?P~m zpQ*d4m_@tpVN`u{_S)bde%~zH6)lqtUOy`?ev@kSSX!}wZXx#Tk zo!j)GrmVy}Jic})-wiHpX&&NKLAc1`jTnf^pCC&n9IV3FKdU6J>$Nm`jl-P9p=pgP zBj}~GiTZ87Hu&IgylMAhWYyl@vI1#Y;$i`e0b=G~6^Xh0_Y+BVI8WePiA`Ieux)9J zVc}O3w_NY|v$pGdbP*>z^UeF(xeFgmx_Y2}b8uq+4(g)SmY!ddu{hgr+vCO)5y_R> zfNa5ddNk=XYNN)mMvs5E9&uA{UffR(^~~D%Zs4jnGg?|^Cd4llJ%H&O{OOsZMVg(M7!!hCD#|)!IU^Edmk?T^Xpy;(Q=1ehD1txOl)Wu^ zHkV|2lv*2Vl~0xMg>HP$m!F8TE!vQ{IwdbPS&k=dkwE+*2|8^ZKol2V2{#R)`Y!MV zy%)?VZOr%6-!=^;MZCAg*$X(Sn}dq+l!lC`h$D)jUAix_$i|j@YMoIL)Q1X zy1F|+WOnHtO8>mC=0)zOlfLZym>;ite06KW+faS@Ww0&lOWE*07g}EOA?{5Jocn2HF;F&_YkO5Qtv`{*-gyU==^4{Qo3?1v3!QQtIsl&`02Tx;$<8z9LnP zET8K_*odBA4062Y1E<4*mc0N5Wj7)C0b$spwbZ3aiu zumYM*_zyD(z2%?|7f3A>=^l4BVV+7-LpV-6Le%fhqYBeey;`=aP{0pi3Kg8i?SvrT zj~2NbSDAfSXhp=BsURf@p}%_gS{ISs#3Nm=F#Pe$f&4O~B#OM$w?1UlIOIN955y=c zD?h=+)jw=(8WORfA|IR?WoXq9aWpYT0;)vIQ#PCn#fzxjTDKDlmmD`hX{U21y;J}l zl7W>zqtLCcf~afXoJ&+GW?u zfgwBy+#9KS9Hng4oe0gPM$@{PvkXoC3x*9|aR2#T3f`4G`&&CAj~mqR z4F7|^Q@oh6I%{eqcnFSPg4i}WZgsshi8qq&8ae%_G(Js}0)IV3pewr19QYbx{+?y> z@XU`0wbiS#`PVAcN7zYQq-s5+YT;55`3DfIO2JO_QpW4PWca@=M@zU8o(7ohVIh7W-9 z2#nf^guL#bP|LFa)kg18dixkXf{m0YtbRHF1dK|Ug<3`q(b2pPfXW~yg9GuDiL=33 z3-mnH$Sfr3Br{wVgwBm5#qd`!IYr9$Wg)!3F$2tHLHa>*z8<{j;I_14g7+Cv@8{=J z0Q!fW5Ex)KkuZNlHbS4!BA^9?TAO%4wt)Y%ErGEJchbaJLka>Fn;j@tR9vb$(_PwQ zN2^OzA|O$^y#z5Vh9FNK&jegR#XpkY7=X>e5qy9_`KA-xbVW?ymDe^CZ5cN@V2hi= zB*g8Yhk!l`*B=GAFBo@G4{*ZPt1MUC$RdDPF$CQP$2`bZ(QKWBa{90c_X8i=lM zG|DqF`LY)uJ!!fYjE9YG`0d97o@sq9G2%5Wmi7BUpB??_0xuyiUNZ{?bYK{3!7R3%%WL8 zCb5R#FQIGL&0NE-c?l4%9u zIj*gh@o%R|3a-aKmQ}nB>-S3bTe=GW;pi7{9rfF@-`qL9B>W$*ob$%rBm3Vx%m{gO zID+@h_bT=&MDf+K@$iVcOMmQWzw0I0cKk-+d`@}uN2;CoOOH#0L#&4uRg~E~zBSXM zW~|5MTk6tW4dQtgZ-uL*x$K7$>5d0vV@SFxo~MOV2HdVxz!OvX{2370Itffl0fHEV zg5ugRSDS6lE0A16i80y-)4nkIz6O$XG4KhCAtN^1D1AvtSU4X$(nsjyw6uFI5jeRU zCc>Kq$N_5;S8VewWmx#q6sRMVW%kfEDwu$oVbCiE*uQjg-Kl)wrHgb_!FmE1a^ry7 z{@jAn++)(DSdzXHCX_}Rp&oX?TQN&cOmiX&-^$j2;&!#u$fw<~fW7IEh55t|fp?Q4 zN=@m^7XU)I9i`>HA{%pviIy8>Ky{J2YoL|^QB#`=m(s!}U$)a&# zIs@N#i+6g5lv(dz8$S=MIEY0I=z(rdb8+AKD9oJ!X8C>5%?%txBNDm1K8v@)(BvT{ zo!F|A0?5QD(K4_I0#&5c<9znGGeOR(kKOZ^SOhj6Z>ks=vSM^`8Sb5Qq4X#H@bM0>SrH~-J8pyVJ&b}n;C+lzpz-)mBjz`X8De`2J0#U@r>?+6Q$w}olIO3A zp6$K7oxdyeGY8R-Kx9(doyUvrdNx*>f7ta^^Ntr=2e1+p|^MGmT$(>E*Pr*paR>MG>N=T}fH%%>J51u_1v@ zEWKX_TbTJKk%Gyf*$P<8i#wVR#}U5id=~;B;cgZle2-wkb5^7U77Rh(+oymavX)6t zEry0l0E5K@Au$BIW4FmI`g_nO0_@26)CzcRg-6v{P-DgFko_3lPfcrtQ2E&j3jhK7 zJ(xFVOBC@B8~bSI_7z>OuR;GvToT~%^a=|DTTO`E1kz1F!Va9OgSJWG0|ExY)0ZMl z@ZvVHe+=TXEYJo!Q4)u<73S^T5H#{dH?Lx`-=#6b!iaE)ua1#TPp!1L2Q6WC65)eR z1em{oGkIZWZcl{v1IAqps7i4>^tli|c~zo6zKP^?0J0QehTxRk#QvlWsB-=m;?_86 zyaA<4H+MoM(WvI<$?kbxnH&`tQ3ef9tY@(OKm-^19L#$e{{IWo4YI%>m(B&AIUtZO z*;mp*+!fY&Eb5~SF}e>uU})LH7?U4=qd?`Q7Hj^|1!Zw|{IlO~ zTT~vt#}cBTr2Fhyu-G~+8h=2 zfz~V=C>_=q1l}5#bS@Z-97BlS5F!vcO&cU84Qf~$$VO*VRu54AC`iYYfI6O~g|!eB zp@5np7Tm$}*)NUcDHL?5U)cx|8+IBpZg0Y~4Z7~jv8@o6gvQeK-R+J#F$8wTcWqHWYP&|7UIG%w!*iKV`86{$ep*d2J z7Wa-vy&DBcyM)i&q=$-%^~}wk^47{aEPN}2(hh3`L5-C1ZLPHH0iQdtR%9#<4?%HW z8O)SLnt4C5@VYem^o_)<)=9fm`0~p~N!P0l&4z~A;V)=U1dm>?la{*(rT8?!M~4-EQd&T;svX)1ORCaSPsO zuGVWC*HH-NP+{t`o&AZj4_-uvHjZK*dR9$jrpn%V}8|>H%kC&7T@1t zyfr+hoCIK@KNzeN;sm3>md6nLbX1WMt`)CcPy2rl`*La%vTTV4*ypV?NlTQ$i~6V^{ji=`Kp*aD zZ>~O`reNBV-ILkd0}=&^;yQd*g#gT8uoGaU7)62w1lq-$|9>@2c;j{#AcqfurRxH6 z()7xTGM~I7+xbm(5s^OAicYBUN;<-sFW#}0n;;3l?VhJLs9c1NEsT&Lw_x_7okEQK zO0IHmN@nCb`@MTx*bM*Vl>N*1C!Vd4@3EeKr9uA#-D$5Kx%Ocgx@vgIK^IgPZ-?s` zD;wY&>>OZOGV>g(&+K<)-hFGsfl<$yApeU70no{QB4>^X7%|-trVp3ZE}rDZt$4n{qJ5^#e-3r+LWK%5i9oal3P|O0eDh5qLRCbHK*~2FkRx#rMZ`&% zYa1j+Lx{N`vjbZ=7FQn`*TcI`qHhbF^%s9(;K~Z5w~j1bt$-_hEIQnL-GmqmKC#yG zDnJ z)$f+1?aB$AMrk#PSSXZB#e-@n+vJN2qX_>2ifwi=m^`$lBm?Fr)7Zg6tfz3c9qe+q zWs(#CJos*mvw`<`wU%RnkOAD=&0wmIZ1SN(4KzTFK`hZYMG7g!9C2FU&QmX}l5P96 zmcxudnXRdl8?3`+L@|hq6%2rauNK7)!YGQERuy7~Vu)Ig{PANVz(cl}K^lp@SZ)BL zqGw-AV>VLoHZ%MRv}loonMk=G$xA$cm=u6{uBq-qEvHP2rcsd!ml7zRwoYwle~j)} zrO5cOS(*GFozNhkQ+Z6=8o2gTC@v#wXQ%z7h%FjF9=YbM;HbVqlFhl-oNlNJ4{j+J z3j+MhrUglpBD($-M5exFtu(K?=Vx!Qie^>t)djz6+em#JOQPb7jfZykq~Z;>yL1o2*-#HpzO0w(&^x%6k>tlTvd1 z>kJDtrx~G%985q!V3_*2aU#j#Q;E3&2b|m?2M2u}$e!b31(-A?y{gMMZUM?QN%`Tt zJnV3R(L&N7>CZw+V`bE85-OK^GEANmb0K_SU<@hT?s1?OOA|g$J8xHcwm0)36nsf( z=go3)lD_U8LfB(;ST(60`#jZhViSqGGh;W99!U| zMFM1xr#>So?d;ODghHZxzEmeOxrlj{*7b^xavkG~3Yya+X8WZnXdTlf8vYg}gU|SY zunP5|kSP1d+Z7s9OIEb}crWz>dDOEWZ2 zEkU6RIxO@TyzTB~a#b4hVRwU!fp~&trI?`+h^yE_9*+2`9;eW1(;8 ztYmn89D{#{U!2=vx zJOHZhf%G_d-0YbYQBUwqzJ-Tt#dCT)Nt9GTI8OaVIw~i3^G=Si+_=WOjY&?oG=9~C zjw7l*5$dsHma?X)#bXbLz23Vv**LW4cI5nwoLtVr2d|~wj)v{a^WftNI7tDK7o<4g zyw{3Slal?jRnFXW)Bx5qe1;^J1Q^|piFT_wosvpM%N_y9X8jK$i~^lI+YY?nWP4Wwxl0 zWQf&D%w&Ot7z^MZ3_DfNg*F6!u*4X^qvULFGz$6w?@bVy?TzS1C$Fu@QDE% z@hw?H>Z+_tt@Y-B?cewRX}mK%J#5FC&Hi5+W{i&$XplY)+OAYqk6wDgC6$4h% z>WgMk;s2ltRdvC*MjhmuqvrD>wYJ49o{8JcE`hpb6!ZmxH&4C{hLS-qWz{=(*n`2f zAmP`Wp;-p(vyWOe$_{i|kR{(PS)N`U=n?WdR2;sx0=hlijg;Tgm^OkUM1J2)Jl6uX zJo~+tWN2*#9ms!NZG05#2(oxwjm8Vr{0RRul5)>Xrmg-+ymujQFI*8W7`zPpJqgnI)xo@~#6&b(mtLr>T6( zC8t`4q#iZ8wROIfi;D)zUx$Q%22S*ahiukBdF`JzH5Vl0p&ZqvmGf$?!M+60={)M? zc&Db^Qi`*5n5FT3Il{M!Vbg%u&|zB)uopy2+zzlftvf;PhuKg@)u|**!rg|9Qy@LS0f}Hx zb!`W3C4izTSAsVaL>NAW)%k zJWSd^RZ37swxjm;q_2?~kN;dQWZP@tFd|g4$D^z>gWJD9xJ1U!8nq8@CnL){@pfBy zHzS+w25~AJVT5$ZR&+p7#mufz${Y37^1%S3K{8mX?JWd@$B4cnCzNGmP$?S-a!p#T z>_(QD>E*Am<;S3IPTDsaoWw#ot2axCo++ELC}XL-4ont}eWI0=b9v)?(5~+o>ZZ%` zI6IW6>4^kZj~P6?^d7)b33rSwmA6waN<7}j1tlh~z!4`ICmn;*2(D2E2rKzjyLVDsndz(s<(s^vBCZ(jRhYM8 z=C5;H85=8_rcQWCQyrENXex8kYWrj1S*JglCSkfTK3% z0CQ#F|3O<&XbbHzZWkRDiHZGN8Ai7rxGJX)roC%E-Jp=qIlvVsY-IN$=%QaU5VxUe z(7!0=`z06(y}Vr3AyRN&bwdNLG!ed0(NSrk=1a8*%}a(Nbv!?s8QhJyJ}OIQMD$!p zp9KaG%1n|mY!brghW^tCd(s5d<^@8PZ9y$kQFidISZ zes8qQ_jF8fhXwOE&J#!@e%10Kx=!ctqNBj;@A2iGdy7vDS#GrtfNp{hgVw813jrey zs5Jp3Tc|hy>^kb&HtVNsN(EkXU{5?V0b+q3;}QYjcjjwL0!R_(72!@5QK@qP(@feg z+T|2*k+(N{Wc==T(Yj_C2@Of*HU1y9dstU_zdygilzT$7gUfOY-{63+4nYPO*a!3& zOOa`eVu{S7TLm#uXUg-Pm}`~g{Y>9F9vIeo00*6{nDc3tJVYkTZyjp9b?iza7Yxg} zSFa$#f&CObaO;?}%%o%{Om{shUFxaYWiC-3Js7B!O6Bp5lJ(u3A^&sIJPg%Rd9Yh<&fsD}W9 z_qPu4_JbS{?&;LK3c+*~h}j8s{7M=Mg;E61HX+QvNT3~2cF3DRWC%uo3UFb#?&kGCJuT86teQwAHwRGdYLY&kffC(Bp+1dSP;D#DEPtgmLwA-YDc+*kD@Df3d~@0@17p zVqV){o$XR`^<_OeTYwB|CQWMDt}%){%vq0~q~;eDB&|WH9C_sYkVbyu+TzEj@SS;w z25xKe`rG8ViwJjFJ7RQ^{5Wdh?7x{VhWxgREytK6L9ZL~_$igu)D*7oU821SVP@MP zD^tlxXM6+3Tp?9n4?WKey-sVZOlCjD5Dmw&RUdUl)> zxedmKirL9j>bTx&ORQ+}F?o(T;E4z*V9-I?HBmlZ#8eZvd+9=fZ#E&~b7?RH0+ZVL zz)UNY2SnUU;j3;bI;qViku~|fbdHJ_sesJGMEoWxLix7wht}^14ap!c zSNPrb-Z;!HUl+kO`^Fom3`xrF_eew^YkAkBvN{fTns=%!Wx0oz?OkN;$SrG;qv05} z@D-XD0oo9~0X{p7PLU#HlhCvTpI<*Jk$jqU&q037q zf(nYCELj#@Sx2lIh81|lmqKsZ%P%6>_@JikVLrAKa!Ic*IC0$UF^$L+!{6tDAViqS z>y;i_otP!BKXVwJYlXj2aQhABx+h{3*vS5prtuw2L~1cadT8ylO5gulYv^+Q zv+M~_tTX!RI7V3#?}vL5hplDzx?9EngnzBAyW8J9Wb-|eDGc(x9u(mbxlVhz z^wzpj|JvFh*Bj^dtUT0Yld{gWz001PUaK8=>|2U8*}hgFS6f}$TQgJUEk+FTnNfsW z`arwzOa-)psodL{iA_1S8am}9y4HQmS$)(zxGv}2!E}6&xj&!JVY%+znBC+;zHXql zs{-uZSNbJhI1exqi#=a6M~&MDa@Pq?^Y7(1&2KsBH9E(cR62C0oP$u4Kbos?H8+?1 zUXrCmRj?V{s8pn1po&7aW$_j%&NM8PziaF2YMSh^qoZjuR(ElcJVdGLVb03c4GaZG zy~l6z)~~HTDA2PC&wPw6jgGtx=IDhH+qOSfCoYP3w>i>1rX+|XZ+o)Rnij-V@vx(4 zz|%Ra7|HFMqo$o*KBH@{Ewx;F_h@CkuVL@P7UO_Z|9-+Ee$jVOP^N^ZdLqEs*)d;$ z$5=PVS*a9^O66R7st(xL)Wm`jNk&bcuN2H1jXrFtZs$?Q5)Q-M22C0JI4SZ^@opLp z`&Xq6^-_4A&6E+j8m7{h%1F$N2A3P;kW$P0Y5!&VY}W8PvsbFHdEKfg_&eMZ9XJI| zn;j=+J^|nT^5e|uUCimpvHim*E-w#q-&u7xu~nIvQ|^;@aOj#+CDhW7(Sfz#E~oIz zhiwR{s@L>=A+7AkuM_b;QeK#`Q)T=t-YcOnLLQLY4bRbo z{E5M}LhKSSwj^{cVwy_*&DX8aUsXBTx{*VMmZWEtiqJ80pa-IM*t#ec^5-<>eEXSyeSl;6@mt3fOsau(<<0?3C_HkUMaxEs3u~dG2{j+1^e>!9hpr zEC;+M2?iQy0=xdZb{IGY+nB0C+DDhKBwxCfJ3!al=SAG?f{#h?SARo`8-e1YJ&uaU=ey zHV_8&R+4k2qRAJ`p24$jizPCXujgKn3 ze&1iv_p*;}|HyTGjqm2iMwKi%Le_F@^3Sht?_TGhy=1&Nf0w2qdS`F)SNpEM602T) z^|2;4?|Ao_ZS{rm>XgClpWIvACw{*9>z#kC_h%kHuWiq~vTygo$^RbM@YDaGM~V-* zGt^I4UD&&PX2!+2pEhhcw)O6G-8sMC79O1Z*i5%`o-3~od>k|4R^PCtnqz&o@=lxR z;fkp#qr`aqjQ*P?pNCD^56JtMYUR2&qLb_X8DLjg4Q+7I6ZX{T+MxM#R`Ir8NkM&5 z!i(J*N?T%UbYXh#=rP!_v?gr5(dAxR@6IG;B*)<>(CH~f#Jl|h193XSmTk<-UF`zQ zkNVlQ)If7oy-J4FWF7W`zX$gQ*uMO5%*$ZE#=W!#uerwyVT4O&^-K%i>qaec0i;W; z@mRDvIPuC(=KEjgMCNYDo~!CPJM&#l-Yo=}Xx|(TjYr9$lW8vJL-A}vzto*ptAzpg4aYShC2}cRY&(ausc`E;~ zHQCGNgKqyZCa64%*cDK3L#8k5>b{=2EA8Q}zDYCAhSqrBa(PUzIRSE<{s%Vv+;tj$ zl%IF-T<-gUw<^~?+|l}%w*O{fLk1(eQ7{WGH>~V#+(9s zN5}jewKZ6|?}=SDeail7iwca?QJ8!70p@UBwb1*Zgm*XYYzZFCSgkcIAZris$Exkv zo?IBWAf*~vdgz?24U1Hd9OyReT}#W2+}yxOyLHwA_(?pg@!%rs-$A+Ly7yA_WS`nM zq@d@wiw*5<<j)m=Rm4t!Arg>##SaMNwK+)UImzqNUIIJ%2ja3AsMb z`Hc7bzF&9Y-q78bl9q1bqIBYoTT;z?`WuyZb{=hsKXZ)r+>)9u(x!V66=U?YbTZ6M z(C>9f`=-o5SkMy}2Wi(y!^IcR&wUrDxV{QiD7-5yG32*Wc6#aJK9C*N`NOB2GiT%= z^}tD@yXUPnI6oi9~S7VdH|y>lwY3UF(67-&mu);)sHOpcCX> zDt?15UW4bgt!EQ=&_F)RV`vx{fb+2$Glr@ZFp?thD#V6IJGcqd)Sef}S)KxlSyKGG zi^DCOV5pdZUB5Z7rC+|lk)UO|GdM;9YLHd|gzilO!cMSt0Kw=?CGCPoXEfJt?yt9x*?K?QiH|q0>ndvKv`tC38g#3=;i<)U>H;N~@iP!Dba+Wd!p=&ds z{H=HpR$5a#RA81g_%iUk068&i^ftq-+S{efsT7EGOIfc0^Rs6nT;f^K>Q6g0g)^@y z*4a?yUW13Tx}Y1G$wqPaEO@hc?7@DtsgvKxvwWC7tI|uCL2o+q^?4On=ASlk^-nb~ zy(m7Gy97lBd8;q!kF9UL*gz<+8oE3Z)~htLG&1^>x&%~Z`J5~gQ*2wpmRjK|_8w{+ zy`RdZ30rwJcR;9O0=H5wf!J8pr0Hk@en#`EvtQ&jMeF`7hJo z>b+|gG=C|Kt(T;!?FWuoN<$E46JXigJ<{s&^I@J~Ou_{*r$V5Nfc!-)1fi`c1|n&u zRNnrDrxJQ~S`UG`IksY$g%rY(tkgT0b&{W2)*GkzdI*c?`tR~4YaQaqDhDAswNl|H zZdp_VSBTmJ_{Ri?Ob+U1%|OAL-r7UJfvV~tJ8LT3qTeXy725zM{Wn4dkDG%x>75x$ zMvl$0u#3PQwd(k=^d=sUtz9Y+^2w~3f2wF;D&ru@N}kyNNC1+F<_ej2Zk{*8{!o zanrL=n|cki-WXFNupFAvEa&qW1m$4MmpPaXXE$qKP-WICX|ea1W>YxN!ZZm~V6CJ~ zNlEmlY8s>ws+ShEfg`vju-{Dp!WNJHzS1yPOVv)zIi#uI%{&^@X>dso`{qFJN5hLI zC?cDeeit+zCwlUc((Z^($h5q3$99gB7==N5$&c(!i{FNkDzUV0kQTkOS>vp=wL7iE zSM=^tViU%kt3)M>?zWzzJSiE)HdzKlz-Hx@V&mKJ02_}$r6qG!g?JMS8)OXCwK_Md zeIE4Ca5F2~3My^^YJ2TQW@D&9a+ezEUhdvBsqukADg3@jkIP?{e8sypBRH_a?bDnS zbz^N=dReOU&3Fqq915qt7Ky8HgZplkLX^#8{4>JbCh~_Uq_G#t*G0 zi+)?-5Mc;V11HbTO83GhjH`1nE~XWU@x3YTjn=;k zSYmrN#mU~-rG+}APL>fVRtzalGzS#u3Djt1Amh`mxq#Sf@cpn#&RokNFejSyA6JR9qx zVT*<3mma&}p+am3qE?(Y&_2;H7w5S`hCzZb%mt1uWcses<8)`BXKl3}=+A)?m3Q-h zt*a2(^iI1;0^$Peb20gQo$%QA5HQegaCAYa^4V9{J66FV34JwHX^c)_Jor zw+$3U#l*~2nOpvW4AXZ;E&e3-p+d+bRcy7iM6p0_c4csvCvA0N2$RhVWg4m#sJ|2x z6WH~&7f-t*;pk%#C&9sUz(h`?wrpjuMiip8xJqd2DMMLaQ8KX7Bz?QDPIpf)dCOal zS^Nd@9rtWp;ES_H&G$%;t%(HqlrUG(jI}I6MHz!+e6ZDMz(2{5kZERGFfakx25PPpWCIYw`XEP2CYK` z$5s)RncSoq)~?rp9C)uI>Gk|>N(FgeVV1q%t`<;fpNr|p&!aD4*(CRd7$w4m|i*% zW)c?D#}1sj^BH=|N})pe5}!C|WwxPSDwI0xNZNRBiVzc>8r{-?3NlAEE=kR`knHM` zxJLu`)P+2%;d5K%N4oQ6N<~DK4w|ojHml*zO3BWYH|YzKS+tQJ@fA&tqCpl&-AQL; zU&iRougx%KLH!ui*#v6|lb*tu#BKhvcd^}2C~Q-($}AY~DKSi0141G)Vb(N8^mtm6 z)!@1+f+BF}r##exHX195gyEJ!x_=fM5DpbusT?PNrBoY ziT{P2mC>fw0&WHj$KLLsR~AwJ059aw18|7TV-~)|3g!h7ZM)=^almLF7_-L3%DO36lmfjq5ZUgC;|xZ zajJFD7DW)6upGTr=rpie99))~qtOT)D0e;`GlN6YMk1tE8Xm=r$aPi0)>-JbZqQW2H@ znA;PPmg(>{i|X#!!{jTw(tm~rjcf!t^3Z>e8#ZqkxD03i;T`&m39$FBUezRL12!Hy{PEl_Lq`3YHoK#nh#{8ohWf>PI}O

CGJCzyiJF>!T?&W+!c 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

fUt%N*eWic4cP(=2#zl!fwa>Rryrd|K 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%0A|P} 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

_kYOin|`y?>@%Mx>8x#$0pajkRb9@BDTe<5 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

(=z3;0 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 z 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

dF?!FESpg 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 Z0PlE2X|>tF82MQ#^ns@A1fk2J{|Ac>kD>qo literal 0 HcmV?d00001 diff --git a/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta new file mode 100644 index 00000000..770fa6d4 --- /dev/null +++ b/Assets/Shaders/OilPainting/everytexture.com-stock-paint-texture-00018-normal-2048.jpg.meta @@ -0,0 +1,135 @@ +fileFormatVersion: 2 +guid: 023c8550f7a88674fb7be5f5e728fb63 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing.meta b/Assets/X-PostProcessing.meta new file mode 100644 index 00000000..0f48e0c9 --- /dev/null +++ b/Assets/X-PostProcessing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c90e5575e949ac4bad5aa996e48d18e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Editor.meta b/Assets/X-PostProcessing/Editor.meta new file mode 100644 index 00000000..e158928c --- /dev/null +++ b/Assets/X-PostProcessing/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 132b2459e0d85954bb19c420721c4e82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs new file mode 100644 index 00000000..62ceb93b --- /dev/null +++ b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs @@ -0,0 +1,70 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEditor.Rendering.PostProcessing; +using UnityEngine; + +public class XPostProcessingEditorUtility : Editor +{ + + #region Collape Hierarchy相关工具函数 + + + public static void Collapse(GameObject go, bool collapse) + { + if (go == null || go.transform == null) + { + return; + } + // bail out immediately if the go doesn't have children + if (go.transform.childCount == 0) return; + // get a reference to the hierarchy window + var hierarchy = GetFocusedWindow("Hierarchy"); + // select our go + SelectObject(go); + // create a new key event (RightArrow for collapsing, LeftArrow for folding) + var key = new Event { keyCode = collapse ? KeyCode.RightArrow : KeyCode.LeftArrow, type = EventType.KeyDown }; + // finally, send the window the event + hierarchy.SendEvent(key); + } + + public static void SelectObject(Object obj) + { + Selection.activeObject = obj; + } + public static EditorWindow GetFocusedWindow(string window) + { + FocusOnWindow(window); + return EditorWindow.focusedWindow; + } + public static void FocusOnWindow(string window) + { + EditorApplication.ExecuteMenuItem("Window/" + window); + } + + #endregion + + + + + public static readonly string DISPLAY_TITLE_PREFIX = "X-" ; + + public static string GetEnumName(SerializedParameterOverride prop) + { + return " (" + prop.value.enumDisplayNames[prop.value.intValue] + ")"; + } + + public static string GetEnumNameEX(SerializedParameterOverride prop) + { + return ((prop.overrideState.boolValue) ? " (" + prop.value.enumDisplayNames[prop.value.intValue] + ")" : string.Empty); + } + + [MenuItem("Windows/OpenFrameDebugger %F")] + public static void OpenFrameDebugger() + { + EditorApplication.ExecuteMenuItem("Window/Frame Debugger"); + } + + + +} diff --git a/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta new file mode 100644 index 00000000..518151b4 --- /dev/null +++ b/Assets/X-PostProcessing/Editor/XPostProcessingEditorUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab4b523203ae7f94cbbf28a7029bcdda +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects.meta b/Assets/X-PostProcessing/Effects.meta new file mode 100644 index 00000000..47b12b32 --- /dev/null +++ b/Assets/X-PostProcessing/Effects.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 460d47eae60aad142a39f314b948b344 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette.meta b/Assets/X-PostProcessing/Effects/AuroraVignette.meta new file mode 100644 index 00000000..0f213acd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a8f91fb3d4cd4364e9a5b53e585c9155 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs new file mode 100644 index 00000000..1308c724 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs @@ -0,0 +1,103 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(AuroraVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/AuroraVignette")] + public class AuroraVignette : PostProcessEffectSettings + { + [Range(0.0f, 1.0f)] + public FloatParameter vignetteArea = new FloatParameter { value = 0.8f }; + + [Range(0.0f, 1.0f)] + public FloatParameter vignetteSmothness = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter vignetteFading = new FloatParameter { value = 1f }; + + [Range(0.1f, 1f)] + public FloatParameter colorChange = new FloatParameter { value = 0.1f }; + + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorR = new FloatParameter { value = 1.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorG = new FloatParameter { value = 1.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter colorFactorB = new FloatParameter { value = 1.0f }; + + [Range(-2.0f, 2.0f)] + public FloatParameter flowSpeed = new FloatParameter { value = 1.0f }; + + + + } + + public sealed class AuroraVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + private float TimeX = 1.0f; + private const string PROFILER_TAG = "X-AuroraVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/AuroraVignette"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int vignetteArea = Shader.PropertyToID("_VignetteArea"); + internal static readonly int vignetteSmothness = Shader.PropertyToID("_VignetteSmothness"); + internal static readonly int colorChange = Shader.PropertyToID("_ColorChange"); + internal static readonly int colorFactor = Shader.PropertyToID("_ColorFactor"); + internal static readonly int TimeX = Shader.PropertyToID("_TimeX"); + internal static readonly int vignetteFading = Shader.PropertyToID("_Fading"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetFloat(ShaderIDs.vignetteArea, settings.vignetteArea); + sheet.properties.SetFloat(ShaderIDs.vignetteSmothness, settings.vignetteSmothness); + sheet.properties.SetFloat(ShaderIDs.colorChange, settings.colorChange * 10f); + sheet.properties.SetVector(ShaderIDs.colorFactor, new Vector3(settings.colorFactorR, settings.colorFactorG, settings.colorFactorB)); + sheet.properties.SetFloat(ShaderIDs.TimeX, TimeX * settings.flowSpeed); + sheet.properties.SetFloat(ShaderIDs.vignetteFading, settings.vignetteFading); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta new file mode 100644 index 00000000..6bad2da9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/AuroraVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5af098a6abaa43e41a2a97a9351f5957 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta new file mode 100644 index 00000000..f7725936 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2adfefa1549f2d747bd0ccbddad303b6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs new file mode 100644 index 00000000..967abb78 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs @@ -0,0 +1,71 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(AuroraVignette))] + public sealed class AuroraVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteArea; + SerializedParameterOverride vignetteSmothness; + SerializedParameterOverride vignetteFading; + SerializedParameterOverride colorChange; + SerializedParameterOverride colorFactorR; + SerializedParameterOverride colorFactorG; + SerializedParameterOverride colorFactorB; + SerializedParameterOverride flowSpeed; + + + public override void OnEnable() + { + vignetteArea = FindParameterOverride(x => x.vignetteArea); + vignetteSmothness = FindParameterOverride(x => x.vignetteSmothness); + vignetteFading = FindParameterOverride(x => x.vignetteFading); + colorChange = FindParameterOverride(x => x.colorChange); + colorFactorR = FindParameterOverride(x => x.colorFactorR); + colorFactorG = FindParameterOverride(x => x.colorFactorG); + colorFactorB = FindParameterOverride(x => x.colorFactorB); + flowSpeed = FindParameterOverride(x => x.flowSpeed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Vignette"); + PropertyField(vignetteFading); + PropertyField(vignetteArea); + PropertyField(vignetteSmothness); + + EditorUtilities.DrawHeaderLabel("Speed"); + PropertyField(flowSpeed); + + EditorUtilities.DrawHeaderLabel("Color Adjustment"); + PropertyField(colorChange); + PropertyField(colorFactorR); + PropertyField(colorFactorG); + PropertyField(colorFactorB); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta new file mode 100644 index 00000000..59515a2e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Editor/AuroraVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97c9a4be14619274cbd2468d65e0b1d3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/README.md b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md new file mode 100644 index 00000000..35670ec0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md @@ -0,0 +1,16 @@ + +# AuroraVignette + +## Source Code List +- [Shader Code](Shader/AuroraVignette.shader) +- [C# Code](AuroraVignette.cs) +- [Editor Code](Editor/AuroraVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/AuroraVignette/AuroraVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta new file mode 100644 index 00000000..27ba2f7e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b1760853c4cb0f44688c7129e00140c3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta new file mode 100644 index 00000000..c2fc947f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4419eb66e407464397106198c0e714c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader new file mode 100644 index 00000000..bf36f8fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/AuroraVignette" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _VignetteArea; + uniform half _VignetteSmothness; + uniform half _ColorChange; + uniform half4 _Color; + uniform half _TimeX; + uniform half3 _ColorFactor; + uniform half _Fading; + + half4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + float2 uv0 = uv - float2(0.5 + 0.5 * sin(1.4 * 6.28 * uv.x + 2.8 * _TimeX), 0.5); + float3 wave = float3(0.5 * (cos(sqrt(dot(uv0, uv0)) * 5.6) + 1.0), cos(4.62 * dot(uv, uv) + _TimeX), cos(distance(uv, float2(1.6 * cos(_TimeX * 2.0), 1.0 * sin(_TimeX * 1.7))) * 1.3)); + half waveFactor = dot(wave, _ColorFactor) / _ColorChange; + half vignetteIndensity = 1.0 - smoothstep(_VignetteArea, _VignetteArea - 0.05 - _VignetteSmothness, length(float2(0.5, 0.5) - uv)); + half3 AuroraColor = half3 + ( + _ColorFactor.r * 0.5 * (sin(1.28 * waveFactor + _TimeX * 3.45) + 1.0), + _ColorFactor.g * 0.5 * (sin(1.28 * waveFactor + _TimeX * 3.15) + 1.0), + _ColorFactor.b * 0.4 * (sin(1.28 * waveFactor + _TimeX * 1.26) + 1.0) + ); + half3 finalColor = lerp(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv).rgb, AuroraColor, vignetteIndensity * _Fading); + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta new file mode 100644 index 00000000..6cf0bc63 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/AuroraVignette/Shader/AuroraVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7de134a73c0f46849a4590aa389fcab2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur.meta b/Assets/X-PostProcessing/Effects/BokehBlur.meta new file mode 100644 index 00000000..c27b3af1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8fbdcb05f0ba11245914dc13d01ef05d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs new file mode 100644 index 00000000..dfe344ad --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs @@ -0,0 +1,87 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(BokehBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/BokehBlur")] + public class BokehBlur : PostProcessEffectSettings + { + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 32 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + + } + + public sealed class BokehBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-BokehBlur"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/BokehBlur"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 0); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta new file mode 100644 index 00000000..cb2e5326 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/BokehBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 84ae5393ade3f4847ab851805bcf1777 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta new file mode 100644 index 00000000..c9cc7b32 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c950f1c0d9478f44a4e2fa94c2a01e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs new file mode 100644 index 00000000..b67f37f4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(BokehBlur))] + public sealed class BokehBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta new file mode 100644 index 00000000..2b25c047 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Editor/BokehBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3863883dc6dbf9f43a8c8cfe23b33ba4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/README.md b/Assets/X-PostProcessing/Effects/BokehBlur/README.md new file mode 100644 index 00000000..fc700776 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/README.md @@ -0,0 +1,15 @@ + +# Bokeh Blur + +## Source Code List +- [Shader Code](Shader/BokehBlur.shader) +- [C# Code](BokehBlur.cs) +- [Editor Code](Editor/BokehBlurEditor.cs) + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BokehBlur/BokehBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta b/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta new file mode 100644 index 00000000..426c5728 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 574ee3dc98fb922468f659240a7f45fc +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta new file mode 100644 index 00000000..7887971a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7b572c0a276b454a966f54b6343e8e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader new file mode 100644 index 00000000..bd86a1f7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader @@ -0,0 +1,71 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference : https://www.shadertoy.com/view/4d2Xzw + +Shader "Hidden/X-PostProcessing/BokehBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _GoldenRot; + half4 _Params; + + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + half4 BokehBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius); + + for (int j = 0; j < _Iteration; j++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return BokehBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta new file mode 100644 index 00000000..a7310296 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BokehBlur/Shader/BokehBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9800d8b6c0e16c34d9b7b55758a26141 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur.meta b/Assets/X-PostProcessing/Effects/BoxBlur.meta new file mode 100644 index 00000000..8b00139d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65833bbdfbd307448a2c235bdac8fd33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs new file mode 100644 index 00000000..ebfb20d7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(BoxBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/BoxBlur")] + public class BoxBlur : PostProcessEffectSettings + { + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 20)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class BoxBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-BoxBlur"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/BoxBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int) (context.screenWidth / settings.RTDownScaling); + int RTHeight = (int) (context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + if (settings.Iteration > 20) + { + return; + } + + Vector4 BlurRadius = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + // RT1 -> RT2 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // RT2 -> RT1 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta new file mode 100644 index 00000000..ac44a01f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/BoxBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0ad87ed76c4e75846a28e3a301084ed7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta new file mode 100644 index 00000000..e33e8632 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c2753ddd19315da46bc8ee29381bf046 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs new file mode 100644 index 00000000..8040e828 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(BoxBlur))] + public sealed class BoxBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta new file mode 100644 index 00000000..fa011a77 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Editor/BoxBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 92805384c671b88469299e1fecc6ec49 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/README.md b/Assets/X-PostProcessing/Effects/BoxBlur/README.md new file mode 100644 index 00000000..abca52c3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/README.md @@ -0,0 +1,16 @@ + +# Box Blur + +## Source Code List +- [Shader Code](Shader/BoxBlur.shader) +- [C# Code](BoxBlur.cs) +- [Editor Code](Editor/BoxBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/BoxBlur/BoxBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta b/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta new file mode 100644 index 00000000..db08d01b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 07f92ac6ceb9f52428797c8d5e3763ab +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta new file mode 100644 index 00000000..51bc94db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e0ac6666a22b374cb3bf0370eaabe14 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader new file mode 100644 index 00000000..3a5ac076 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/BoxBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + half4 BoxFilter_4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s = 0; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy) * 0.25h; // 1 MUL + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 0.25h; // 1 MAD + + return s; + } + + + float4 FragBoxBlur(VaryingsDefault i): SV_Target + { + return BoxFilter_4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBoxBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta new file mode 100644 index 00000000..1617ce06 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/BoxBlur/Shader/BoxBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8aa214df2a97e0849925b069cedda597 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta new file mode 100644 index 00000000..70355f64 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a722036b2f742e34aba6d68f784066aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs new file mode 100644 index 00000000..6c0d1b8d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs @@ -0,0 +1,64 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentBleachBypassRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/BleachBypass")] + public class ColorAdjustmentBleachBypass : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Indensity = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorAdjustmentBleachBypassRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentBleachBypass"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/BleachBypass"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + + sheet.properties.SetFloat(ShaderIDs.Indensity, settings.Indensity); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta new file mode 100644 index 00000000..fc469297 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2638595d43b44334d88d398c2ff5a6ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta new file mode 100644 index 00000000..7342ac8a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b094988c3490b184d81f36b9a9c6f650 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs new file mode 100644 index 00000000..f2d6da9b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentBleachBypass))] + public sealed class ColorAdjustmentBleachBypassEditor : PostProcessEffectEditor + { + + SerializedParameterOverride Indensity; + + + public override void OnEnable() + { + Indensity = FindParameterOverride(x => x.Indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Indensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta new file mode 100644 index 00000000..78ae0acc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Editor/ColorAdjustmentBleachBypassEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88278f3ae9f415b4aa38c9097dafee28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md new file mode 100644 index 00000000..5e41c25f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentBleachBypass + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentBleachBypass.shader) +- [C# Code](ColorAdjustmentBleachBypass.cs) +- [Editor Code](Editor/ColorAdjustmentBleachBypassEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypassProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBleachBypass/ColorAdjustmentBleachBypass.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta new file mode 100644 index 00000000..ff82af61 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b335087f30a281342936cc1b98c88907 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta new file mode 100644 index 00000000..2d37af67 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7038e813b5a0c74c81334e1824bced3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader new file mode 100644 index 00000000..1a9717bd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/BleachBypass" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + + half luminance(half3 color) + { + return dot(color, half3(0.222, 0.707, 0.071)); + } + + //reference : https://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html + half4 Frag(VaryingsDefault i): SV_Target + { + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half lum = luminance(color.rgb); + half3 blend = half3(lum, lum, lum); + half L = min(1.0, max(0.0, 10.0 * (lum - 0.45))); + half3 result1 = 2.0 * color.rgb * blend; + half3 result2 = 1.0 - 2.0 * (1.0 - blend) * (1.0 - color.rgb); + half3 newColor = lerp(result1, result2, L); + + return lerp(color, half4(newColor, color.a), _Indensity); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta new file mode 100644 index 00000000..a4ab5545 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass/Shader/ColorAdjustmentBleachBypass.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbafedd278d3c9d4fb9d0d5a83ee1ccd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta new file mode 100644 index 00000000..996a4871 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8188b11e914929748ae65b9d47a46aab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs new file mode 100644 index 00000000..b6f3cc41 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentBrightnessRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Brightness")] + public class ColorAdjustmentBrightness : PostProcessEffectSettings + { + [Range(-0.9f ,1f)] + public FloatParameter brightness = new FloatParameter { value = 0f }; + } + + public sealed class ColorAdjustmentBrightnessRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentBrightness"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Brightness"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int brightness = Shader.PropertyToID("_Brightness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.brightness, settings.brightness + 1f); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta new file mode 100644 index 00000000..e8f35673 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/ColorAdjustmentBrightness.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ccd02f4c3282cc343bb7d404d538e601 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta new file mode 100644 index 00000000..0bc9593e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 482859c18c1521e4eb64d886bde30472 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs new file mode 100644 index 00000000..d4b7d851 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentBrightness))] + public sealed class ColorAdjustmentBrightnessEditor : PostProcessEffectEditor + { + + SerializedParameterOverride brightness; + + + public override void OnEnable() + { + brightness = FindParameterOverride(x => x.brightness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(brightness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta new file mode 100644 index 00000000..548bcc5b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Editor/ColorAdjustmentBrightnessEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 020cd58b993afe444a5c0256e9fac0c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md new file mode 100644 index 00000000..49a36b9e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentBrightness + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentBrightness.shader) +- [C# Code](ColorAdjustmentBrightness.cs) +- [Editor Code](Editor/ColorAdjustmentBrightnessEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightnessProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightness.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentBrightness/ColorAdjustmentBrightness.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta new file mode 100644 index 00000000..47318c9e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8ec6fed4122724a49a28933868454742 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta new file mode 100644 index 00000000..cd192a8d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e75acac72dae804baa6d6b827bde3ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader new file mode 100644 index 00000000..9d4a467c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader @@ -0,0 +1,41 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Brightness" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Brightness; + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).rgb; + return half4(sceneColor * _Brightness, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta new file mode 100644 index 00000000..9e3adb3f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness/Shader/ColorAdjustmentBrightness.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 72af43b5091ce9848bd00bede713710a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta new file mode 100644 index 00000000..da7dfff1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5ea544ae25ed1646aa49d8b269196d0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs new file mode 100644 index 00000000..3fd53493 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Contrast")] + public class ColorAdjustmentContrast : PostProcessEffectSettings + { + + [Range(-1.0f, 2.0f)] + public FloatParameter contrast = new FloatParameter { value = 0.2f }; + + } + + public sealed class ColorAdjustmentContrastRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentContrast"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Contrast"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Contrast", settings.contrast + 1); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta new file mode 100644 index 00000000..d7c90e22 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/ColorAdjustmentContrast.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a053027361353e04db3a200d1a0eb315 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta new file mode 100644 index 00000000..487ee599 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba7a9f7f5e6cd3d41b90fa84db84ce05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs new file mode 100644 index 00000000..5486bd2d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs @@ -0,0 +1,46 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrast))] + public sealed class ColorAdjustmentContrastEditor : PostProcessEffectEditor + { + + SerializedParameterOverride contrast; + + + public override void OnEnable() + { + contrast = FindParameterOverride(x => x.contrast); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(contrast); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta new file mode 100644 index 00000000..e7639211 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Editor/ColorAdjustmentContrastEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 705035905280deb4f85779897b91cc2a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md new file mode 100644 index 00000000..dededfde --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrast + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrast.shader) +- [C# Code](ColorAdjustmentContrast.cs) +- [Editor Code](Editor/ColorAdjustmentContrastEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrastProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrast.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrast/ColorAdjustmentContrast.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta new file mode 100644 index 00000000..be873dcf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b04971144e3e1b64e990c00081da3571 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta new file mode 100644 index 00000000..ab8161d5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 278b4bee710370248b36817a27e2e372 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader new file mode 100644 index 00000000..eaea9bb5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader @@ -0,0 +1,53 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Contrast" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Contrast; + + + half3 ColorAdjustment_Contrast(half3 In, half Contrast) + { + half midpoint = 0.21763h;//pow(0.5, 2.2); + half3 Out = (In - midpoint) * Contrast + midpoint; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast(finalColor.rgb , _Contrast); + + return finalColor; + + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta new file mode 100644 index 00000000..3a8f8737 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrast/Shader/ColorAdjustmentContrast.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dcad391fdc4ec1c4ca95088ca579f19a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta new file mode 100644 index 00000000..55d9de7b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 130768225b8332546abf36bbcc642352 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs new file mode 100644 index 00000000..c42cc344 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ContrastV2")] + public class ColorAdjustmentContrastV2 : PostProcessEffectSettings + { + + [Range(-1.0f, 5.0f)] + public FloatParameter Contrast = new FloatParameter { value = 0.2f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorR = new FloatParameter { value = 0.0f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorG = new FloatParameter { value = 0.0f }; + + [Range(-1.0f, 1.0f)] + public FloatParameter ContrastFactorB = new FloatParameter { value = 0.0f }; + + } + + public sealed class ColorAdjustmentContrastV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentContrastV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/ContrastV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Contrast", settings.Contrast + 1); + sheet.properties.SetVector("_ContrastFactorRGB", new Vector3(settings.ContrastFactorR, settings.ContrastFactorG , settings.ContrastFactorB)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta new file mode 100644 index 00000000..42e7aff2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 104ed5ad0e6ca124fab5c8515b49855d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta new file mode 100644 index 00000000..4f1c1910 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbf32e87d53725849b516b33b324f922 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs new file mode 100644 index 00000000..4e3db176 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrastV2))] + public sealed class ColorAdjustmentContrastV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Contrast; + SerializedParameterOverride ContrastFactorR; + SerializedParameterOverride ContrastFactorG; + SerializedParameterOverride ContrastFactorB; + + + public override void OnEnable() + { + + Contrast = FindParameterOverride(x => x.Contrast); + ContrastFactorR = FindParameterOverride(x => x.ContrastFactorR); + ContrastFactorG = FindParameterOverride(x => x.ContrastFactorG); + ContrastFactorB = FindParameterOverride(x => x.ContrastFactorB); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Contrast); + + EditorUtilities.DrawHeaderLabel("RGB Channel"); + + PropertyField(ContrastFactorR); + PropertyField(ContrastFactorG); + PropertyField(ContrastFactorB); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta new file mode 100644 index 00000000..5b1f5714 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Editor/ColorAdjustmentContrastV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aee52c2d6a502e0469af691adaee766f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md new file mode 100644 index 00000000..14390abe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrastV2 + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrastV2.shader) +- [C# Code](ColorAdjustmentContrastV2.cs) +- [Editor Code](Editor/ColorAdjustmentContrastV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV2/ColorAdjustmentContrastV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta new file mode 100644 index 00000000..a4455f49 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c3cc72efd61563a45b743bfe2742edf1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta new file mode 100644 index 00000000..b36a7765 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d70343f88a6557f4894708cc80d76797 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader new file mode 100644 index 00000000..7214cdec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/ContrastV2" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Contrast; + uniform half3 _ContrastFactorRGB; + + half3 ColorAdjustment_Contrast_V2(float3 In, half3 ContrastFactor, float Contrast) + { + half3 Out = (In - ContrastFactor) * Contrast + ContrastFactor; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast_V2(finalColor.rgb , _ContrastFactorRGB,_Contrast); + + return finalColor; + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta new file mode 100644 index 00000000..eacc28be --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2/Shader/ColorAdjustmentContrastV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4927ffb2887aa1f4f903af98e6c634e2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta new file mode 100644 index 00000000..e5b8866f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9900223ed74486748be34917b69043ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs new file mode 100644 index 00000000..548d19ac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentContrastV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ContrastV3")] + public class ColorAdjustmentContrastV3 : PostProcessEffectSettings + { + + + [DisplayName("Contrast Wheel"),ColorWheel(ColorWheelAttribute.Mode.Contrast)] + public Vector4Parameter contrast = new Vector4Parameter { value = new Vector4(1f, 1f, 1f, -0.1f) }; + } + + public sealed class ColorAdjustmentContrastV3Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-ColorAdjustmentContrastV3"; + + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/ContrastV3"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector("_Contrast", settings.contrast); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta new file mode 100644 index 00000000..ae0c6008 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e5d3b86966fb6624497fe2c2495da9a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta new file mode 100644 index 00000000..39c273ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 06bd6cdd028cdec4aa6bb7e4037d12e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs new file mode 100644 index 00000000..47f7a0ff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentContrastV3))] + public sealed class ColorAdjustmentContrastV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride contrast; + + + public override void OnEnable() + { + contrast = FindParameterOverride(x => x.contrast); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + using (new EditorGUILayout.HorizontalScope()) + { + //GUILayout.Space(100f); + PropertyField(contrast); + GUILayout.Space(100f); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta new file mode 100644 index 00000000..902403ac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Editor/ColorAdjustmentContrastV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2667bce5bcaac074899d5c8b7e0720ce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md new file mode 100644 index 00000000..361a71bb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentContrastV3 + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentContrastV3.shader) +- [C# Code](ColorAdjustmentContrastV3.cs) +- [Editor Code](Editor/ColorAdjustmentContrastV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentContrastV3/ColorAdjustmentContrastV3.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta new file mode 100644 index 00000000..f254a244 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b5d25855fa2984c4ab6ec023bd87703b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta new file mode 100644 index 00000000..1b71d9f5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b48a79b95216a647b6f97775177eb98 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader new file mode 100644 index 00000000..f916b7f4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/ContrastV3" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Contrast; + + half3 ColorAdjustment_Contrast_V3(float3 In, half3 ContrastFactor, float Contrast) + { + half3 Out = (In - ContrastFactor) * Contrast + ContrastFactor; + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + finalColor.rgb = ColorAdjustment_Contrast_V3(finalColor.rgb , half3(_Contrast.x, _Contrast.y, _Contrast.z),1- (_Contrast.w )); + return finalColor; + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta new file mode 100644 index 00000000..50654d98 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3/Shader/ColorAdjustmentContrastV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c066218fdb9bbdc4aa87233e51731ed4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta new file mode 100644 index 00000000..7eb5b5c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e75cf712d693331479a21b7364750771 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs new file mode 100644 index 00000000..858650ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentHueRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Hue")] + public class ColorAdjustmentHue : PostProcessEffectSettings + { + + [Range(-180.0f, 180.0f)] + public FloatParameter HueDegree = new FloatParameter { value = 20f }; + } + + public sealed class ColorAdjustmentHueRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-ColorAdjustmentHue"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Hue"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_HueDegree", settings.HueDegree); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta new file mode 100644 index 00000000..bad9d756 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/ColorAdjustmentHue.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 323a24a5eeee79d4a8bc92be48fd79bc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta new file mode 100644 index 00000000..e7c9c852 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7b6dbf9b22a3704ea99d049ea2d46ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs new file mode 100644 index 00000000..9b891270 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentHue))] + public sealed class ColorAdjustmentHueEditor : PostProcessEffectEditor + { + + SerializedParameterOverride HueDegree; + + + public override void OnEnable() + { + HueDegree = FindParameterOverride(x => x.HueDegree); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(HueDegree); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta new file mode 100644 index 00000000..c306b57c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Editor/ColorAdjustmentHueEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d96de24c28de9b64abe757c040133f4a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md new file mode 100644 index 00000000..da1066c9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentHue + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentHue.shader) +- [C# Code](ColorAdjustmentHue.cs) +- [Editor Code](Editor/ColorAdjustmentHueEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHueProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHue.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentHue/ColorAdjustmentHue.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta new file mode 100644 index 00000000..cc2edeba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d2b4c42a398b8514d9255bd19a9d5ca0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta new file mode 100644 index 00000000..6237578d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b290ca852a9b1044e855ada67a94cb95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader new file mode 100644 index 00000000..87b0adc7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Hue" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half _HueDegree; + + + half3 Hue_Degree(float3 In, float Offset) + { + float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + float4 P = lerp(float4(In.bg, K.wz), float4(In.gb, K.xy), step(In.b, In.g)); + float4 Q = lerp(float4(P.xyw, In.r), float4(In.r, P.yzx), step(P.x, In.r)); + float D = Q.x - min(Q.w, Q.y); + float E = 1e-10; + float3 hsv = float3(abs(Q.z + (Q.w - Q.y) / (6.0 * D + E)), D / (Q.x + E), Q.x); + + float hue = hsv.x + Offset / 360; + hsv.x = (hue < 0) + ? hue + 1 + : (hue > 1) + ? hue - 1 + : hue; + + float4 K2 = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 P2 = abs(frac(hsv.xxx + K2.xyz) * 6.0 - K2.www); + half3 Out = hsv.z * lerp(K2.xxx, saturate(P2 - K2.xxx), hsv.y); + + return Out; + } + + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + //half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + //half3 finalColor = lerp(sceneColor.rgb, col, _Float1 *0.1); + + return half4(Hue_Degree(sceneColor, _HueDegree), 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta new file mode 100644 index 00000000..36f1087c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentHue/Shader/ColorAdjustmentHue.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd123a4d4b19bc44387f5cd7a964b09b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta new file mode 100644 index 00000000..64e786b7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c53f9c30b8594940b51a504243d5eb4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs new file mode 100644 index 00000000..ddf43aff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentLensFilterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/LensFilter")] + public class ColorAdjustmentLensFilter : PostProcessEffectSettings + { + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter LensColor = new ColorParameter { value = new Color(1.0f, 1.0f, 0.1f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter Indensity = new FloatParameter { value = 0.5f }; + } + + public sealed class ColorAdjustmentLensFilterRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentLensFilter"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/LensFilter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int LensColor = Shader.PropertyToID("_LensColor"); + internal static readonly int Indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + sheet.properties.SetFloat(ShaderIDs.Indensity, settings.Indensity); + sheet.properties.SetColor(ShaderIDs.LensColor, settings.LensColor); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta new file mode 100644 index 00000000..86b5a170 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efb9c856103a46543a82133472d02472 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta new file mode 100644 index 00000000..7147b8f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4940611dccabb04bae4af41f9951202 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs new file mode 100644 index 00000000..0d612c88 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentLensFilter))] + public sealed class ColorAdjustmentLensFilterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride LensColor; + SerializedParameterOverride Indensity; + + + public override void OnEnable() + { + LensColor = FindParameterOverride(x => x.LensColor); + Indensity = FindParameterOverride(x => x.Indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(LensColor); + PropertyField(Indensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta new file mode 100644 index 00000000..80c250f4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Editor/ColorAdjustmentLensFilterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e4bbd8ebf5c3d4479818144ad7fabdb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md new file mode 100644 index 00000000..bd2858f6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentLensFilter + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentLensFilter.shader) +- [C# Code](ColorAdjustmentLensFilter.cs) +- [Editor Code](Editor/ColorAdjustmentLensFilterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilterProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentLensFilter/ColorAdjustmentLensFilter.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta new file mode 100644 index 00000000..05fdf5cb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1445ff22b1601684493a9b64b34e9513 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta new file mode 100644 index 00000000..2c00ca9b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c31040d30fa01004696194f332f942f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader new file mode 100644 index 00000000..756c8eb6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader @@ -0,0 +1,63 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/LensFilter" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + uniform half4 _LensColor; + + half luminance(half3 color) + { + return dot(color, half3(0.222, 0.707, 0.071)); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half lum = luminance(sceneColor.rgb); + + // Interpolate with half4(0.0, 0.0, 0.0, 0.0) based on luminance + half4 filterColor = lerp(half4(0.0, 0.0, 0.0, 0.0), _LensColor, saturate(lum * 2.0)); + + // Interpolate withhalf4(1.0, 1.0, 1.0, 1.0) based on luminance + filterColor = lerp(filterColor, half4(1.0, 1.0, 1.0, 1.0), saturate(lum - 0.5) * 2.0); + + filterColor = lerp(sceneColor, filterColor, saturate(lum * _Indensity)); + + return half4(filterColor.rgb, sceneColor.a); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta new file mode 100644 index 00000000..f4db7b1d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter/Shader/ColorAdjustmentLensFilter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2fd843077c088384a8683b1d6132efb4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta new file mode 100644 index 00000000..9fa52ec0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e959f698c1e84864da0772aec7c58cfd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs new file mode 100644 index 00000000..b5295e48 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentSaturationRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Saturation")] + public class ColorAdjustmentSaturation : PostProcessEffectSettings + { + + [Range(0.0f, 2.0f)] + public FloatParameter saturation = new FloatParameter { value = 1f }; + + } + + public sealed class ColorAdjustmentSaturationRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-ColorAdjustmentSaturation"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Saturation"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Saturation", settings.saturation); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta new file mode 100644 index 00000000..4e708d8c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/ColorAdjustmentSaturation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b5ed3169e7d36b4cadb5c5feaf040ff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta new file mode 100644 index 00000000..364f3659 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10fe08a7a4d14fc4fb506e3feb963023 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs new file mode 100644 index 00000000..8d925ad8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs @@ -0,0 +1,46 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentSaturation))] + public sealed class ColorAdjustmentSaturationEditor : PostProcessEffectEditor + { + + SerializedParameterOverride saturation; + + + + public override void OnEnable() + { + saturation = FindParameterOverride(x => x.saturation); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(saturation); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta new file mode 100644 index 00000000..a4d5b1ce --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Editor/ColorAdjustmentSaturationEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 89360992b9d293b4bb4b7b26f5df495a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md new file mode 100644 index 00000000..dfb2effd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentSaturation + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentSaturation.shader) +- [C# Code](ColorAdjustmentSaturation.cs) +- [Editor Code](Editor/ColorAdjustmentSaturationEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturationProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturation.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentSaturation/ColorAdjustmentSaturation.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta new file mode 100644 index 00000000..c1e7ad99 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4867b2d8644d3d141b476e4b027b8aec +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta new file mode 100644 index 00000000..224685c9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ce3444e08b2298449e79b7cf7329d22 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader new file mode 100644 index 00000000..b830f573 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Saturation" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half _Saturation; + + half3 Saturation(half3 In, half Saturation) + { + half luma = dot(In, half3(0.2126729, 0.7151522, 0.0721750)); + half3 Out = luma.xxx + Saturation.xxx * (In - luma.xxx); + return Out; + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + half3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + return half4(Saturation(sceneColor.rgb, _Saturation), 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta new file mode 100644 index 00000000..cc41f052 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation/Shader/ColorAdjustmentSaturation.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e88e1de64bb4c02499a002994ede4c5f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta new file mode 100644 index 00000000..ac626d7d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2d20470a8abec243aadeac6e0031e97 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs new file mode 100644 index 00000000..35371fc8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentTechnicolorRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Technicolor")] + public class ColorAdjustmentTechnicolor : PostProcessEffectSettings + { + + [Range(0.0f, 8.0f)] + public FloatParameter exposure = new FloatParameter { value = 4.0f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceR = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceG = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter colorBalanceB = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorAdjustmentTechnicolorRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentTechnicolor"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Technicolor"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int exposure = Shader.PropertyToID("_Exposure"); + internal static readonly int colorBalance = Shader.PropertyToID("_ColorBalance"); + internal static readonly int indensity = Shader.PropertyToID("_Indensity"); + } + + public override void Render(PostProcessRenderContext context) + { + context.command.BeginSample(PROFILER_TAG); + PropertySheet sheet = context.propertySheets.Get(shader); + + + sheet.properties.SetFloat(ShaderIDs.exposure, 8f- settings.exposure); + sheet.properties.SetVector(ShaderIDs.colorBalance, Vector3.one - new Vector3(settings.colorBalanceR, settings.colorBalanceG, settings.colorBalanceB)); + sheet.properties.SetFloat(ShaderIDs.indensity, settings.indensity); + + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + context.command.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta new file mode 100644 index 00000000..98a1fc2b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d95eb445bcce3174c9cbe04cd4300d2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta new file mode 100644 index 00000000..ed0f85c0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 88fcb5098859f6c4a83ea093fd356bda +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs new file mode 100644 index 00000000..bfe81c2c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentTechnicolor))] + public sealed class ColorAdjustmentTechnicolorEditor : PostProcessEffectEditor + { + + SerializedParameterOverride exposure; + SerializedParameterOverride colorBalanceR; + SerializedParameterOverride colorBalanceG; + SerializedParameterOverride colorBalanceB; + SerializedParameterOverride indensity; + + + public override void OnEnable() + { + exposure = FindParameterOverride(x => x.exposure); + colorBalanceR = FindParameterOverride(x => x.colorBalanceR); + colorBalanceG = FindParameterOverride(x => x.colorBalanceG); + colorBalanceB = FindParameterOverride(x => x.colorBalanceB); + indensity = FindParameterOverride(x => x.indensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(exposure); + PropertyField(indensity); + EditorUtilities.DrawHeaderLabel("Color Balance"); + PropertyField(colorBalanceR); + PropertyField(colorBalanceG); + PropertyField(colorBalanceB); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta new file mode 100644 index 00000000..a87b156f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Editor/ColorAdjustmentTechnicolorEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a279eb70fcf0aee42956e7b9b0a8d2a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md new file mode 100644 index 00000000..8f55ecf9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentTechnicolor + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentTechnicolor.shader) +- [C# Code](ColorAdjustmentTechnicolor.cs) +- [Editor Code](Editor/ColorAdjustmentTechnicolorEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolorProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTechnicolor/ColorAdjustmentTechnicolor.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta new file mode 100644 index 00000000..240919c0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 911dfa0e951d7ab458dacacfda3b763f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta new file mode 100644 index 00000000..d5ceacb2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 780d2073fbe298647b714310468538d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader new file mode 100644 index 00000000..b330d534 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Technicolor" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half _Exposure; + half3 _ColorBalance; + half _Indensity; + + + // reference : https://github.com/crosire/reshade-shaders/blob/master/Shaders/Technicolor.fx + half4 Frag(VaryingsDefault i): SV_Target + { + const half3 cyanfilter = float3(0.0, 1.30, 1.0); + const half3 magentafilter = float3(1.0, 0.0, 1.05); + const half3 yellowfilter = float3(1.6, 1.6, 0.05); + const half2 redorangefilter = float2(1.05, 0.620); // RG_ + const half2 greenfilter = float2(0.30, 1.0); // RG_ + const half2 magentafilter2 = magentafilter.rb; // R_B + + + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 balance = 1.0 / (_ColorBalance.rgb * _Exposure); + + half negative_mul_r = dot(redorangefilter, color.rg * balance.rr); + half negative_mul_g = dot(greenfilter, color.rg * balance.gg); + half negative_mul_b = dot(magentafilter2, color.rb * balance.bb); + + half3 output_r = negative_mul_r.rrr + cyanfilter; + half3 output_g = negative_mul_g .rrr + magentafilter; + half3 output_b = negative_mul_b.rrr + yellowfilter; + + half3 result = output_r * output_g * output_b; + return half4(lerp(color.rgb, result.rgb, _Indensity), 1.0); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta new file mode 100644 index 00000000..ddb27bd0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor/Shader/ColorAdjustmentTechnicolor.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd1a75133e88ed345932f8ad8fa815e9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta new file mode 100644 index 00000000..60943ddb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 548cc646fd45c63408e7ef01c32c6090 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs new file mode 100644 index 00000000..592608e7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentTintRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/Tint")] + public class ColorAdjustmentTint : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter colorTint = new ColorParameter { value = new Color(0.9f, 1.0f, 0.0f, 1) }; + } + + public sealed class ColorAdjustmentTintRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentTint"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/Tint"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetColor("_ColorTint", settings.colorTint); + sheet.properties.SetFloat("_Indensity", settings.indensity); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta new file mode 100644 index 00000000..dd302b6c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/ColorAdjustmentTint.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a4bf4ee979e22245b6f52e341d976bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta new file mode 100644 index 00000000..d78ef4c9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58add7011dd5da443aa667bf87362a94 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs new file mode 100644 index 00000000..ec2727f9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentTint))] + public sealed class ColorAdjustmentTintEditor : PostProcessEffectEditor + { + + SerializedParameterOverride indensity; + SerializedParameterOverride colorTint; + + + public override void OnEnable() + { + indensity = FindParameterOverride(x => x.indensity); + colorTint = FindParameterOverride(x => x.colorTint); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(indensity); + PropertyField(colorTint); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta new file mode 100644 index 00000000..4f1b417c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Editor/ColorAdjustmentTintEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 90c9485511d18364fba1fbc8715c49f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md new file mode 100644 index 00000000..9167d61c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentTint + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentTint.shader) +- [C# Code](ColorAdjustmentTint.cs) +- [Editor Code](Editor/ColorAdjustmentTintEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTintProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTint.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentTint/ColorAdjustmentTint.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta new file mode 100644 index 00000000..55f5e4cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a643fd2047d3e9b4ca87c243f9309669 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta new file mode 100644 index 00000000..b896ee19 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 719b6b1983544b04a943158f5c28eb25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader new file mode 100644 index 00000000..2dab7f28 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader @@ -0,0 +1,50 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/Tint" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Indensity; + uniform half4 _ColorTint; + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = lerp(sceneColor.rgb, sceneColor.rgb * _ColorTint.rgb, _Indensity); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta new file mode 100644 index 00000000..69679407 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentTint/Shader/ColorAdjustmentTint.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7459eee18da8b344ba6df8bcad02276c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta new file mode 100644 index 00000000..375c9bea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 487fbcf00b30be44e8d3db8d9ec26365 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs new file mode 100644 index 00000000..0895cb74 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorAdjustmentWhiteBalanceRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/WhiteBalance")] + public class ColorAdjustmentWhiteBalance : PostProcessEffectSettings + { + + ///

+ /// custom color temperature. + /// + [Range(-1f, 1f)] + public FloatParameter temperature = new FloatParameter { value = 0f }; + + /// + /// for a green or magenta tint. + /// + [Range(-1f, 1f)] + public FloatParameter tint = new FloatParameter { value = 0f }; + + } + + public sealed class ColorAdjustmentWhiteBalanceRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorAdjustmentWhiteBalance"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorAdjustment/WhiteBalance"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_Temperature", settings.temperature); + sheet.properties.SetFloat("_Tint", settings.tint); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta new file mode 100644 index 00000000..092211a7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f771e798c3582df458ffed78248242ce +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta new file mode 100644 index 00000000..69a63d13 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ea046fd6017289448296d1cf539465a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs new file mode 100644 index 00000000..1b42138e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorAdjustmentWhiteBalance))] + public sealed class ColorAdjustmentWhiteBalanceEditor : PostProcessEffectEditor + { + + + + SerializedParameterOverride temperature; + SerializedParameterOverride tint; + + + public override void OnEnable() + { + temperature = FindParameterOverride(x => x.temperature); + tint = FindParameterOverride(x => x.tint); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(temperature); + PropertyField(tint); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta new file mode 100644 index 00000000..695b75e6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Editor/ColorAdjustmentWhiteBalanceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3363db9801d911e46906d150566945b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md new file mode 100644 index 00000000..d5f1b191 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md @@ -0,0 +1,16 @@ + +# ColorAdjustmentWhiteBalance + +## Source Code List +- [Shader Code](Shader/ColorAdjustmentWhiteBalance.shader) +- [C# Code](ColorAdjustmentWhiteBalance.cs) +- [Editor Code](Editor/ColorAdjustmentWhiteBalanceEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalanceProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorAdjustmentWhiteBalance/ColorAdjustmentWhiteBalance.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta new file mode 100644 index 00000000..67132876 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 432c447480049144ebfc38b8f52f03ee +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta new file mode 100644 index 00000000..d9379596 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4ebf69c5b54c4a42ba1f0942b4f10d4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader new file mode 100644 index 00000000..caee0f87 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader @@ -0,0 +1,93 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorAdjustment/WhiteBalance" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half _Temperature; + uniform half _Tint; + + + float3 WhiteBalance(float3 In, float Temperature, float Tint) + { + // Range ~[-1.67;1.67] works best + float t1 = Temperature * 10 / 6; + float t2 = Tint * 10 / 6; + + // Get the CIE xy chromaticity of the reference white point. + // Note: 0.31271 = x value on the D65 white point + float x = 0.31271 - t1 * (t1 < 0 ? 0.1 : 0.05); + float standardIlluminantY = 2.87 * x - 3 * x * x - 0.27509507; + float y = standardIlluminantY + t2 * 0.05; + + // Calculate the coefficients in the LMS space. + float3 w1 = float3(0.949237, 1.03542, 1.08728); // D65 white point + + // CIExyToLMS + float Y = 1; + float X = Y * x / y; + float Z = Y * (1 - x - y) / y; + float L = 0.7328 * X + 0.4296 * Y - 0.1624 * Z; + float M = -0.7036 * X + 1.6975 * Y + 0.0061 * Z; + float S = 0.0030 * X + 0.0136 * Y + 0.9834 * Z; + float3 w2 = float3(L, M, S); + + float3 balance = float3(w1.x / w2.x, w1.y / w2.y, w1.z / w2.z); + + float3x3 LIN_2_LMS_MAT = { + 3.90405e-1, 5.49941e-1, 8.92632e-3, + 7.08416e-2, 9.63172e-1, 1.35775e-3, + 2.31082e-2, 1.28021e-1, 9.36245e-1 + }; + + float3x3 LMS_2_LIN_MAT = { + 2.85847e+0, -1.62879e+0, -2.48910e-2, + -2.10182e-1, 1.15820e+0, 3.24281e-4, + -4.18120e-2, -1.18169e-1, 1.06867e+0 + }; + + float3 lms = mul(LIN_2_LMS_MAT, In); + lms *= balance; + float3 Out = mul(LMS_2_LIN_MAT, lms); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = WhiteBalance(sceneColor.rgb, _Temperature, _Tint); + return half4(finalColor, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta new file mode 100644 index 00000000..bf0c083a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance/Shader/ColorAdjustmentWhiteBalance.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b578f15267ec4314faed156d65fc41a7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace.meta b/Assets/X-PostProcessing/Effects/ColorReplace.meta new file mode 100644 index 00000000..977362cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3eb65558e06c57d4a9623d8228ad1b7e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs new file mode 100644 index 00000000..d2852c52 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorReplaceRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ColorReplace")] + public class ColorReplace : PostProcessEffectSettings + { + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter FromColor = new ColorParameter { value = new Color(0.8f, 0.0f, 0.0f, 1) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter ToColor = new ColorParameter { value = new Color(0.0f, 0.8f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter Range = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fuzziness = new FloatParameter { value = 0.5f }; + + } + + public sealed class ColorReplaceRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-ColorReplace"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorReplace"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetColor("_FromColor", settings.FromColor); + sheet.properties.SetColor("_ToColor", settings.ToColor); + sheet.properties.SetFloat("_Range", settings.Range); + sheet.properties.SetFloat("_Fuzziness", settings.Fuzziness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta new file mode 100644 index 00000000..7c4a72a0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/ColorReplace.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0e84cf76f41f4f7459de554628a5a26b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta new file mode 100644 index 00000000..4a6f8cdb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8a1bcf1c30c63d4b8b10a54368ed6fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs new file mode 100644 index 00000000..2348e6d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorReplace))] + public sealed class ColorReplaceEditor : PostProcessEffectEditor + { + + SerializedParameterOverride FromColor; + SerializedParameterOverride ToColor; + SerializedParameterOverride Range; + SerializedParameterOverride Fuzziness; + + + public override void OnEnable() + { + FromColor = FindParameterOverride(x => x.FromColor); + ToColor = FindParameterOverride(x => x.ToColor); + Range = FindParameterOverride(x => x.Range); + Fuzziness = FindParameterOverride(x => x.Fuzziness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("From-To Color"); + PropertyField(FromColor); + PropertyField(ToColor); + + EditorUtilities.DrawHeaderLabel("Color Precision"); + PropertyField(Range); + PropertyField(Fuzziness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta new file mode 100644 index 00000000..bbe86a45 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Editor/ColorReplaceEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7437b54099c02c49985ed9ce3d68bb1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/README.md b/Assets/X-PostProcessing/Effects/ColorReplace/README.md new file mode 100644 index 00000000..f7a57bf1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/README.md @@ -0,0 +1,16 @@ + +# ColorReplace + +## Source Code List +- [Shader Code](Shader/ColorReplace.shader) +- [C# Code](ColorReplace.cs) +- [Editor Code](Editor/ColorReplaceEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplaceProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplace.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplace/ColorReplace.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta b/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta new file mode 100644 index 00000000..594e56b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 58629502ed73910429469f4b0f0112bd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta new file mode 100644 index 00000000..b1da3f10 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 626f40453ce247e44bdd4b5bced185d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader new file mode 100644 index 00000000..ea1c51f0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader @@ -0,0 +1,54 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorReplace" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _FromColor; + uniform half4 _ToColor; + uniform half _Range; + uniform half _Fuzziness; + + half3 ColorReplace(half3 In, half3 From, half3 To, half Range, half Fuzziness) + { + half Distance = distance(From, In); + half3 Out = lerp(To, In, saturate((Distance - Range) / max(Fuzziness, 0.1))); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = ColorReplace(sceneColor.rgb, _FromColor.rgb , _ToColor.rgb , _Range, _Fuzziness); + + return half4(finalColor, 1.0); + } + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta new file mode 100644 index 00000000..4ed4c405 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplace/Shader/ColorReplace.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52ec611d145649549be039b5a656b4c8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta new file mode 100644 index 00000000..a967a6d6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ae135b9d50a7ac459052d47c8626ee7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs new file mode 100644 index 00000000..10942a08 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs @@ -0,0 +1,94 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(ColorReplaceV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ColorAdjustment/ColorReplaceV2")] + public class ColorReplaceV2 : PostProcessEffectSettings + { + + + public GradientParameter FromGradientColor = new GradientParameter { value = null }; + + public GradientParameter ToGradientColor = new GradientParameter { value = null }; + + + [Range(0.0f, 100.0f)] + public FloatParameter gridentSpeed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Range = new FloatParameter { value = 0.2f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fuzziness = new FloatParameter { value = 0.5f }; + } + + public sealed class ColorReplaceV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private float TimeX = 1.0f; + private const string PROFILER_TAG = "X-ColorReplaceV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/ColorReplaceV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int FromColor = Shader.PropertyToID("_FromColor"); + internal static readonly int ToColor = Shader.PropertyToID("_ToColor"); + internal static readonly int Range = Shader.PropertyToID("_Range"); + internal static readonly int Fuzziness = Shader.PropertyToID("_Fuzziness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += (Time.deltaTime * settings.gridentSpeed); + if (TimeX > 100) + { + TimeX = 0; + } + if (settings.FromGradientColor.value != null) + { + sheet.properties.SetColor(ShaderIDs.FromColor, settings.FromGradientColor.value.Evaluate(TimeX * 0.01f)); + } + + if (settings.ToGradientColor.value != null) + { + sheet.properties.SetColor(ShaderIDs.ToColor, settings.ToGradientColor.value.Evaluate(TimeX * 0.01f)); + } + + sheet.properties.SetFloat(ShaderIDs.Range, settings.Range); + sheet.properties.SetFloat(ShaderIDs.Fuzziness, settings.Fuzziness); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta new file mode 100644 index 00000000..c72ddf20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/ColorReplaceV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1b513c82ad9e224db6ba48112ec5d48 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta new file mode 100644 index 00000000..162ac3d5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17df0c432414ccf4aa3218a946a69d77 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs new file mode 100644 index 00000000..b86173dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(ColorReplaceV2))] + public sealed class ColorReplaceV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride FromGradientColor; + SerializedParameterOverride ToGradientColor; + SerializedParameterOverride gridentSpeed; + SerializedParameterOverride Range; + SerializedParameterOverride Fuzziness; + + + public override void OnEnable() + { + FromGradientColor = FindParameterOverride(x => x.FromGradientColor); + ToGradientColor = FindParameterOverride(x => x.ToGradientColor); + gridentSpeed = FindParameterOverride(x => x.gridentSpeed); + Range = FindParameterOverride(x => x.Range); + Fuzziness = FindParameterOverride(x => x.Fuzziness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("From-To Color"); + PropertyField(FromGradientColor); + PropertyField(ToGradientColor); + PropertyField(gridentSpeed); + + EditorUtilities.DrawHeaderLabel("Color Precision"); + PropertyField(Range); + PropertyField(Fuzziness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta new file mode 100644 index 00000000..11957958 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Editor/ColorReplaceV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ea63d307d77b1a43876b56431cfa97c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md new file mode 100644 index 00000000..ce473f4f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md @@ -0,0 +1,16 @@ + +# ColorReplaceV2 + +## Source Code List +- [Shader Code](Shader/ColorReplaceV2.shader) +- [C# Code](ColorReplaceV2.cs) +- [Editor Code](Editor/ColorReplaceV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ColorAdjustment/ColorReplaceV2/ColorReplaceV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta new file mode 100644 index 00000000..b249c574 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4112d3fbea5939047aa70274408d8f42 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta new file mode 100644 index 00000000..0793bae3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 163003945f18ea549b977ef4e178045a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader new file mode 100644 index 00000000..5aa7d8cd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/ColorReplaceV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _FromColor; + uniform half4 _ToColor; + uniform half _Range; + uniform half _Fuzziness; + + half3 ColorReplace(half3 In, half3 From, half3 To, half Range, half Fuzziness) + { + half Distance = distance(From, In); + half3 Out = lerp(To, In, saturate((Distance - Range) / max(Fuzziness, 0.1))); + return Out; + } + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + half3 finalColor = ColorReplace(sceneColor.rgb, _FromColor.rgb , _ToColor.rgb , _Range, _Fuzziness); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta new file mode 100644 index 00000000..dba74959 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/ColorReplaceV2/Shader/ColorReplaceV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40c698a9f5661574eb8fef9b70315bf3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur.meta new file mode 100644 index 00000000..0a2aac56 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be1b8f657a7298f41af9467addb57e55 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs new file mode 100644 index 00000000..e650c412 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DirectionalBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DirectionalBlur")] + public class DirectionalBlur : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(1, 30)] + public IntParameter Iteration = new IntParameter { value = 12 }; + + [Range(0.0f, 6.0f)] + public FloatParameter Angle = new FloatParameter { value = 0.5f }; + + [Range(1.0f, 10.0f)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + + } + + public sealed class DirectionalBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DirectionalBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DirectionalBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT = Shader.PropertyToID("_BufferRT"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + if (settings.RTDownScaling > 1) + { + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT, RTWidth, RTHeight, 0, FilterMode.Bilinear); + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT); + } + + float sinVal = (Mathf.Sin(settings.Angle) * settings.BlurRadius * 0.05f) / settings.Iteration; + float cosVal = (Mathf.Cos(settings.Angle) * settings.BlurRadius * 0.05f) / settings.Iteration; + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.Iteration, sinVal, cosVal)); + + if (settings.RTDownScaling > 1) + { + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT, context.destination, sheet, 0); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta new file mode 100644 index 00000000..35ab5330 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/DirectionalBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13b499c0ad495f64b96022d11dce284a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta new file mode 100644 index 00000000..9b913101 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b5c47af6317cc84c8a7db51cda5fc9f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs new file mode 100644 index 00000000..95413b35 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs @@ -0,0 +1,54 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DirectionalBlur))] + public sealed class DirectionalBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride Angle; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + Angle = FindParameterOverride(x => x.Angle); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(Angle); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta new file mode 100644 index 00000000..b1e1e98c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Editor/DirectionalBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61a609feeacd234418699cc0df079c7c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md new file mode 100644 index 00000000..118a3d76 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md @@ -0,0 +1,18 @@ + +# Directional Blur + +## Source Code List +- [Shader Code](Shader/DirectionalBlur.shader) +- [C# Code](DirectionalBlur.cs) +- [Editor Code](Editor/DirectionalBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DirectionalBlur/DirectionalBlur-2.gif) diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta new file mode 100644 index 00000000..355c20d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d999739f9969606409ceaeb5ba062fae +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta new file mode 100644 index 00000000..5eb56937 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4983fcdd46cc4844b516d420734a32a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader new file mode 100644 index 00000000..c1795f2a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DirectionalBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half3 _Params; + + #define _Iteration _Params.x + #define _Direction _Params.yz + + half4 DirectionalBlur(VaryingsDefault i) + { + half4 color = half4(0.0, 0.0, 0.0, 0.0); + + for (int k = -_Iteration; k < _Iteration; k++) + { + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - _Direction * k); + } + half4 finalColor = color / (_Iteration * 2.0); + + return finalColor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return DirectionalBlur(i); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta new file mode 100644 index 00000000..181f5ee8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DirectionalBlur/Shader/DirectionalBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f17140f396318f044b32aa86a3d283a6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur.meta new file mode 100644 index 00000000..c1e30826 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbab6c25950200640a9cafc7b2c6e911 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs new file mode 100644 index 00000000..2e00bc72 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs @@ -0,0 +1,137 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualBoxBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualBoxBlur")] + public class DualBoxBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualBoxBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-DualBoxBlur"; + + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualBoxBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down; + internal int up; + } + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 0); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + + cmd.EndSample(PROFILER_TAG); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta new file mode 100644 index 00000000..14397044 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/DualBoxBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bf005b482b98af43a87fe0829922e70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta new file mode 100644 index 00000000..3bbcca37 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d388c340d2243a4bb5873644cf4927d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs new file mode 100644 index 00000000..7ea49554 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualBoxBlur))] + public sealed class DualBoxBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta new file mode 100644 index 00000000..7f46fe63 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Editor/DualBoxBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd758fb3d13a34847ac8a120cc516cf8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md new file mode 100644 index 00000000..17f5ace0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Box Blur + +## Source Code List +- [Shader Code](Shader/DualBoxBlur.shader) +- [C# Code](DualBoxBlur.cs) +- [Editor Code](Editor/DualBoxBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualBoxBlur/DualBoxBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta new file mode 100644 index 00000000..398dbc97 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d489e1f531e67f7469f444e8c655b765 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta new file mode 100644 index 00000000..b882c0da --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08a6f8dd8492bc0449801308610811d3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader new file mode 100644 index 00000000..4be91b6e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualBoxBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + half4 BoxFilter_4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s = 0; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy) * 0.25h; // 1 MUL + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 0.25h; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 0.25h; // 1 MAD + + return s; + } + + + float4 FragBoxBlur(VaryingsDefault i): SV_Target + { + return BoxFilter_4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBoxBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta new file mode 100644 index 00000000..0f14bba2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualBoxBlur/Shader/DualBoxBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62bec766fb9f11f428d8a5e2e11a61eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta new file mode 100644 index 00000000..2e1c0fea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de5c44f6095a15b49991e4d9b1989213 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs new file mode 100644 index 00000000..ae3b5e56 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs @@ -0,0 +1,166 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualGaussianBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualGaussianBlur")] + public class DualGaussianBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualGaussianBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualGaussianBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualGaussianBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down_vertical = Shader.PropertyToID("_BlurMipDownV" + i), + down_horizontal = Shader.PropertyToID("_BlurMipDownH" + i), + up_vertical = Shader.PropertyToID("_BlurMipUpV" + i), + up_horizontal = Shader.PropertyToID("_BlurMipUpH" + i), + + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down_vertical; + internal int down_horizontal; + internal int up_horizontal; + internal int up_vertical; + } + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDownV = m_Pyramid[i].down_vertical; + int mipDowH = m_Pyramid[i].down_horizontal; + int mipUpV = m_Pyramid[i].up_vertical; + int mipUpH = m_Pyramid[i].up_horizontal; + + context.GetScreenSpaceTemporaryRT(cmd, mipDownV, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipDowH, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUpV, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUpH, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(lastDown, mipDowH, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(mipDowH, mipDownV, sheet, 0); + + lastDown = mipDownV; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down_vertical; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + + int mipUpV = m_Pyramid[i].up_vertical; + int mipUpH = m_Pyramid[i].up_horizontal; + + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(lastUp, mipUpH, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurOffset, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(mipUpH, mipUpV, sheet, 0); + + lastUp = mipUpV; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down_vertical != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down_vertical); + if (m_Pyramid[i].down_horizontal != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down_horizontal); + if (m_Pyramid[i].up_horizontal != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up_horizontal); + if (m_Pyramid[i].up_vertical != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up_vertical); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta new file mode 100644 index 00000000..fb9c8faa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/DualGaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 078dd948866cdbc45847016fec126b10 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta new file mode 100644 index 00000000..fe68c045 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ec2bace935b92e49962a6effe509596 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs new file mode 100644 index 00000000..84b5fe8e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualGaussianBlur))] + public sealed class DualGaussianBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta new file mode 100644 index 00000000..913190ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Editor/DualGaussianBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e30d10625ce46764e9cf0999ebd71500 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md new file mode 100644 index 00000000..14a8d82c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Gaussian Blur + +## Source Code List +- [Shader Code](Shader/DualGaussianBlur.shader) +- [C# Code](DualGaussianBlur.cs) +- [Editor Code](Editor/DualGaussianBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualGaussianBlur/DualGaussianBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta new file mode 100644 index 00000000..795f6915 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: be4b9c53970bb9147894e1f72b079bd5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta new file mode 100644 index 00000000..d157cc7b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d58b12754ed050c45bc559890c94c19f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader new file mode 100644 index 00000000..708b5fda --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader @@ -0,0 +1,102 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualGaussianBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + struct v2f + { + float4 pos: POSITION; + float2 uv: TEXCOORD0; + + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + }; + + v2f VertGaussianBlur(AttributesDefault v) + { + v2f o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + //UNITY_SINGLE_PASS_STEREO + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; + } + + float4 FragGaussianBlur(v2f i): SV_Target + { + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; + } + + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertGaussianBlur + #pragma fragment FragGaussianBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta new file mode 100644 index 00000000..3de00b43 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualGaussianBlur/Shader/DualGaussianBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81884ca36274a004b987ac7b461f8896 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta new file mode 100644 index 00000000..5c427af8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: abdab93f171c0e34daed89a5d1bf530f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs new file mode 100644 index 00000000..fdcf8c7f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs @@ -0,0 +1,137 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualKawaseBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualKawaseBlur")] + public class DualKawaseBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 10.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualKawaseBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualKawaseBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualKawaseBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int BlurOffset = Shader.PropertyToID("_Offset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + struct Level + { + internal int down; + internal int up; + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + sheet.properties.SetFloat(ShaderIDs.BlurOffset, settings.BlurRadius); + + + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 1); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta new file mode 100644 index 00000000..c3f27214 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/DualKawaseBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cdb8901486ed154489954ac45ed02d02 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta new file mode 100644 index 00000000..a51747ed --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a6c8da29cd24aa42880e314d61b769c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs new file mode 100644 index 00000000..677c26c3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualKawaseBlur))] + public sealed class DualKawaseBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta new file mode 100644 index 00000000..9d6e307c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Editor/DualKawaseBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cced5a375979eba4286d110ad72f47fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md new file mode 100644 index 00000000..7e45d9b1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Kawase Blur + +## Source Code List +- [Shader Code](Shader/DualKawaseBlur.shader) +- [C# Code](DualKawaseBlur.cs) +- [Editor Code](Editor/DualKawaseBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualKawaseBlur/DualKawaseBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta new file mode 100644 index 00000000..46b1ebcd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: df4092ec40782fa4ab06af8716d949a7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta new file mode 100644 index 00000000..c6d06f0a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c83ccc1f3fa109468cfc2bff5a6c7f4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader new file mode 100644 index 00000000..388da65d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader @@ -0,0 +1,147 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualKawaseBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform float4 _MainTex_ST; + uniform half _Offset; + + + struct v2f_DownSample + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float2 uv: TEXCOORD1; + float4 uv01: TEXCOORD2; + float4 uv23: TEXCOORD3; + }; + + + struct v2f_UpSample + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + float4 uv67: TEXCOORD4; + }; + + + v2f_DownSample Vert_DownSample(AttributesDefault v) + { + v2f_DownSample o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + float2 uv = TRANSFORM_TEX(o.texcoord, _MainTex); + + _MainTex_TexelSize *= 0.5; + o.uv = uv; + o.uv01.xy = uv - _MainTex_TexelSize * float2(1 + _Offset, 1 + _Offset);//top right + o.uv01.zw = uv + _MainTex_TexelSize * float2(1 + _Offset, 1 + _Offset);//bottom left + o.uv23.xy = uv - float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * float2(1 + _Offset, 1 + _Offset);//top left + o.uv23.zw = uv + float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * float2(1 + _Offset, 1 + _Offset);//bottom right + + return o; + } + + half4 Frag_DownSample(v2f_DownSample i): SV_Target + { + half4 sum = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv) * 4; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + + return sum * 0.125; + } + + + v2f_UpSample Vert_UpSample(AttributesDefault v) + { + v2f_UpSample o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + float2 uv = TRANSFORM_TEX(o.texcoord, _MainTex); + + _MainTex_TexelSize *= 0.5; + _Offset = float2(1 + _Offset, 1 + _Offset); + + o.uv01.xy = uv + float2(-_MainTex_TexelSize.x * 2, 0) * _Offset; + o.uv01.zw = uv + float2(-_MainTex_TexelSize.x, _MainTex_TexelSize.y) * _Offset; + o.uv23.xy = uv + float2(0, _MainTex_TexelSize.y * 2) * _Offset; + o.uv23.zw = uv + _MainTex_TexelSize * _Offset; + o.uv45.xy = uv + float2(_MainTex_TexelSize.x * 2, 0) * _Offset; + o.uv45.zw = uv + float2(_MainTex_TexelSize.x, -_MainTex_TexelSize.y) * _Offset; + o.uv67.xy = uv + float2(0, -_MainTex_TexelSize.y * 2) * _Offset; + o.uv67.zw = uv - _MainTex_TexelSize * _Offset; + + return o; + } + + half4 Frag_UpSample(v2f_UpSample i): SV_Target + { + half4 sum = 0; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw) * 2; + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.xy); + sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.zw) * 2; + + return sum * 0.0833; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert_DownSample + #pragma fragment Frag_DownSample + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert_UpSample + #pragma fragment Frag_UpSample + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta new file mode 100644 index 00000000..4ebb4445 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualKawaseBlur/Shader/DualKawaseBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df1bc5f7812c2f34a888048481602b57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur.meta b/Assets/X-PostProcessing/Effects/DualTentBlur.meta new file mode 100644 index 00000000..bdaf4b20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3923d54b280ee644e994d434e46b8fad +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs new file mode 100644 index 00000000..be4314ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs @@ -0,0 +1,132 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(DualTentBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/DualTentBlur")] + public class DualTentBlur : PostProcessEffectSettings + { + + [Range(0.0f, 15.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1.0f, 8.0f)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class DualTentBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-DualTentBlur"; + private Shader shader; + + // [down,up] + Level[] m_Pyramid; + const int k_MaxPyramidSize = 16; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/DualTentBlur"); + + m_Pyramid = new Level[k_MaxPyramidSize]; + + for (int i = 0; i < k_MaxPyramidSize; i++) + { + m_Pyramid[i] = new Level + { + down = Shader.PropertyToID("_BlurMipDown" + i), + up = Shader.PropertyToID("_BlurMipUp" + i) + }; + } + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurOffset = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + struct Level + { + internal int down; + internal int up; + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + int tw = (int)(context.screenWidth / settings.RTDownScaling); + int th = (int)(context.screenHeight / settings.RTDownScaling); + + Vector4 BlurOffset = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + sheet.properties.SetVector(ShaderIDs.BlurOffset, BlurOffset); + // Downsample + RenderTargetIdentifier lastDown = context.source; + for (int i = 0; i < settings.Iteration; i++) + { + int mipDown = m_Pyramid[i].down; + int mipUp = m_Pyramid[i].up; + context.GetScreenSpaceTemporaryRT(cmd, mipDown, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + context.GetScreenSpaceTemporaryRT(cmd, mipUp, 0, context.sourceFormat, RenderTextureReadWrite.Default, FilterMode.Bilinear, tw, th); + cmd.BlitFullscreenTriangle(lastDown, mipDown, sheet, 0); + + lastDown = mipDown; + tw = Mathf.Max(tw / 2, 1); + th = Mathf.Max(th / 2, 1); + } + + // Upsample + int lastUp = m_Pyramid[settings.Iteration - 1].down; + for (int i = settings.Iteration - 2; i >= 0; i--) + { + int mipUp = m_Pyramid[i].up; + cmd.BlitFullscreenTriangle(lastUp, mipUp, sheet, 0); + lastUp = mipUp; + } + + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(lastUp, context.destination, sheet, 1); + + // Cleanup + for (int i = 0; i < settings.Iteration; i++) + { + if (m_Pyramid[i].down != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].down); + if (m_Pyramid[i].up != lastUp) + cmd.ReleaseTemporaryRT(m_Pyramid[i].up); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta new file mode 100644 index 00000000..9ebde2bc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/DualTentBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bdf4265fe7bedca49b8bd2f386b8b7f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta new file mode 100644 index 00000000..9098753f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bf12dd0198a56e34c8f89bcf2339cddb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs new file mode 100644 index 00000000..b8f51d30 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs @@ -0,0 +1,50 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(DualTentBlur))] + public sealed class DualTentBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta new file mode 100644 index 00000000..8f441f66 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Editor/DualTentBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6667893e8ee195b429eeb0b5e3af0de2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/README.md b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md new file mode 100644 index 00000000..409754c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md @@ -0,0 +1,16 @@ + +# Dual Tent Blur + +## Source Code List +- [Shader Code](Shader/DualTentBlur.shader) +- [C# Code](DualTentBlur.cs) +- [Editor Code](Editor/DualTentBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/DualTentBlur/DualTentBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta new file mode 100644 index 00000000..7d43bca7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cc94477ea075b4e4882d47abf464201c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta new file mode 100644 index 00000000..aac4721d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bfc271bb8ee38d04f8393cfd6b51aa2c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader new file mode 100644 index 00000000..aa280a63 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/DualTentBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + // 9-tap tent filter + half4 TentFilter_9Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0); + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.xy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.zy); // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv) * 4.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 2.0; // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy); + + return s * (1.0 / 16.0); + } + + float4 FragTentBlur(VaryingsDefault i): SV_Target + { + return TentFilter_9Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTentBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta new file mode 100644 index 00000000..04959445 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/DualTentBlur/Shader/DualTentBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1f24dc1f4f530c44abd12d5e2a4a5c79 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta new file mode 100644 index 00000000..f9080ca3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f63baee9ccbe024983a22cdd60c8b7c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs new file mode 100644 index 00000000..cb9942a4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRoberts")] + public class EdgeDetectionRoberts : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionRobertsRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRoberts"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRoberts"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta new file mode 100644 index 00000000..c168cc21 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/EdgeDetectionRoberts.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2f2bae125e8b72241b38b94373f3c521 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta new file mode 100644 index 00000000..43b92ea3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f7f79c17cb05354299a5212692cbf40 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs new file mode 100644 index 00000000..9979cbdf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRoberts))] + public sealed class EdgeDetectionRobertsEditor : PostProcessEffectEditor + { + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor, new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta new file mode 100644 index 00000000..9f53f258 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Editor/EdgeDetectionRobertsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3c23eb17650b5a04fbfa22af4d124dc3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md new file mode 100644 index 00000000..a5f03b31 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Roberts + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRoberts.shader) +- [C# Code](EdgeDetectionRoberts.cs) +- [Editor Code](Editor/EdgeDetectionRobertsEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRobertsProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRoberts/EdgeDetectionRoberts2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta new file mode 100644 index 00000000..3d9fd1a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2e91a5e8cb0e98e47bfc1ae0f66565aa +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta new file mode 100644 index 00000000..49823184 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd37fad31c0692144ae95dbf78f1a7c1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader new file mode 100644 index 00000000..fdb0cfeb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader @@ -0,0 +1,210 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRoberts" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, _EdgeColor.rgb, sobelGradient); + + return float4(edgeColor, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } + + + + + + + + + + + + + + + + + + + + //HLSLINCLUDE + // + //#include "../../../Shaders/StdLib.hlsl" + //#include "../../../Shaders/XPostProcessing.hlsl" + // + // + // + //half _Float1; + //half _Float2; + //half _Float3; + //half4 _Color1; + // + + //struct v2f + //{ + // float2 uvRoberts[5] : TEXCOORD0; + + // float4 vertex : SV_POSITION; + //}; + + + //v2f vert_Roberts(appdata v) + //{ + // v2f o; + // o.vertex = UnityObjectToClipPos(v.vertex); + // o.uvRoberts[0] = v.uv + float2(-1, -1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[1] = v.uv + float2(1, -1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[2] = v.uv + float2(-1, 1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[3] = v.uv + float2(1, 1) * _MainTex_TexelSize * _SampleRange; + // o.uvRoberts[4] = v.uv; + // return o; + //} + + //float Roberts(v2f i) + //{ + // const float Gx[4] = + // { + // -1, 0, + // 0, 1 + // }; + + // const float Gy[4] = + // { + // 0, -1, + // 1, 0 + // }; + + // float edgex, edgey; + // for (int j = 0; j < 4; j++) + // { + // fixed4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uvRoberts[j]); + // float lum = Luminance(col.rgb); + + // edgex += lum * Gx[j]; + // edgey += lum * Gy[j]; + // } + // return 1 - abs(edgex) - abs(edgey); + //} + + //fixed4 frag_Roberts(v2f i) : SV_Target + //{ + // fixed4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uvRoberts[4]); + // float g = Roberts(i); + // g = pow(g, _EdgePower); + // col.rgb = lerp(_EdgeColor, _NonEdgeColor, g); + + // return col; + //} + + + ////half4 Frag(VaryingsDefault i): SV_Target + ////{ + //// + //// half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + //// half3 col = 0.5 + 0.5 * cos(_Time.y + i.texcoord.xyx + float3(0, 2, 4)); + //// + //// half3 finalColor = lerp(sceneColor.rgb, col, _Float1 * 0.1); + //// + //// return half4(finalColor, 1.0); + ////} + //// + //ENDHLSL + // + + //SubShader + //{ + // Cull Off ZWrite Off ZTest Always + // + // Pass + // { + // HLSLPROGRAM + // + // #pragma vertex vert_Roberts + // #pragma fragment frag_Roberts + // + // ENDHLSL + // + // } + //} + } + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta new file mode 100644 index 00000000..b0734da0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRoberts/Shader/EdgeDetectionRoberts.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5e8504f7bef17d4fa9f7af959b51afb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta new file mode 100644 index 00000000..744d8971 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbd464fdaa6428c429225cc0121b9a3b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs new file mode 100644 index 00000000..9359dc1e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs @@ -0,0 +1,76 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRobertsNeon")] + public class EdgeDetectionRobertsNeon : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + } + + public sealed class EdgeDetectionRobertsNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRobertsNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRobertsNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta new file mode 100644 index 00000000..d64b0efc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f28a4ba68df41f489a36a1e97ec64f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta new file mode 100644 index 00000000..b90f26b5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faf7fd857b06b47428fe8e394b6f8d1e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs new file mode 100644 index 00000000..eb0deb1f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRobertsNeon))] + public sealed class EdgeDetectionRobertsNeonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta new file mode 100644 index 00000000..6a757eef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Editor/EdgeDetectionRobertsNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a7236d484cd3ef4382f0d954479c0a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md new file mode 100644 index 00000000..7bbd0b36 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Roberts Neon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRobertsNeon.shader) +- [C# Code](EdgeDetectionRobertsNeon.cs) +- [Editor Code](Editor/EdgeDetectionRobertsNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeon/EdgeDetectionRobertsNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta new file mode 100644 index 00000000..d3cf7e02 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d1c0cf02685e9b14bb8faff51c549ada +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta new file mode 100644 index 00000000..91014ab8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a480d9d6d5185a947880e04241337aba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader new file mode 100644 index 00000000..5ba79da4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRobertsNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, sobelGradient); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta new file mode 100644 index 00000000..d5f6b53b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon/Shader/EdgeDetectionRobertsNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a5d5269f77f7f145bbb707f3d6d8cc5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta new file mode 100644 index 00000000..7ca61eff --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9898160e12d249d408ad10bcddbefac6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs new file mode 100644 index 00000000..a400d99b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionRobertsNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionRobertsNeonV2")] + public class EdgeDetectionRobertsNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionRobertsNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionRobertsNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionRobertsNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta new file mode 100644 index 00000000..28548959 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc726aec1b9e74b4497f36ba436761d8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta new file mode 100644 index 00000000..b62a6825 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a2549a1b84c3b245925d84556be899c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs new file mode 100644 index 00000000..d28fc901 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionRobertsNeonV2))] + public sealed class EdgeDetectionRobertsNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta new file mode 100644 index 00000000..78e87e27 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Editor/EdgeDetectionRobertsNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ceb3cd2ad2e76684499fa76ade51c5e4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md new file mode 100644 index 00000000..4045c61e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Roberts Neon V2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionRobertsNeonV2.shader) +- [C# Code](EdgeDetectionRobertsNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionRobertsNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionRobertsNeonV2/EdgeDetectionRobertsNeonV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta new file mode 100644 index 00000000..85ae19f7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 858e352abdea1bc4e826be07cc475887 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta new file mode 100644 index 00000000..14c98d25 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4462cb0422d578d4cb4b981cbf736f27 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader new file mode 100644 index 00000000..0bf15c20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader @@ -0,0 +1,87 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionRobertsNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float3 sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + // Roberts Operator + //X = -1 0 Y = 0 -1 + // 0 1 1 0 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float3 Gx = -1.0 * topLeft + 1.0 * bottomRight; + + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = -1.0 * topRight + 1.0 * bottomLeft; + + + float3 sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sobelGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta new file mode 100644 index 00000000..5a270854 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2/Shader/EdgeDetectionRobertsNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6808ec2892f65624cb11c847e877ca0b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta new file mode 100644 index 00000000..3852653f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7acf5e6616ee46649a47b755bc673651 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs new file mode 100644 index 00000000..ab828b41 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharr")] + public class EdgeDetectionScharr : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionScharrRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharr"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharr"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta new file mode 100644 index 00000000..a35ca097 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/EdgeDetectionScharr.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 429cea4139dc31045991cc87717ec0b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta new file mode 100644 index 00000000..848930fb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b28aafa91c09bb45be1fdd9ab82147f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs new file mode 100644 index 00000000..9d38702d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharr))] + public sealed class EdgeDetectionScharrEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor, new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta new file mode 100644 index 00000000..9b6a2a7e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Editor/EdgeDetectionScharrEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 531492c49c21bae4c9cb9c4388ce9352 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md new file mode 100644 index 00000000..943ad681 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Scharr + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharr.shader) +- [C# Code](EdgeDetectionScharr.cs) +- [Editor Code](Editor/EdgeDetectionScharrEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharrProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharr/EdgeDetectionScharr2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta new file mode 100644 index 00000000..42421e4e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 02c0a845af146594a8775e270c6ebce6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta new file mode 100644 index 00000000..65b5f8ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d8dd7a1a865c5ab4aa3e152265746ca6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader new file mode 100644 index 00000000..6ffce498 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharr" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float Gx = 3.0* topLeft + 10.0 * midLeft + 3.0 * bottomLeft -3.0* topRight - 10.0 * midRight - 3.0* bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight -3.0* bottomLeft - 10.0 * midBottom -3.0* bottomRight; + + float scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //return sceneColor * scharrGradient; + //BackgroundFading + sceneColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(sceneColor.rgb, _EdgeColor.rgb, scharrGradient); + + return float4(edgeColor, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta new file mode 100644 index 00000000..79689b58 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharr/Shader/EdgeDetectionScharr.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4feb65ad6bee994c8a288a4151b1039 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta new file mode 100644 index 00000000..f2383445 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81dfb9ae3483ae246be83ea78246e000 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs new file mode 100644 index 00000000..5b8f3006 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharrNeon")] + public class EdgeDetectionScharrNeon : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionScharrNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharrNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharrNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta new file mode 100644 index 00000000..0654d3e6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 002da35f1bafacb498a4f9a7e955d871 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta new file mode 100644 index 00000000..8c419dd1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e275608d1778724487001ad6ea4f27e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs new file mode 100644 index 00000000..ce5ce2af --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharrNeon))] + public sealed class EdgeDetectionScharrNeonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta new file mode 100644 index 00000000..03d2659d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Editor/EdgeDetectionScharrNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ac46c57d95c3dd44bdf8287762717f0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md new file mode 100644 index 00000000..c91f0127 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md @@ -0,0 +1,17 @@ + +# EdgeDetectionScharrNeon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharrNeon.shader) +- [C# Code](EdgeDetectionScharrNeon.cs) +- [Editor Code](Editor/EdgeDetectionScharrNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeon/EdgeDetectionScharrNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta new file mode 100644 index 00000000..fb2d388f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4036f4e689d7bd04ba1cf276fa0199e6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta new file mode 100644 index 00000000..96679614 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a1d4313b902ba84dbaa110f8562a765 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader new file mode 100644 index 00000000..d319db47 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader @@ -0,0 +1,97 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharrNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float Gx = 3.0 * topLeft + 10.0 * midLeft + 3.0 * bottomLeft - 3.0 * topRight - 10.0 * midRight - 3.0 * bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight - 3.0 * bottomLeft - 10.0 * midBottom - 3.0 * bottomRight; + + float scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, scharrGradient); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta new file mode 100644 index 00000000..7f715dda --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon/Shader/EdgeDetectionScharrNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e3bbc6f303acc045b917f42310f52da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta new file mode 100644 index 00000000..16685163 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e008d514a6a08664e8d8216dda1e503d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs new file mode 100644 index 00000000..21faa7c8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionScharrNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionScharrNeonV2")] + public class EdgeDetectionScharrNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionScharrNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionScharrNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionScharrNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta new file mode 100644 index 00000000..05abdb2d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97b9164b45b8da14983ece4a6836bc65 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta new file mode 100644 index 00000000..b535e8f9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5c99f77b82d71d41add499733e73022 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs new file mode 100644 index 00000000..7ebc2589 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionScharrNeonV2))] + public sealed class EdgeDetectionScharrNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta new file mode 100644 index 00000000..82086396 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Editor/EdgeDetectionScharrNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00c7d98c5ad7798498e3d5bb16a2758c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md new file mode 100644 index 00000000..cd89a79f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md @@ -0,0 +1,17 @@ + +# Edge Detection Scharr Neon V2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionScharrNeonV2.shader) +- [C# Code](EdgeDetectionScharrNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionScharrNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionScharrNeonV2/EdgeDetectionScharrNeonV2.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta new file mode 100644 index 00000000..ae95345b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a480346b1ef061f498bc8de796759271 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta new file mode 100644 index 00000000..1a0bd9ed --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be4a1475885bf9f40a712f94842a006c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader new file mode 100644 index 00000000..39990027 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader @@ -0,0 +1,88 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionScharrNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float3 scharr(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 midLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 midTop = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy)).rgb; + float3 midBottom = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 midRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + + // scharr masks ( http://en.wikipedia.org/wiki/Sobel_operator#Alternative_operators) + // 3 0 -3 3 10 3 + // X = 10 0 -10 Y = 0 0 0 + // 3 0 -3 -3 -10 -3 + + // Gx = sum(kernelX[i][j]*image[i][j]); + float3 Gx = 3.0 * topLeft + 10.0 * midLeft + 3.0 * bottomLeft - 3.0 * topRight - 10.0 * midRight - 3.0 * bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = 3.0 * topLeft + 10.0 * midTop + 3.0 * topRight - 3.0 * bottomLeft - 10.0 * midBottom - 3.0 * bottomRight; + + float3 scharrGradient = sqrt((Gx * Gx) + (Gy * Gy)).rgb; + return scharrGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 scharrGradient = scharr(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y, i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, scharrGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta new file mode 100644 index 00000000..ac7ab40c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2/Shader/EdgeDetectionScharrNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2f754b5f4df0b042b66aac36fd2a8c6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta new file mode 100644 index 00000000..13307168 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 31da48c5400a8c74997c998f7bf0404e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs new file mode 100644 index 00000000..d5ef1621 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobel")] + public class EdgeDetectionSobel : PostProcessEffectSettings + { + + [Range(0.05f, 5.0f)] + public FloatParameter edgeWidth = new FloatParameter { value = 0.3f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter edgeColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1) }; + + [Range(0.0f, 1.0f)] + public FloatParameter backgroundFade = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter backgroundColor = new ColorParameter { value = new Color(1.0f, 1.0f, 1.0f, 1) }; + } + + public sealed class EdgeDetectionSobelRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobel"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobel"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int EdgeColor = Shader.PropertyToID("_EdgeColor"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.edgeWidth, settings.backgroundFade)); + sheet.properties.SetColor(ShaderIDs.EdgeColor, settings.edgeColor); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.backgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta new file mode 100644 index 00000000..73a0b561 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/EdgeDetectionSobel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 86f11867526af01438f100677cd3633d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta new file mode 100644 index 00000000..46320a99 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ed69829fb23d5e418cdfd5a4f48f528 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs new file mode 100644 index 00000000..7f83c954 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobel))] + public sealed class EdgeDetectionSobelEditor : PostProcessEffectEditor + { + + SerializedParameterOverride edgeWidth; + SerializedParameterOverride backgroundFade; + SerializedParameterOverride edgeColor; + SerializedParameterOverride backgroundColor; + + + public override void OnEnable() + { + edgeWidth = FindParameterOverride(x => x.edgeWidth); + backgroundFade = FindParameterOverride(x => x.backgroundFade); + edgeColor = FindParameterOverride(x => x.edgeColor); + backgroundColor = FindParameterOverride(x => x.backgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(edgeWidth); + PropertyField(edgeColor,new GUIContent("Edge Color")); + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(backgroundFade); + PropertyField(backgroundColor); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta new file mode 100644 index 00000000..562f9469 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Editor/EdgeDetectionSobelEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f66931180a1810c40b4e06089498fd20 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md new file mode 100644 index 00000000..6b932720 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md @@ -0,0 +1,20 @@ + +# Edge Detection Sobel + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobel.shader) +- [C# Code](EdgeDetectionSobel.cs) +- [Editor Code](Editor/EdgeDetectionSobelEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobelProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel1.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel2.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobel/EdgeDetectionSobel2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta new file mode 100644 index 00000000..433ce1b5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f6cbbf87a3f3004d88842023184f0a1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta new file mode 100644 index 00000000..387e5db3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e4ae8fccb71bb14ab0a71004d938998 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader new file mode 100644 index 00000000..2dbaaf8a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- +// reference: https://www.shadertoy.com/view/Xdf3Rf +// https://en.wikipedia.org/wiki/Sobel_operator + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobel" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half2 _Params; + half4 _EdgeColor; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _BackgroundFade _Params.y + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient= sobel(_EdgeWidth /_ScreenParams.x, _EdgeWidth /_ScreenParams.y , i.texcoord); + + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, _EdgeColor.rgb, sobelGradient); + + return float4(edgeColor, 1); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta new file mode 100644 index 00000000..20418fb9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobel/Shader/EdgeDetectionSobel.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9baa77a78785b1f4d9760258a6227eb1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta new file mode 100644 index 00000000..7a126a71 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c0828f5d8916fa439379a36a18744f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs new file mode 100644 index 00000000..ea1bca1f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelNeonRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobelNeon")] + public class EdgeDetectionSobelNeon : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 1f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionSobelNeonRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobelNeon"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobelNeon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.EdgeWidth, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta new file mode 100644 index 00000000..a24176d6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c632c6b870c3ab44daa5a6a8161b9e00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta new file mode 100644 index 00000000..0105e9eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea4309477fbd6c840a99139f73c599f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs new file mode 100644 index 00000000..e619aa81 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobelNeon))] + public sealed class EdgeDetectionSobelNeonEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + + EditorUtilities.DrawHeaderLabel("Background Property"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Brigtness"); + PropertyField(Brigtness); + + } + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta new file mode 100644 index 00000000..2a174701 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Editor/EdgeDetectionSobelNeonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1c0ee6e8a7907424ba00f4e6f2772b5a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md new file mode 100644 index 00000000..44dd2e21 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md @@ -0,0 +1,17 @@ + +# EdgeDetectionSobelNeon + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobelNeon.shader) +- [C# Code](EdgeDetectionSobelNeon.cs) +- [Editor Code](Editor/EdgeDetectionSobelNeonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeon/EdgeDetectionSobelNeon.gif) diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta new file mode 100644 index 00000000..7921bbcf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7db3864f288845844b3ef7f0d90b488e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta new file mode 100644 index 00000000..21dccbad --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1343bd06c26a9304f925dea31ecc437e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader new file mode 100644 index 00000000..3b7c9224 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader @@ -0,0 +1,96 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobelNeon" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _Brigtness _Params.y + #define _BackgroundFade _Params.z + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float topLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy))); + float midLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0))); + float bottomLeft = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy))); + float midTop = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy))); + float midBottom = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy))); + float topRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy))); + float midRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0))); + float bottomRight = intensity(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy))); + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + //BackgroundFading + half4 backgroundColor = lerp(sceneColor, _BackgroundColor, _BackgroundFade); + + //Edge Opacity + float3 edgeColor = lerp(backgroundColor.rgb, sceneColor.rgb, sobelGradient); + + return float4(edgeColor* _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta new file mode 100644 index 00000000..0eb8ede4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon/Shader/EdgeDetectionSobelNeon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50e6479c568f8f443b0618e7ada659d5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta new file mode 100644 index 00000000..5f73aac1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faa9c47fd467e304eb704c00ceec3233 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs new file mode 100644 index 00000000..328d32c8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(EdgeDetectionSobelNeonV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/EdgeDetection/EdgeDetectionSobelNeonV2")] + public class EdgeDetectionSobelNeonV2 : PostProcessEffectSettings + { + [Range(0.05f, 5.0f)] + public FloatParameter EdgeWidth = new FloatParameter { value = 1f }; + + [Range(0.1f, 1.0f)] + public FloatParameter EdgeNeonFade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BackgroundFade = new FloatParameter { value = 0f }; + + [Range(0.2f, 2.0f)] + public FloatParameter Brigtness = new FloatParameter { value = 1f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f, 1.0f) }; + } + + public sealed class EdgeDetectionSobelNeonV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-EdgeDetectionSobelNeonV2"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/EdgeDetectionSobelNeonV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.EdgeWidth, settings.EdgeNeonFade, settings.Brigtness, settings.BackgroundFade)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta new file mode 100644 index 00000000..fad21eba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efbb636e5cc391347869277957d9c319 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta new file mode 100644 index 00000000..8998c088 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc5eceeb5da297b4e9e1b884af5cb493 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs new file mode 100644 index 00000000..2bfa3f4f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs @@ -0,0 +1,62 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(EdgeDetectionSobelNeonV2))] + public sealed class EdgeDetectionSobelNeonV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride EdgeWidth; + SerializedParameterOverride EdgeNeonFade; + SerializedParameterOverride Brigtness; + SerializedParameterOverride BackgroundFade; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + EdgeWidth = FindParameterOverride(x => x.EdgeWidth); + EdgeNeonFade = FindParameterOverride(x => x.EdgeNeonFade); + Brigtness = FindParameterOverride(x => x.Brigtness); + BackgroundFade = FindParameterOverride(x => x.BackgroundFade); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(EdgeWidth); + PropertyField(EdgeNeonFade); + + + EditorUtilities.DrawHeaderLabel("Background Property( For Edge Neon Fade <1 )"); + PropertyField(BackgroundFade); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Edge Property"); + PropertyField(Brigtness); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta new file mode 100644 index 00000000..ff7d62da --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Editor/EdgeDetectionSobelNeonV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ce1cb6b1f506c5341b20235976dceae5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md new file mode 100644 index 00000000..1b135f30 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md @@ -0,0 +1,18 @@ + +# EdgeDetectionSobelNeonV2 + +## Source Code List +- [Shader Code](Shader/EdgeDetectionSobelNeonV2.shader) +- [C# Code](EdgeDetectionSobelNeonV2.cs) +- [Editor Code](Editor/EdgeDetectionSobelNeonV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2Property.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.jpg) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/EdgeDetection/EdgeDetectionSobelNeonV2/EdgeDetectionSobelNeonV2.gif) + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta new file mode 100644 index 00000000..8272557b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5728ae5348a413f4a9854a174a64ec14 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta new file mode 100644 index 00000000..1e930d8e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 063613e3c9953ca468c7d36f2cfaea05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader new file mode 100644 index 00000000..ce5c8dc3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader @@ -0,0 +1,93 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/EdgeDetectionSobelNeonV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + half4 _BackgroundColor; + + #define _EdgeWidth _Params.x + #define _EdgeNeonFade _Params.y + #define _Brigtness _Params.z + #define _BackgroundFade _Params.w + + + float intensity(in float4 color) + { + return sqrt((color.x * color.x) + (color.y * color.y) + (color.z * color.z)); + } + + float3 sobel(float stepx, float stepy, float2 center) + { + // get samples around pixel + float3 topLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, stepy)).rgb; + float3 midLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, 0)).rgb; + float3 bottomLeft = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(-stepx, -stepy)).rgb; + float3 midTop = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, stepy)).rgb; + float3 midBottom = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(0, -stepy)).rgb; + float3 topRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, stepy)).rgb; + float3 midRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, 0)).rgb; + float3 bottomRight = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, center + float2(stepx, -stepy)).rgb; + + // Sobel masks (see http://en.wikipedia.org/wiki/Sobel_operator) + // 1 0 -1 -1 -2 -1 + // X = 2 0 -2 Y = 0 0 0 + // 1 0 -1 1 2 1 + + // Gx = sum(kernelX[i][j]*image[i][j]) + float3 Gx = topLeft + 2.0 * midLeft + bottomLeft - topRight - 2.0 * midRight - bottomRight; + // Gy = sum(kernelY[i][j]*image[i][j]); + float3 Gy = -topLeft - 2.0 * midTop - topRight + bottomLeft + 2.0 * midBottom + bottomRight; + float3 sobelGradient = sqrt((Gx * Gx) + (Gy * Gy)); + return sobelGradient; + } + + + + half4 Frag(VaryingsDefault i) : SV_Target + { + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + float3 sobelGradient = sobel(_EdgeWidth / _ScreenParams.x, _EdgeWidth / _ScreenParams.y , i.texcoord); + + half3 backgroundColor = lerp(_BackgroundColor.rgb, sceneColor.rgb, _BackgroundFade); + + float3 edgeColor = lerp(backgroundColor.rgb, sobelGradient.rgb, _EdgeNeonFade); + + return float4(edgeColor * _Brigtness, 1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta new file mode 100644 index 00000000..051861c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2/Shader/EdgeDetectionSobelNeonV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12a023182120c1c468339f082d0c7bad +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur.meta b/Assets/X-PostProcessing/Effects/GaussianBlur.meta new file mode 100644 index 00000000..85a99bcf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9281904b0cde1c94bacde83b537267dd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta new file mode 100644 index 00000000..f942c1f3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca15f25ca80bde14098338a8203e2e72 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs new file mode 100644 index 00000000..0ff900d9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GaussianBlur))] + public sealed class GaussianBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta new file mode 100644 index 00000000..81f30407 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Editor/GaussianBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6b159a1518c6da843a48d31874c8a78a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs new file mode 100644 index 00000000..79fd4308 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs @@ -0,0 +1,98 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GaussianBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/GaussianBlur")] + public class GaussianBlur : PostProcessEffectSettings + { + + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 15)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2f }; + } + + public sealed class GaussianBlurRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-GaussianBlur"; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/GaussianBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + // horizontal blur + sheet.properties.SetVector(ShaderIDs.BlurRadius, new Vector4(settings.BlurRadius / context.screenWidth, 0, 0, 0)); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // vertical blur + sheet.properties.SetVector(ShaderIDs.BlurRadius, new Vector4(0, settings.BlurRadius / context.screenHeight, 0, 0)); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta new file mode 100644 index 00000000..2cb24999 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/GaussianBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 824ef16946450f94186364308f3d1eaf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/README.md b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md new file mode 100644 index 00000000..9b29af71 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md @@ -0,0 +1,16 @@ + +# Gaussian Blur + +## Source Code List +- [Shader Code](Shader/GaussianBlur.shader) +- [C# Code](GaussianBlur.cs) +- [Editor Code](Editor/GaussianBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GaussianBlur/GaussianBlur.gif) diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta new file mode 100644 index 00000000..dbd92758 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9ebda7e3a0bcd7c4b8c77597c386d337 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta new file mode 100644 index 00000000..1978649d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0db1f80be22037d48b08fe55d254fd6e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader new file mode 100644 index 00000000..35cb2bf8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader @@ -0,0 +1,100 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/GaussianBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + struct v2f + { + float4 pos: POSITION; + float2 uv: TEXCOORD0; + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; + }; + + v2f VertGaussianBlur(AttributesDefault v) + { + v2f o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffset.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; + } + + float4 FragGaussianBlur(v2f i): SV_Target + { + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; + } + + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertGaussianBlur + #pragma fragment FragGaussianBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta new file mode 100644 index 00000000..357489f2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GaussianBlur/Shader/GaussianBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b0680d06d5673e438e41b4af0775d1e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta new file mode 100644 index 00000000..b711f11b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 222239416aa63dc41b9ef35f7c5f1ba8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta new file mode 100644 index 00000000..22718ee5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdb86813f07c4ee4d8f1d5d64fad69b1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs new file mode 100644 index 00000000..2a29f43d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchAnalogNoise))] + public sealed class GlitchAnalogNoiseEditor : PostProcessEffectEditor + { + + SerializedParameterOverride NoiseSpeed; + SerializedParameterOverride NoiseFading; + SerializedParameterOverride LuminanceJitterThreshold; + + + public override void OnEnable() + { + NoiseSpeed = FindParameterOverride(x => x.NoiseSpeed); + NoiseFading = FindParameterOverride(x => x.NoiseFading); + LuminanceJitterThreshold = FindParameterOverride(x => x.LuminanceJitterThreshold); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(NoiseSpeed); + PropertyField(NoiseFading); + PropertyField(LuminanceJitterThreshold); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta new file mode 100644 index 00000000..281b1b11 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Editor/GlitchAnalogNoiseEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8ecb03fef57c331449d5a7ac904bb842 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs new file mode 100644 index 00000000..09e3068a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchAnalogNoiseRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/AnalogNoise")] + public class GlitchAnalogNoise : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter NoiseSpeed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter NoiseFading = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter LuminanceJitterThreshold = new FloatParameter { value = 0.8f }; + + } + + public sealed class GlitchAnalogNoiseRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchAnalogNoise"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/AnalogNoise"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.NoiseSpeed, settings.NoiseFading, settings.LuminanceJitterThreshold, TimeX)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta new file mode 100644 index 00000000..d33ed5b4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/GlitchAnalogNoise.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 292a5d75bad86324881ba9dbb87cb997 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md new file mode 100644 index 00000000..9bff5acc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md @@ -0,0 +1,17 @@ + +# GlitchAnalogNoise + +## Source Code List +- [Shader Code](Shader/GlitchAnalogNoise.shader) +- [C# Code](GlitchAnalogNoise.cs) +- [Editor Code](Editor/GlitchAnalogNoiseEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchAnalogNoise/GlitchAnalogNoise.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta new file mode 100644 index 00000000..5b450a75 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dbe7dc3e631deb340b13ebc90c6c7288 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta new file mode 100644 index 00000000..80c196d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4920d9c8b6c601b439f2ccb85a0bc893 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader new file mode 100644 index 00000000..9f970e18 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/AnalogNoise" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Params; + #define _Speed _Params.x + #define _Fading _Params.y + #define _LuminanceJitterThreshold _Params.z + #define _TimeX _Params.w + + + //uniform half _Fading; + //uniform half _TimeX; + //uniform half _LuminanceJitterThreshold; + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 noiseColor = sceneColor; + + half luminance = dot(noiseColor.rgb, fixed3(0.22, 0.707, 0.071)); + if (randomNoise(float2(_TimeX * _Speed, _TimeX * _Speed)) > _LuminanceJitterThreshold) + { + noiseColor = float4(luminance, luminance, luminance, luminance); + } + + float noiseX = randomNoise(_TimeX * _Speed + i.texcoord / float2(-213, 5.53)); + float noiseY = randomNoise(_TimeX * _Speed - i.texcoord / float2(213, -5.53)); + float noiseZ = randomNoise(_TimeX * _Speed + i.texcoord / float2(213, 5.53)); + + noiseColor.rgb += 0.25 * float3(noiseX,noiseY,noiseZ) - 0.125; + + noiseColor = lerp(sceneColor, noiseColor, _Fading); + + return noiseColor; + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta new file mode 100644 index 00000000..dee2a22e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchAnalogNoise/Shader/GlitchAnalogNoise.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 970b4207e98f9cd49a3b7dd771a02c23 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta new file mode 100644 index 00000000..796f12e3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c029d66d59a4a9b4aabe8463edda59aa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta new file mode 100644 index 00000000..275c44db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb432df036e3c1449904366e718482fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs new file mode 100644 index 00000000..3b3eedcf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs @@ -0,0 +1,78 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchDigitalStripe))] + public sealed class GlitchDigitalStripeEditor : PostProcessEffectEditor + { + + SerializedParameterOverride intensity; + SerializedParameterOverride frequncy; + SerializedParameterOverride stripeLength; + SerializedParameterOverride noiseTextureWidth; + SerializedParameterOverride noiseTextureHeight; + SerializedParameterOverride needStripColorAdjust; + SerializedParameterOverride StripColorAdjustIndensity; + SerializedParameterOverride StripColorAdjustColor; + + + + + public override void OnEnable() + { + intensity = FindParameterOverride(x => x.intensity); + frequncy = FindParameterOverride(x => x.frequncy); + stripeLength = FindParameterOverride(x => x.stripeLength); + noiseTextureHeight = FindParameterOverride(x => x.noiseTextureHeight); + noiseTextureWidth = FindParameterOverride(x => x.noiseTextureWidth); + needStripColorAdjust = FindParameterOverride(x => x.needStripColorAdjust); + StripColorAdjustIndensity = FindParameterOverride(x => x.StripColorAdjustIndensity); + StripColorAdjustColor = FindParameterOverride(x => x.StripColorAdjustColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(intensity); + PropertyField(frequncy); + + + EditorUtilities.DrawHeaderLabel("Stripe Generate"); + PropertyField(stripeLength); + + EditorUtilities.DrawHeaderLabel("Noise Texture Size"); + PropertyField(noiseTextureWidth); + PropertyField(noiseTextureHeight); + + EditorUtilities.DrawHeaderLabel("Strip Color Adjust"); + PropertyField(needStripColorAdjust); + PropertyField(StripColorAdjustIndensity); + PropertyField(StripColorAdjustColor); + + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta new file mode 100644 index 00000000..d23a01fe --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Editor/GlitchDigitalStripeEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f70e60fef271f8a4b912a0f952d34fa9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs new file mode 100644 index 00000000..fcee9370 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs @@ -0,0 +1,151 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : https://github.com/keijiro/KinoGlitch + +using System; +using System.IO; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [Serializable] + [PostProcess(typeof(GlitchDigitalStripeRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/DigitalStripe")] + public class GlitchDigitalStripe : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter intensity = new FloatParameter { value = 0.25f }; + + [Range(1, 10)] + public IntParameter frequncy = new IntParameter { value = 3 }; + + [Range(0f, 0.99f)] + public FloatParameter stripeLength = new FloatParameter { value = 0.89f }; + + [Range(8, 256)] + public IntParameter noiseTextureWidth = new IntParameter { value = 20 }; + + [Range(8, 256)] + public IntParameter noiseTextureHeight = new IntParameter { value = 20 }; + + public BoolParameter needStripColorAdjust = new BoolParameter { value = false }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter StripColorAdjustColor = new ColorParameter { value = new Color(0.1f, 0.1f, 0.1f) }; + + [Range(0, 10)] + public FloatParameter StripColorAdjustIndensity = new FloatParameter { value = 2f }; + + } + + public sealed class GlitchDigitalStripeRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchDigitalStripe"; + private Shader shader; + Texture2D _noiseTexture; + RenderTexture _trashFrame1; + RenderTexture _trashFrame2; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/DigitalStripe"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int indensity = Shader.PropertyToID("_Indensity"); + internal static readonly int noiseTex = Shader.PropertyToID("_NoiseTex"); + internal static readonly int StripColorAdjustColor = Shader.PropertyToID("_StripColorAdjustColor"); + internal static readonly int StripColorAdjustIndensity = Shader.PropertyToID("_StripColorAdjustIndensity"); + } + + + + void UpdateNoiseTexture(int frame, int noiseTextureWidth, int noiseTextureHeight, float stripLength) + { + int frameCount = Time.frameCount; + if (frameCount % frame != 0) + { + return; + } + + _noiseTexture = new Texture2D(noiseTextureWidth, noiseTextureHeight, TextureFormat.ARGB32, false); + _noiseTexture.wrapMode = TextureWrapMode.Clamp; + _noiseTexture.filterMode = FilterMode.Point; + + _trashFrame1 = new RenderTexture(Screen.width, Screen.height, 0); + _trashFrame2 = new RenderTexture(Screen.width, Screen.height, 0); + _trashFrame1.hideFlags = HideFlags.DontSave; + _trashFrame2.hideFlags = HideFlags.DontSave; + + Color32 color = XPostProcessingUtility.RandomColor(); + + for (int y = 0; y < _noiseTexture.height; y++) + { + for (int x = 0; x < _noiseTexture.width; x++) + { + //随机值若大于给定strip随机阈值,重新随机颜色 + if (UnityEngine.Random.value > stripLength) + { + color = XPostProcessingUtility.RandomColor(); + } + //设置贴图像素值 + _noiseTexture.SetPixel(x, y, color); + } + } + + _noiseTexture.Apply(); + + var bytes = _noiseTexture.EncodeToPNG(); + } + + + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateNoiseTexture(settings.frequncy, settings.noiseTextureWidth,settings.noiseTextureHeight, settings.stripeLength); + + sheet.properties.SetFloat(ShaderIDs.indensity, settings.intensity); + + if (_noiseTexture != null) + { + sheet.properties.SetTexture(ShaderIDs.noiseTex, _noiseTexture); + } + + if (settings.needStripColorAdjust == true) + { + sheet.EnableKeyword("NEED_TRASH_FRAME"); + sheet.properties.SetColor(ShaderIDs.StripColorAdjustColor, settings.StripColorAdjustColor); + sheet.properties.SetFloat(ShaderIDs.StripColorAdjustIndensity, settings.StripColorAdjustIndensity); + } + else + { + sheet.DisableKeyword("NEED_TRASH_FRAME"); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta new file mode 100644 index 00000000..daa233de --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/GlitchDigitalStripe.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b63d2b442ad53ae42b8343f3a6602000 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md new file mode 100644 index 00000000..99782975 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md @@ -0,0 +1,19 @@ + +# GlitchDigitalStripe + +## Source Code List +- [Shader Code](Shader/GlitchDigitalStripe.shader) +- [C# Code](GlitchDigitalStripe.cs) +- [Editor Code](Editor/GlitchDigitalStripeEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/DigitalStripeGlitch2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchDigitalStripe/GlitchDigitalStripe.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta new file mode 100644 index 00000000..6d1fd93a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f74c3328bbd27624080f1bf812e57100 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta new file mode 100644 index 00000000..42262e3c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c4294135ae080841be53df7ad399a8c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader new file mode 100644 index 00000000..658470e7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader @@ -0,0 +1,70 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : https://github.com/keijiro/KinoGlitch + +Shader "Hidden/X-PostProcessing/Glitch/DigitalStripe" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature NEED_TRASH_FRAME + + TEXTURE2D_SAMPLER2D(_NoiseTex, sampler_NoiseTex); + + uniform half _Indensity; + uniform half4 _StripColorAdjustColor; + uniform half _StripColorAdjustIndensity; + + + half4 Frag(VaryingsDefault i): SV_Target + { + // 基础数据准备 + half4 stripNoise = SAMPLE_TEXTURE2D(_NoiseTex, sampler_NoiseTex, i.texcoord); + half threshold = 1.001 - _Indensity * 1.001; + + // uv偏移 + half uvShift = step(threshold, pow(abs(stripNoise.x), 3)); + float2 uv = frac(i.texcoord + stripNoise.yz * uvShift); + half4 source = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + +#ifndef NEED_TRASH_FRAME + return source; +#endif + + // 基于废弃帧插值 + half stripIndensity = step(threshold, pow(abs(stripNoise.w), 3)) * _StripColorAdjustIndensity; + half3 color = lerp(source, _StripColorAdjustColor, stripIndensity).rgb; + return float4(color, source.a); + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta new file mode 100644 index 00000000..2f080669 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchDigitalStripe/Shader/GlitchDigitalStripe.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0fe849c32d182f4fa20a6ab085a5d53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta new file mode 100644 index 00000000..16ab2c0b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8c4505c6e6d7334c877f5ed4605e7e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta new file mode 100644 index 00000000..173d1370 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4896f57762c3a9f439fe1832ae200426 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs new file mode 100644 index 00000000..9043fbd0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs @@ -0,0 +1,92 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlock))] + public sealed class GlitchImageBlockEditor : PostProcessEffectEditor + { + + + SerializedParameterOverride Fade; + SerializedParameterOverride Speed; + SerializedParameterOverride Amount; + SerializedParameterOverride BlockLayer1_U; + SerializedParameterOverride BlockLayer1_V; + SerializedParameterOverride BlockLayer2_U; + SerializedParameterOverride BlockLayer2_V; + SerializedParameterOverride BlockLayer1_Indensity; + SerializedParameterOverride BlockLayer2_Indensity; + SerializedParameterOverride RGBSplitIndensity; + SerializedParameterOverride BlockVisualizeDebug; + + + + //[Range(0.0f, 50.0f)] + //public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + //[Range(0.0f, 50.0f)] + //public FloatParameter BlockLayer2_Indensity = new FloatParameter { value = 4f }; + + public override void OnEnable() + { + Fade = FindParameterOverride(x => x.Fade); + Speed = FindParameterOverride(x => x.Speed); + Amount = FindParameterOverride(x => x.Amount); + BlockLayer1_U = FindParameterOverride(x => x.BlockLayer1_U); + BlockLayer1_V = FindParameterOverride(x => x.BlockLayer1_V); + BlockLayer2_U = FindParameterOverride(x => x.BlockLayer2_U); + BlockLayer2_V = FindParameterOverride(x => x.BlockLayer2_V); + BlockLayer1_Indensity = FindParameterOverride(x => x.BlockLayer1_Indensity); + BlockLayer2_Indensity = FindParameterOverride(x => x.BlockLayer2_Indensity); + RGBSplitIndensity = FindParameterOverride(x => x.RGBSplitIndensity); + BlockVisualizeDebug = FindParameterOverride(x => x.BlockVisualizeDebug); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Fade); + PropertyField(Speed); + PropertyField(Amount); + EditorUtilities.DrawHeaderLabel("Block Noise Size"); + PropertyField(BlockLayer1_U); + PropertyField(BlockLayer1_V); + + EditorGUILayout.Space(); + PropertyField(BlockLayer2_U); + PropertyField(BlockLayer2_V); + EditorUtilities.DrawHeaderLabel("Block Indensity"); + PropertyField(BlockLayer1_Indensity); + PropertyField(BlockLayer2_Indensity); + PropertyField(RGBSplitIndensity); + + + EditorUtilities.DrawHeaderLabel("Block Visualize Debug"); + PropertyField(BlockVisualizeDebug); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta new file mode 100644 index 00000000..4bac19eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Editor/GlitchImageBlockEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e3a28515d63341f4cb38c94a23baa806 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs new file mode 100644 index 00000000..a968b73b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs @@ -0,0 +1,116 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlock")] + public class GlitchImageBlock : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Fade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_U = new FloatParameter { value = 9f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_V = new FloatParameter { value = 9f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_U = new FloatParameter { value = 5f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_V = new FloatParameter { value = 5f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer2_Indensity = new FloatParameter { value = 4f }; + + [Range(0.0f, 50.0f)] + public FloatParameter RGBSplitIndensity = new FloatParameter { value = 0.5f }; + + + public BoolParameter BlockVisualizeDebug = new BoolParameter { value = false }; +} + + public sealed class GlitchImageBlockRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlock"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlock"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + internal static readonly int Params3 = Shader.PropertyToID("_Params3"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Fade)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector4(settings.BlockLayer1_U, settings.BlockLayer1_V, settings.BlockLayer2_U, settings.BlockLayer2_V)); + sheet.properties.SetVector(ShaderIDs.Params3, new Vector3(settings.RGBSplitIndensity, settings.BlockLayer1_Indensity, settings.BlockLayer2_Indensity)); + + if (settings.BlockVisualizeDebug) + { + //debug + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 1); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta new file mode 100644 index 00000000..3d8e38c4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/GlitchImageBlock.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 943c09b621e7d8e489394b2b0b0dc2c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md new file mode 100644 index 00000000..f4cea2ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md @@ -0,0 +1,17 @@ + +# GlitchImageBlock + +## Source Code List +- [Shader Code](Shader/GlitchImageBlock.shader) +- [C# Code](GlitchImageBlock.cs) +- [Editor Code](Editor/GlitchImageBlockEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlock/GlitchImageBlock.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta new file mode 100644 index 00000000..c5d95bcb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 36ffdc7a49bf6344983a91644c2acf38 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta new file mode 100644 index 00000000..8dfc22ef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17663423a0a267948b36fc78ef3466ea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader new file mode 100644 index 00000000..699db8ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader @@ -0,0 +1,118 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlock" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half3 _Params; + uniform half4 _Params2; + uniform half3 _Params3; + + #define _TimeX _Params.x + #define _Offset _Params.y + #define _Fade _Params.z + + #define _BlockLayer1_U _Params2.w + #define _BlockLayer1_V _Params2.x + #define _BlockLayer2_U _Params2.y + #define _BlockLayer2_V _Params2.z + + #define _RGBSplit_Indensity _Params3.x + #define _BlockLayer1_Indensity _Params3.y + #define _BlockLayer2_Indensity _Params3.z + + + float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_TimeX * 30.0), float2(127.1, 311.7))) * 43758.5453123); + } + + float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + //求解第一层blockLayer + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + float2 blockLayer2 = floor(uv * float2(_BlockLayer2_U, _BlockLayer2_V)); + + //return float4(blockLayer1, blockLayer2); + + float lineNoise1 = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity); + float lineNoise2 = pow(randomNoise(blockLayer2), _BlockLayer2_Indensity); + float RGBSplitNoise = pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + float lineNoise = lineNoise1 * lineNoise2 * _Offset - RGBSplitNoise; + + float4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + float4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv + float2(lineNoise * 0.05 * randomNoise(7.0), 0)); + float4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv - float2(lineNoise * 0.05 * randomNoise(23.0), 0)); + + float4 result = float4(float3(colorR.x, colorG.y, colorB.z), colorR.a + colorG.a + colorB.a); + result = lerp(colorR, result, _Fade); + + return result; + } + + + float4 Frag_Debug(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + float2 blockLayer2 = floor(uv * float2(_BlockLayer2_U, _BlockLayer2_V)); + + float lineNoise1 = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity); + float lineNoise2 = pow(randomNoise(blockLayer2), _BlockLayer2_Indensity); + float RGBSplitNoise = pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + float lineNoise = lineNoise1 * lineNoise2 * _Offset - RGBSplitNoise; + + return float4(lineNoise, lineNoise, lineNoise, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Debug + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta new file mode 100644 index 00000000..13150436 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlock/Shader/GlitchImageBlock.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dbaf1986db2e3db46a001805b0e2d40f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta new file mode 100644 index 00000000..c0c9f780 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a18f3bbbdbf178f4d9aa077c42ba08c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta new file mode 100644 index 00000000..b71238f8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c86126edf3a903438d09f6a32dbc7cd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs new file mode 100644 index 00000000..7b2b63b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV2))] + public sealed class GlitchImageBlockV2Editor : PostProcessEffectEditor + { + + + SerializedParameterOverride Fade; + SerializedParameterOverride Speed; + SerializedParameterOverride Amount; + SerializedParameterOverride BlockLayer1_U; + SerializedParameterOverride BlockLayer1_V; + SerializedParameterOverride BlockLayer1_Indensity; + SerializedParameterOverride RGBSplitIndensity; + SerializedParameterOverride BlockVisualizeDebug; + + + public override void OnEnable() + { + Fade = FindParameterOverride(x => x.Fade); + Speed = FindParameterOverride(x => x.Speed); + Amount = FindParameterOverride(x => x.Amount); + BlockLayer1_U = FindParameterOverride(x => x.BlockLayer1_U); + BlockLayer1_V = FindParameterOverride(x => x.BlockLayer1_V); + BlockLayer1_Indensity = FindParameterOverride(x => x.BlockLayer1_Indensity); + RGBSplitIndensity = FindParameterOverride(x => x.RGBSplitIndensity); + BlockVisualizeDebug = FindParameterOverride(x => x.BlockVisualizeDebug); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Fade); + PropertyField(Speed); + PropertyField(Amount); + EditorUtilities.DrawHeaderLabel("Block Noise Size"); + PropertyField(BlockLayer1_U); + PropertyField(BlockLayer1_V); + EditorUtilities.DrawHeaderLabel("Block Indensity"); + PropertyField(BlockLayer1_Indensity); + PropertyField(RGBSplitIndensity); + EditorUtilities.DrawHeaderLabel("Block Visualize Debug"); + PropertyField(BlockVisualizeDebug); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta new file mode 100644 index 00000000..98f1854f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Editor/GlitchImageBlockV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42586718201acaa47b8a83dceb61e604 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs new file mode 100644 index 00000000..a4ced98a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs @@ -0,0 +1,116 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV2")] + public class GlitchImageBlockV2 : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Fade = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_U = new FloatParameter { value = 2f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_V = new FloatParameter { value = 16f }; + + + [Range(0.0f, 50.0f)] + public FloatParameter BlockLayer1_Indensity = new FloatParameter { value = 8f }; + + [Range(0.0f, 50.0f)] + public FloatParameter RGBSplitIndensity = new FloatParameter { value = 2f }; + + public BoolParameter BlockVisualizeDebug = new BoolParameter { value = false }; + } + + public sealed class GlitchImageBlockV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV2"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); +} + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Fade)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector4(settings.BlockLayer1_U, settings.BlockLayer1_V, settings.BlockLayer1_Indensity, settings.RGBSplitIndensity)); + + sheet.properties.SetFloat("_TimeX", TimeX * settings.Speed); + sheet.properties.SetFloat("_Offset", settings.Amount); + sheet.properties.SetFloat("_Fade", settings.Fade); + + sheet.properties.SetFloat("_BlockLayer1_U", settings.BlockLayer1_U); + sheet.properties.SetFloat("_BlockLayer1_V", settings.BlockLayer1_V); + sheet.properties.SetFloat("_BlockLayer1_Indensity", settings.BlockLayer1_Indensity); + sheet.properties.SetFloat("_RGBSplit_Indensity", settings.RGBSplitIndensity); + + + if (settings.BlockVisualizeDebug) + { + //debug + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 1); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta new file mode 100644 index 00000000..882e3144 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/GlitchImageBlockV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2263e6ecd318999478fee0f26de0895c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md new file mode 100644 index 00000000..613e3227 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV2 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV2.shader) +- [C# Code](GlitchImageBlockV2.cs) +- [Editor Code](Editor/GlitchImageBlockV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV2/GlitchImageBlockV2.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV2/GlitchImageBlockV2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta new file mode 100644 index 00000000..e073907e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 97ddddc9b38c4bd48839ef8e81482b16 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta new file mode 100644 index 00000000..e38b73ae --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2381a4389d17a3439d7f8f99b8f6bf1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader new file mode 100644 index 00000000..6449b11c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half3 _Params; + uniform half4 _Params2; + + #define _TimeX _Params.x + #define _Offset _Params.y + #define _Fade _Params.z + #define _BlockLayer1_U _Params2.x + #define _BlockLayer1_V _Params2.y + #define _BlockLayer1_Indensity _Params2.z + #define _RGBSplit_Indensity _Params2.w + + + float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_TimeX * 30.0), float2(127.1, 311.7))) * 43758.5453123); + } + + float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + + float lineNoise = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity) * _Offset - pow(randomNoise(5.1379), 7.1) * _RGBSplit_Indensity; + + float4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + float4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv + float2(lineNoise * 0.05 * randomNoise(5.0), 0)); + float4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv - float2(lineNoise * 0.05 * randomNoise(31.0), 0)); + + float4 result = float4(float3(colorR.r, colorG.g, colorB.b), colorR.a + colorG.a + colorB.a); + result = lerp(colorR, result, _Fade); + + return result; + } + + + float4 Frag_Debug(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + + float2 blockLayer1 = floor(uv * float2(_BlockLayer1_U, _BlockLayer1_V)); + + float lineNoise = pow(randomNoise(blockLayer1), _BlockLayer1_Indensity) * _Offset; + + return float4(lineNoise, lineNoise, lineNoise, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Debug + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta new file mode 100644 index 00000000..1a1db160 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV2/Shader/GlitchImageBlockV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df4ee131460b39440b639403867c8c3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta new file mode 100644 index 00000000..573b3707 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a020845264d90924db9476a751944814 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta new file mode 100644 index 00000000..dcfb5b5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fa3ac206c46f9ac4eb710444d4bc9dfc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs new file mode 100644 index 00000000..0237894c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV3))] + public sealed class GlitchImageBlockV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Speed; + SerializedParameterOverride BlockSize; + + + public override void OnEnable() + { + Speed = FindParameterOverride(x => x.Speed); + BlockSize = FindParameterOverride(x => x.BlockSize); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Speed); + PropertyField(BlockSize); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta new file mode 100644 index 00000000..b83813f3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Editor/GlitchImageBlockV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cb0c091dd7691964fb6cd1cb218e13c6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs new file mode 100644 index 00000000..097fc6b4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV3")] + public class GlitchImageBlockV3 : PostProcessEffectSettings + { + + [Range(0.0f, 50.0f)] + public FloatParameter Speed = new FloatParameter { value = 10f }; + + [Range(0.0f, 50.0f)] + public FloatParameter BlockSize = new FloatParameter { value = 8f }; + + } + + public sealed class GlitchImageBlockV3Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV3"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.Speed, settings.BlockSize)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta new file mode 100644 index 00000000..3a8f3741 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/GlitchImageBlockV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c9acc76ac9d8d4e4a8d7294a5bd00c85 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md new file mode 100644 index 00000000..53a2f7e8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV3 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV3.shader) +- [C# Code](GlitchImageBlockV3.cs) +- [Editor Code](Editor/GlitchImageBlockV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV3/GlitchImageBlockV3.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV3/GlitchImageBlockV3.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta new file mode 100644 index 00000000..809eaad9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 26c1dc0cf60d52049937f08ace70249e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta new file mode 100644 index 00000000..19e24fe9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5fa71682a7d47b745a538fdbba90d05c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader new file mode 100644 index 00000000..7eab4555 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader @@ -0,0 +1,66 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half3 _Params; + + #define _Speed _Params.x + #define _BlockSize _Params.y + + inline float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Speed), float2(17.13, 3.71))) * 43758.5453123); + } + + inline float randomNoise(float seed) + { + return rand(float2(seed, 1.0)); + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + + float2 block = randomNoise(floor(i.texcoord * _BlockSize)); + float displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0); + + half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r; + half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g; + half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b; + + return half4(ColorR, ColorG, ColorB, 1.0); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta new file mode 100644 index 00000000..812ca60a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV3/Shader/GlitchImageBlockV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1123c475f6cef32418a95e7ce980818a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta new file mode 100644 index 00000000..be331dee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 477cacaffd8cf2649a4e056d198c45ac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta new file mode 100644 index 00000000..c3eddb43 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91e87b99d1d156243a58249d5c72f2e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs new file mode 100644 index 00000000..0476255c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs @@ -0,0 +1,58 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchImageBlockV4))] + public sealed class GlitchImageBlockV4Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Speed; + SerializedParameterOverride BlockSize; + SerializedParameterOverride MaxRGBSplitX; + SerializedParameterOverride MaxRGBSplitY; + + + + public override void OnEnable() + { + Speed = FindParameterOverride(x => x.Speed); + BlockSize = FindParameterOverride(x => x.BlockSize); + MaxRGBSplitX = FindParameterOverride(x => x.MaxRGBSplitX); + MaxRGBSplitY = FindParameterOverride(x => x.MaxRGBSplitY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Speed); + PropertyField(BlockSize); + + EditorUtilities.DrawHeaderLabel("RGB Split"); + PropertyField(MaxRGBSplitX); + PropertyField(MaxRGBSplitY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta new file mode 100644 index 00000000..02c64a1b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Editor/GlitchImageBlockV4Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f56ce9e77be3e648996b7894a6b8aab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs new file mode 100644 index 00000000..9d893e5b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs @@ -0,0 +1,75 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchImageBlockV4Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ImageBlockV4")] + public class GlitchImageBlockV4 : PostProcessEffectSettings + { + [Range(0f, 50f)] + public FloatParameter Speed = new FloatParameter { value = 10f }; + + [Range(0f, 50f)] + public FloatParameter BlockSize = new FloatParameter { value = 8f }; + + [Range(0f, 25f)] + public FloatParameter MaxRGBSplitX = new FloatParameter { value = 1f }; + + [Range(0f, 25f)] + public FloatParameter MaxRGBSplitY = new FloatParameter { value = 1f }; + } + + public sealed class GlitchImageBlockV4Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchImageBlockV4"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ImageBlockV4"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); +} + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Speed, settings.BlockSize, settings.MaxRGBSplitX, settings.MaxRGBSplitY)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta new file mode 100644 index 00000000..a9cc8cf2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/GlitchImageBlockV4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4ec8e4c840c12a84f9cbb49d82780b09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md new file mode 100644 index 00000000..86448db8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md @@ -0,0 +1,15 @@ + +# GlitchImageBlockV4 + +## Source Code List +- [Shader Code](Shader/GlitchImageBlockV4.shader) +- [C# Code](GlitchImageBlockV4.cs) +- [Editor Code](Editor/GlitchImageBlockV4Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV4/GlitchImageBlockV4.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchImageBlockV4/GlitchImageBlockV4.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta new file mode 100644 index 00000000..3b8d3f68 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 67633245a2c267c4ba96ad73a06ca028 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta new file mode 100644 index 00000000..6b9a98fc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee161cd9d91cb134489c4a1211aaf7b0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader new file mode 100644 index 00000000..4ab25cdb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ImageBlockV4" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _Params; + #define _Speed _Params.x + #define _BlockSize _Params.y + #define _MaxRGBSplitX _Params.z + #define _MaxRGBSplitY _Params.w + + + inline float randomNoise(float2 seed) + { + return frac(sin(dot(seed * floor(_Time.y * _Speed), float2(17.13, 3.71))) * 43758.5453123); + } + + inline float randomNoise(float seed) + { + return randomNoise(float2(seed, 1.0)); + } + + half4 Frag(VaryingsDefault i) : SV_Target + { + half2 block = randomNoise(floor(i.texcoord * _BlockSize)); + + float displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0); + float splitRGBNoise = pow(randomNoise(7.2341), 17.0); + float offsetX = displaceNoise - splitRGBNoise * _MaxRGBSplitX; + float offsetY = displaceNoise - splitRGBNoise * _MaxRGBSplitY; + + float noiseX = 0.05 * randomNoise(13.0); + float noiseY = 0.05 * randomNoise(7.0); + float2 offset = float2(offsetX * noiseX, offsetY* noiseY); + + half4 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + offset); + half4 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - offset); + + return half4(colorR.r , colorG.g, colorB.z, (colorR.a + colorG.a + colorB.a)); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta new file mode 100644 index 00000000..80b51158 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchImageBlockV4/Shader/GlitchImageBlockV4.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d90b34efa60fe034ca1e1c43af1013d7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta new file mode 100644 index 00000000..f165c6aa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be5409520f154074d95d04f90d72927c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta new file mode 100644 index 00000000..47e0e2d8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74ca834756ab1ba478ff0698b4ad4b85 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs new file mode 100644 index 00000000..834319e7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs @@ -0,0 +1,74 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchLineBlock))] + public sealed class GlitchLineBlockEditor : PostProcessEffectEditor + { + SerializedParameterOverride blockDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride Amount; + SerializedParameterOverride LinesWidth; + SerializedParameterOverride Speed; + SerializedParameterOverride Offset; + SerializedParameterOverride Alpha; + + + public override void OnEnable() + { + blockDirection = FindParameterOverride(x => x.blockDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + Amount = FindParameterOverride(x => x.Amount); + LinesWidth = FindParameterOverride(x => x.LinesWidth); + Speed = FindParameterOverride(x => x.Speed); + Offset = FindParameterOverride(x => x.Offset); + Alpha = FindParameterOverride(x => x.Alpha); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Block Direction"); + PropertyField(blockDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(LinesWidth); + PropertyField(Speed); + PropertyField(Offset); + PropertyField(Alpha); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta new file mode 100644 index 00000000..28f4ed79 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Editor/GlitchLineBlockEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2826544cb5809a44aab0df13efda888 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs new file mode 100644 index 00000000..23923def --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs @@ -0,0 +1,126 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class IntervalTypeParameter : ParameterOverride { }; + + [Serializable] + [PostProcess(typeof(GlitchLineBlockRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/LineBlock")] + public class GlitchLineBlock : PostProcessEffectSettings + { + + public DirectionParameter blockDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Amount = new FloatParameter { value = 0.5f }; + + [Range(0.1f, 10f)] + public FloatParameter LinesWidth = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Speed = new FloatParameter { value = 0.8f }; + + [Range(0f, 13f)] + public FloatParameter Offset = new FloatParameter { value = 1f }; + + [Range(0f, 1f)] + public FloatParameter Alpha = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchLineBlockRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchLineBlock"; + private Shader shader; + private float TimeX = 1.0f; + private float randomFrequency; + private int frameCount = 0; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/LineBlock"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3( + settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency, + TimeX * settings.Speed * 0.2f , settings.Amount)); + + sheet.properties.SetVector(ShaderIDs.Params2, new Vector3(settings.Offset, 1 / settings.LinesWidth, settings.Alpha)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.blockDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + if (frameCount > settings.frequency) + { + + frameCount = 0; + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + frameCount++; + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta new file mode 100644 index 00000000..0348fdaa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/GlitchLineBlock.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c1b4be796ebe4f841a791ce91720f612 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md new file mode 100644 index 00000000..171747eb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md @@ -0,0 +1,19 @@ + +# GlitchLineBlock + +## Source Code List +- [Shader Code](Shader/GlitchLineBlock.shader) +- [C# Code](GlitchLineBlock.cs) +- [Editor Code](Editor/GlitchLineBlockEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchLineBlock/GlitchLineBlock.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta new file mode 100644 index 00000000..fc08b156 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e25fe862bed87c43a8e86a8e7e9a941 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta new file mode 100644 index 00000000..41ba5713 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92a6d42f54d01d44f9c3d4d4b4d4dce2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader new file mode 100644 index 00000000..48fef038 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader @@ -0,0 +1,185 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/LineBlock" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half4 _Params; + uniform half4 _Params2; + + #define _Frequency _Params.x + #define _TimeX _Params.y + #define _Amount _Params.z + #define _Offset _Params2.x + #define _LinesWidth _Params2.y + #define _Alpha _Params2.z + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + float trunc(float x, float num_levels) + { + return floor(x * num_levels) / num_levels; + } + + float2 trunc(float2 x, float2 num_levels) + { + return floor(x * num_levels) / num_levels; + } + + float3 rgb2yuv(float3 rgb) + { + float3 yuv; + yuv.x = dot(rgb, float3(0.299, 0.587, 0.114)); + yuv.y = dot(rgb, float3(-0.14713, -0.28886, 0.436)); + yuv.z = dot(rgb, float3(0.615, -0.51499, -0.10001)); + return yuv; + } + + float3 yuv2rgb(float3 yuv) + { + float3 rgb; + rgb.r = yuv.x + yuv.z * 1.13983; + rgb.g = yuv.x + dot(float2(-0.39465, -0.58060), yuv.yz); + rgb.b = yuv.x + yuv.y * 2.03211; + return rgb; + } + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 10; + #else + strength = 0.5 + 0.5 * cos(_TimeX * _Frequency); + #endif + + _TimeX *= strength; + + // [1] 生成随机强度梯度线条 + float truncTime = trunc(_TimeX, 4.0); + float uv_trunc = randomNoise(trunc(uv.yy, float2(8, 8)) + 100.0 * truncTime); + float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc); + + // [2] 生成随机非均匀宽度线条 + float blockLine_random = 0.5 * randomNoise(trunc(uv.yy + uv_randomTrunc, float2(8 * _LinesWidth, 8 * _LinesWidth))); + blockLine_random += 0.5 * randomNoise(trunc(uv.yy + uv_randomTrunc, float2(7, 7))); + blockLine_random = blockLine_random * 2.0 - 1.0; + blockLine_random = sign(blockLine_random) * saturate((abs(blockLine_random) - _Amount) / (0.4)); + blockLine_random = lerp(0, blockLine_random, _Offset); + + + // [3] 生成源色调的blockLine Glitch + float2 uv_blockLine = uv; + uv_blockLine = saturate(uv_blockLine + float2(0.1 * blockLine_random, 0)); + float4 blockLineColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, abs(uv_blockLine)); + + // [4] 将RGB转到YUV空间,并做色调偏移 + // RGB -> YUV + float3 blockLineColor_yuv = rgb2yuv(blockLineColor.rgb); + // adjust Chrominance | 色度 + blockLineColor_yuv.y /= 1.0 - 3.0 * abs(blockLine_random) * saturate(0.5 - blockLine_random); + // adjust Chroma | 浓度 + blockLineColor_yuv.z += 0.125 * blockLine_random * saturate(blockLine_random - 0.5); + float3 blockLineColor_rgb = yuv2rgb(blockLineColor_yuv); + + + // [5] 与源场景图进行混合 + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + return lerp(sceneColor, float4(blockLineColor_rgb, blockLineColor.a), _Alpha); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord; + + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 10; + #else + strength = 0.5 + 0.5 * cos(_TimeX * _Frequency); + #endif + + _TimeX *= strength; + + // [1] 生成随机均匀宽度线条 + float truncTime = trunc(_TimeX, 4.0); + float uv_trunc = randomNoise(trunc(uv.xx, float2(8, 8)) + 100.0 * truncTime); + float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc); + + // [2] 生成随机非均匀宽度线条 | Generate Random inhomogeneous Block Line + float blockLine_random = 0.5 * randomNoise(trunc(uv.xx + uv_randomTrunc, float2(8 * _LinesWidth, 8 * _LinesWidth))); + blockLine_random += 0.5 * randomNoise(trunc(uv.xx + uv_randomTrunc, float2(7, 7))); + blockLine_random = blockLine_random * 2.0 - 1.0; + blockLine_random = sign(blockLine_random) * saturate((abs(blockLine_random) - _Amount) / (0.4)); + blockLine_random = lerp(0, blockLine_random, _Offset); + + // [3] 生成源色调的blockLine Glitch + float2 uv_blockLine = uv; + uv_blockLine = saturate(uv_blockLine + float2(0, 0.1 * blockLine_random)); + float4 blockLineColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, abs(uv_blockLine)); + + // [4] 将RGB转到YUV空间,并做色调偏移 + // RGB -> YUV + float3 blockLineColor_yuv = rgb2yuv(blockLineColor.rgb); + // adjust Chrominance | 色度 + blockLineColor_yuv.y /= 1.0 - 3.0 * abs(blockLine_random) * saturate(0.5 - blockLine_random); + // adjust Chroma | 浓度 + blockLineColor_yuv.z += 0.125 * blockLine_random * saturate(blockLine_random - 0.5); + float3 blockLineColor_rgb = yuv2rgb(blockLineColor_yuv); + + // [5] 与源场景图进行混合 + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + return lerp(sceneColor, float4(blockLineColor_rgb, blockLineColor.a), _Alpha); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta new file mode 100644 index 00000000..87efd0d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchLineBlock/Shader/GlitchLineBlock.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c56b2bb17417b604e8da933958ebf31b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta new file mode 100644 index 00000000..98dceb0e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c49ebce4d4def504887d2c7287afc5ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta new file mode 100644 index 00000000..850e6896 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1df89a4175f998548bc0889f7fd8c6d5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs new file mode 100644 index 00000000..26e9eab0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplit))] + public sealed class GlitchRGBSplitEditor : PostProcessEffectEditor + { + + SerializedParameterOverride SplitDirection; + SerializedParameterOverride Fading; + SerializedParameterOverride Amount; + SerializedParameterOverride Speed; + SerializedParameterOverride AmountR; + SerializedParameterOverride AmountB; + SerializedParameterOverride CenterFading; + + + public override void OnEnable() + { + SplitDirection = FindParameterOverride(x => x.SplitDirection); + Fading = FindParameterOverride(x => x.Fading); + Amount = FindParameterOverride(x => x.Amount); + Speed = FindParameterOverride(x => x.Speed); + AmountR = FindParameterOverride(x => x.AmountR); + AmountB = FindParameterOverride(x => x.AmountB); + CenterFading = FindParameterOverride(x => x.CenterFading); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Speed); + PropertyField(Fading); + PropertyField(CenterFading); + + EditorUtilities.DrawHeaderLabel("RGB Channel Amount"); + PropertyField(AmountR); + PropertyField(AmountB); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta new file mode 100644 index 00000000..9d84af5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Editor/GlitchRGBSplitEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 31db0512619009048b1ced5553fcb7de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs new file mode 100644 index 00000000..d4c07895 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs @@ -0,0 +1,95 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchRGBSplitDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplit")] + public class GlitchRGBSplit : PostProcessEffectSettings + { + public GlitchRGBSplitDirectionParameter SplitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter Fading = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter Amount = new FloatParameter { value = 1f }; + + [Range(0.0f, 10.0f)] + public FloatParameter Speed = new FloatParameter { value = 1f }; + + [Range(0.0f, 1.0f)] + public FloatParameter CenterFading = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter AmountR = new FloatParameter { value = 1f }; + + [Range(0.0f, 5.0f)] + public FloatParameter AmountB = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchRGBSplitRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplit"; + private Shader shader; + private float TimeX = 1.0f; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplit"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Fading, settings.Amount, settings.Speed, settings.CenterFading)); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector3(TimeX, settings.AmountR, settings.AmountB)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta new file mode 100644 index 00000000..b7ce19c1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/GlitchRGBSplit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2454d8719de212d4095611b98a288e0a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md new file mode 100644 index 00000000..523bf57a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplit + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplit.shader) +- [C# Code](GlitchRGBSplit.cs) +- [Editor Code](Editor/GlitchRGBSplitEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplit/GlitchRGBSplit-1.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta new file mode 100644 index 00000000..718f69d2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a97a86c90d8f41f40b4053ef9b71813e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta new file mode 100644 index 00000000..2b340df6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20084c46dc05acc4cbcaddc5727d5199 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader new file mode 100644 index 00000000..8532c99a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader @@ -0,0 +1,148 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplit" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + uniform half4 _Params; + uniform half3 _Params2; + + #define _Fading _Params.x + #define _Amount _Params.y + #define _Speed _Params.z + #define _CenterFading _Params.w + #define _TimeX _Params2.x + #define _AmountR _Params2.y + #define _AmountB _Params2.z + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= lerp(1, distance, _CenterFading); + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmount * _AmountR, uv.y)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x - splitAmount * _AmountB, uv.y)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + half4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= _Fading * _Amount; + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x , uv.y + splitAmount * _AmountR)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, uv.y - splitAmount * _AmountB)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + half4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + float2 uv = i.texcoord.xy; + half time = _TimeX * 6 * _Speed; + half splitAmount = (1.0 + sin(time)) * 0.5; + splitAmount *= 1.0 + sin(time * 2) * 0.5; + splitAmount = pow(splitAmount, 3.0); + splitAmount *= 0.05; + float distance = length(uv - float2(0.5, 0.5)); + splitAmount *= _Fading * _Amount; + splitAmount *= _Fading * _Amount; + + float splitAmountR = splitAmount * _AmountR; + float splitAmountB = splitAmount * _AmountB; + + half3 colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountR, uv.y + splitAmountR)).rgb; + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + half3 colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x - splitAmountB, uv.y - splitAmountB)).rgb; + + half3 splitColor = half3(colorR.r, sceneColor.g, colorB.b); + half3 finalColor = lerp(sceneColor.rgb, splitColor, _Fading); + + return half4(finalColor, 1.0); + + } + + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta new file mode 100644 index 00000000..6c308575 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplit/Shader/GlitchRGBSplit.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c4f11d361f9ff474e9dae943e23b19f2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta new file mode 100644 index 00000000..b4a76f2d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eed911b660cfef047919ac5f48a173b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta new file mode 100644 index 00000000..d61a6746 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3add0b65c3d5f2843a5353891bb28d42 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs new file mode 100644 index 00000000..b01373c2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV2))] + public sealed class GlitchRGBSplitV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride SplitDirection; + SerializedParameterOverride Amount; + SerializedParameterOverride Amplitude; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + Amount = FindParameterOverride(x => x.Amount); + SplitDirection = FindParameterOverride(x => x.SplitDirection); + Amplitude = FindParameterOverride(x => x.Amplitude); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Amplitude); + PropertyField(Speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta new file mode 100644 index 00000000..d1f9b530 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Editor/GlitchRGBSplitV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 49738173328c8f541a40e234213d2483 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs new file mode 100644 index 00000000..d7b18d27 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs @@ -0,0 +1,81 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV2")] + public class GlitchRGBSplitV2 : PostProcessEffectSettings + { + public GlitchRGBSplitDirectionParameter SplitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter Amount = new FloatParameter { value = 0.5f }; + + [Range(1.0f, 6.0f)] + public FloatParameter Amplitude = new FloatParameter { value = 3.0f }; + + [Range(0.0f, 2.0f)] + public FloatParameter Speed = new FloatParameter { value = 1f }; + + } + + public sealed class GlitchRGBSplitV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV2"; + private Shader shader; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(TimeX * settings.Speed, settings.Amount, settings.Amplitude )); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta new file mode 100644 index 00000000..c88db856 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/GlitchRGBSplitV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c43c449d260f2ae4ab6bf0023581726e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md new file mode 100644 index 00000000..1c6c4343 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV2 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV2.shader) +- [C# Code](GlitchRGBSplitV2.cs) +- [Editor Code](Editor/GlitchRGBSplitV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV2/GlitchRGBSplitV2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta new file mode 100644 index 00000000..85a181fb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 993cd8506877ba64ba0fd99a8d9afe6e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta new file mode 100644 index 00000000..3af02590 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1cfbf10c6834194e9aff8906d37f30a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader new file mode 100644 index 00000000..f5e9517f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader @@ -0,0 +1,123 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half3 _Params; + + #define _TimeX _Params.x + #define _Amount _Params.y + #define _Amplitude _Params.z + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x + splitAmout, i.texcoord.y)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x - splitAmout, i.texcoord.y)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x , i.texcoord.y +splitAmout)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x, i.texcoord.y - splitAmout)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + half4 Frag_Vertical_Horizontal(VaryingsDefault i) : SV_Target + { + float splitAmout = (1.0 + sin(_TimeX * 6.0)) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 16.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 19.0) * 0.5; + splitAmout *= 1.0 + sin(_TimeX * 27.0) * 0.5; + splitAmout = pow(splitAmout, _Amplitude); + splitAmout *= (0.05 * _Amount); + + half3 finalColor; + finalColor.r = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x+splitAmout, i.texcoord.y + splitAmout)).r; + finalColor.g = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).g; + finalColor.b = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, fixed2(i.texcoord.x - splitAmout, i.texcoord.y + splitAmout)).b; + + finalColor *= (1.0 - splitAmout * 0.5); + + return half4(finalColor, 1.0); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical_Horizontal + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta new file mode 100644 index 00000000..432ee1ea --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV2/Shader/GlitchRGBSplitV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6972fcd385182cb428f8ce05b3e13299 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta new file mode 100644 index 00000000..ec721fc4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 654ff46888067634ebfb666fb2c0ea88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta new file mode 100644 index 00000000..07571a63 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddb3405cc2accfa42bb51acd8b4b38c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs new file mode 100644 index 00000000..8970392e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV3))] + public sealed class GlitchRGBSplitV3Editor : PostProcessEffectEditor + { + + SerializedParameterOverride SplitDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride Frequency; + SerializedParameterOverride Amount; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + SplitDirection = FindParameterOverride(x => x.SplitDirection); + intervalType = FindParameterOverride(x => x.intervalType); + Frequency = FindParameterOverride(x => x.Frequency); + Amount = FindParameterOverride(x => x.Amount); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("split Direction"); + PropertyField(SplitDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(Frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amount); + PropertyField(Speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta new file mode 100644 index 00000000..a8475032 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Editor/GlitchRGBSplitV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 678a646a249e8f4458d72584171cfe23 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs new file mode 100644 index 00000000..2555af06 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs @@ -0,0 +1,106 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + public sealed class DirectionEXParameter : ParameterOverride { } + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV3")] + public class GlitchRGBSplitV3 : PostProcessEffectSettings + { + public DirectionEXParameter SplitDirection = new DirectionEXParameter { value = DirectionEX.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0.1f, 25f)] + public FloatParameter Frequency = new FloatParameter { value = 3f }; + + + [Range(0f, 200f)] + public FloatParameter Amount = new FloatParameter { value = 30f }; + + [Range(0f, 15f)] + public FloatParameter Speed = new FloatParameter { value = 20f }; + } + + public sealed class GlitchRGBSplitV3Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV3"; + private Shader shader; + private float randomFrequency; + private int frameCount = 0; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + UpdateFrequency(sheet); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.Frequency + , settings.Amount, settings.Speed)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.SplitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + if (frameCount > settings.Frequency) + { + + frameCount = 0; + randomFrequency = UnityEngine.Random.Range(0, settings.Frequency); + } + frameCount++; + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_Frequency_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_Frequency_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta new file mode 100644 index 00000000..676732be --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/GlitchRGBSplitV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c09d3e32bcc8eaa44b4f64de81d15ed3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md new file mode 100644 index 00000000..e6483e6f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV3 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV3.shader) +- [C# Code](GlitchRGBSplitV3.cs) +- [Editor Code](Editor/GlitchRGBSplitV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV3/GlitchRGBSplitV3.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta new file mode 100644 index 00000000..b9ea8f36 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de6132695222f52409cc41600546093b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta new file mode 100644 index 00000000..7867fe3d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a53361aa5fe8e464fbd8b1b3a2ffaef3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader new file mode 100644 index 00000000..c036d43f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader @@ -0,0 +1,154 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + #pragma shader_feature USING_Frequency_INFINITE + + half3 _Params; + #define _Frequency _Params.x + #define _Amount _Params.y + #define _Speed _Params.z + + + float4 RGBSplit_Horizontal(float2 uv, float Amount, float time) + { + Amount *= 0.001; + float3 splitAmountX = float3(uv.x, uv.x, uv.x); + splitAmountX.r += sin(time * 0.2) * Amount; + splitAmountX.g += sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.r, uv.y)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.g, uv.y)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(splitAmountX.b, uv.y)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + float4 RGBSplit_Vertical(float2 uv, float Amount, float time) + { + Amount *= 0.001; + float3 splitAmountY = float3(uv.y, uv.y, uv.y); + splitAmountY.r += sin(time * 0.2) * Amount; + splitAmountY.g += sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.r)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.g)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x, splitAmountY.b)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + float4 RGBSplit_Horizontal_Vertical(float2 uv, float Amount, float time) + { + Amount *= 0.001; + //float3 splitAmount = float3(uv.y, uv.y, uv.y); + float splitAmountR= sin(time * 0.2) * Amount; + float splitAmountG= sin(time * 0.1) * Amount; + half4 splitColor = half4(0.0, 0.0, 0.0, 0.0); + splitColor.r = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountR,uv.y +splitAmountR)).rgb).x; + splitColor.g = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x , uv.y)).rgb).y; + splitColor.b = (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv.x + splitAmountG, uv.y + splitAmountG)).rgb).z; + splitColor.a = 1; + return splitColor; + } + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Horizontal(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Vertical(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + + } + + float4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + half strength = 0; + #if USING_Frequency_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + half3 color = RGBSplit_Horizontal_Vertical(i.texcoord.xy, _Amount * strength, _Time.y * _Speed).rgb; + + return half4(color, 1); + + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta new file mode 100644 index 00000000..9de2e74f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV3/Shader/GlitchRGBSplitV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14b9c4fe8ceed5c4bbdcbbaffe934f3e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta new file mode 100644 index 00000000..d21be1f6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 79e42a3e1c745f34490d732b265d7237 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta new file mode 100644 index 00000000..81c96c05 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 57b73f905717d1944ae12f22c4bf2574 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs new file mode 100644 index 00000000..ac9ad472 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs @@ -0,0 +1,52 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV4))] + public sealed class GlitchRGBSplitV4Editor : PostProcessEffectEditor + { + SerializedParameterOverride splitDirection; + SerializedParameterOverride indensity; + SerializedParameterOverride speed; + + + public override void OnEnable() + { + splitDirection = FindParameterOverride(x => x.splitDirection); + indensity = FindParameterOverride(x => x.indensity); + speed = FindParameterOverride(x => x.speed); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Split Direction"); + PropertyField(splitDirection); + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(indensity); + PropertyField(speed); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta new file mode 100644 index 00000000..0e5d1965 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Editor/GlitchRGBSplitV4Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f7c3cfaffff4bd348b8dd6bb52f855d7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs new file mode 100644 index 00000000..3f1bed5d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs @@ -0,0 +1,80 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV4Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV4")] + public class GlitchRGBSplitV4 : PostProcessEffectSettings + { + + public GlitchRGBSplitDirectionParameter splitDirection = new GlitchRGBSplitDirectionParameter { value = DirectionEX.Horizontal }; + + [Range(-1.0f, 1.0f)] + public FloatParameter indensity = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 100.0f)] + public FloatParameter speed = new FloatParameter { value = 10.0f }; + + } + + public sealed class GlitchRGBSplitV4Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchRGBSplitV4"; + private Shader shader; + private float randomFrequency; + private float TimeX = 1.0f; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV4"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + TimeX += Time.deltaTime; + if (TimeX > 100) + { + TimeX = 0; + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.indensity * 0.1f, Mathf.Floor(TimeX * settings.speed))); + + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.splitDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta new file mode 100644 index 00000000..d8d6413a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/GlitchRGBSplitV4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d0a9d798787c2946a11f9117f197196 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md new file mode 100644 index 00000000..d8263d31 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV4 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV4.shader) +- [C# Code](GlitchRGBSplitV4.cs) +- [Editor Code](Editor/GlitchRGBSplitV4Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV4/GlitchRGBSplitV4.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta new file mode 100644 index 00000000..b0ec6602 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f35dd290ab25a4741aed947fec02554a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta new file mode 100644 index 00000000..7ffb74ef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2464704f7ce906746a04ac744ee3d1b4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader new file mode 100644 index 00000000..9910e328 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader @@ -0,0 +1,106 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV4" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + + + uniform half2 _Params; + + #define _Indensity _Params.x + #define _TimeX _Params.y + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(12.9898, 78.233))) * 43758.5453); + } + + half4 Frag_Horizontal(VaryingsDefault i) : SV_Target + { + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x + splitAmount, i.texcoord.y)); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x - splitAmount, i.texcoord.y)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + half4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, i.texcoord.y + splitAmount)); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, i.texcoord.y - splitAmount)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + half4 Frag_Horizontal_Vertical(VaryingsDefault i) : SV_Target + { + + float splitAmount = _Indensity * randomNoise(_TimeX, 2); + + half4 ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x + splitAmount, i.texcoord.y + splitAmount)); + half4 ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x - splitAmount, i.texcoord.y - splitAmount)); + + return half4(ColorR.r, ColorG.g, ColorB.b, 1); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta new file mode 100644 index 00000000..6ac6d78d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV4/Shader/GlitchRGBSplitV4.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc619b27bade60c43afd6998c42c3c8e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta new file mode 100644 index 00000000..574a4682 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f178c01485e87d43abf103a4c6385f2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta new file mode 100644 index 00000000..cab3d0ad --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d3b2522f9f3261042b90039857ee1909 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs new file mode 100644 index 00000000..4856fe62 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs @@ -0,0 +1,49 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchRGBSplitV5))] + public sealed class GlitchRGBSplitV5Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Amplitude; + SerializedParameterOverride Speed; + + + public override void OnEnable() + { + Amplitude = FindParameterOverride(x => x.Amplitude); + Speed = FindParameterOverride(x => x.Speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(Amplitude); + PropertyField(Speed); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta new file mode 100644 index 00000000..5d926e90 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Editor/GlitchRGBSplitV5Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b2e255fe0a994c84b8971c48d19acd69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs new file mode 100644 index 00000000..4f1ee548 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchRGBSplitV5Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/RGBSplitV5")] + public class GlitchRGBSplitV5 : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter Amplitude = new FloatParameter { value = 3f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Speed = new FloatParameter { value = 0.1f }; + + } + + public sealed class GlitchRGBSplitV5Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchRGBSplitV5"; + private Shader shader; + private Texture2D NoiseTex; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/RGBSplitV5"); + NoiseTex = Resources.Load("X-Noise256") as Texture2D; + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int NoiseTex = Shader.PropertyToID("_NoiseTex"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.Amplitude, settings.Speed)); + if (NoiseTex != null) + { + sheet.properties.SetTexture(ShaderIDs.NoiseTex, NoiseTex); + } + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta new file mode 100644 index 00000000..949778e0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/GlitchRGBSplitV5.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e9ef3f5264488414c87b632cd2509b40 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md new file mode 100644 index 00000000..a5ff9c8b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md @@ -0,0 +1,17 @@ + +# GlitchRGBSplitV5 + +## Source Code List +- [Shader Code](Shader/GlitchRGBSplitV5.shader) +- [C# Code](GlitchRGBSplitV5.cs) +- [Editor Code](Editor/GlitchRGBSplitV5Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchRGBSplitV5/GlitchRGBSplitV5.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta new file mode 100644 index 00000000..c04095ac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e05d13143c2bafa46baaf2e3c7acc598 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta new file mode 100644 index 00000000..25535605 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f35d20eb88d4cff4a9bc7cb84988f593 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader new file mode 100644 index 00000000..b222b88e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/RGBSplitV5" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + + TEXTURE2D_SAMPLER2D(_NoiseTex, sampler_NoiseTex); + + uniform half2 _Params; + #define _Amplitude _Params.x + #define _Speed _Params.y + + + inline float4 Pow4(float4 v, float p) + { + return float4(pow(v.x, p), pow(v.y, p), pow(v.z, p), v.w); + } + + inline float4 Noise(float2 p) + { + return SAMPLE_TEXTURE2D(_NoiseTex, sampler_NoiseTex, p); + } + + half4 Frag(VaryingsDefault i): SV_Target + { + float4 splitAmount = Pow4(Noise(float2(_Speed * _Time.y, 2.0 * _Speed * _Time.y / 25.0)), 8.0) * float4(_Amplitude, _Amplitude, _Amplitude, 1.0); + + splitAmount *= 2.0 * splitAmount.w - 1.0; + + half colorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.x, -splitAmount.y))).r; + half colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.y, -splitAmount.z))).g; + half colorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, (i.texcoord.xy + float2(splitAmount.z, -splitAmount.x))).b; + + half3 finalColor = half3(colorR, colorG, colorB); + return half4(finalColor,1); + + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta new file mode 100644 index 00000000..720dee35 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchRGBSplitV5/Shader/GlitchRGBSplitV5.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec29beb5e4727fe499df642d9702c960 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta new file mode 100644 index 00000000..3e3fe0be --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 56b001821ed4798449bcbc59f94be24c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta new file mode 100644 index 00000000..aa6b90c3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29499fae3e315cd409cc3c9aa4c33401 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs new file mode 100644 index 00000000..5a6c1eef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScanLineJitter))] + public sealed class GlitchScanLineJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride JitterDirection; + SerializedParameterOverride JitterIndensity; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + + public override void OnEnable() + { + JitterDirection = FindParameterOverride(x => x.JitterDirection); + JitterIndensity = FindParameterOverride(x => x.JitterIndensity); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Jitter Direction"); + PropertyField(JitterDirection); + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + PropertyField(frequency); + EditorUtilities.DrawHeaderLabel("Jitter Property"); + PropertyField(JitterIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta new file mode 100644 index 00000000..8dd9dcc5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Editor/GlitchScanLineJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 71ebef5cf15b6e34a8ac6bf872edb64c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs new file mode 100644 index 00000000..a910f46a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + public sealed class DirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScanLineJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScanLineJitter")] + public class GlitchScanLineJitter : PostProcessEffectSettings + { + + public DirectionParameter JitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + + [Range(0.0f, 1.0f)] + public FloatParameter JitterIndensity = new FloatParameter { value = 0.1f }; + + } + + public sealed class GlitchScanLineJitterRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-GlitchScanLineJitter"; + private Shader shader; + private float randomFrequency; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScanLineJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int JitterIndensity = Shader.PropertyToID("_ScanLineJitter"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + float displacement = 0.005f + Mathf.Pow(settings.JitterIndensity, 3) * 0.1f; + float threshold = Mathf.Clamp01(1.0f - settings.JitterIndensity * 1.2f); + + //sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.amount, settings.speed, ); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(displacement, threshold, settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.JitterDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta new file mode 100644 index 00000000..a49eacc6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/GlitchScanLineJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 29f414c45c95c4c4fab1fba6f7db9a44 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md new file mode 100644 index 00000000..c935e06f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md @@ -0,0 +1,18 @@ + +# GlitchScanLineJitter + +## Source Code List +- [Shader Code](Shader/GlitchScanLineJitter.shader) +- [C# Code](GlitchScanLineJitter.cs) +- [Editor Code](Editor/GlitchScanLineJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter.gif) + + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScanLineJitter/GlitchScanLineJitter-2.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta new file mode 100644 index 00000000..653fa96b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80b10ff4622ed0743a9d83e239a4e27b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta new file mode 100644 index 00000000..ea923238 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f4dc2f5731d75242983e84a76139633 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader new file mode 100644 index 00000000..e508fa85 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader @@ -0,0 +1,99 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScanLineJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half3 _Params; + #define _Amount _Params.x + #define _Threshold _Params.y + #define _Frequency _Params.z + + + + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(12.9898, 78.233))) * 43758.5453); + } + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + + float jitter = randomNoise(i.texcoord.y, _Time.x) * 2 - 1; + jitter *= step(_Threshold, abs(jitter)) * _Amount * strength; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(i.texcoord + float2(jitter, 0))); + + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + half strength = 0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + float jitter = randomNoise(i.texcoord.x, _Time.x) * 2 - 1; + jitter *= step(_Threshold, abs(jitter)) * _Amount * strength; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(i.texcoord + float2(0, jitter))); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta new file mode 100644 index 00000000..f094d36d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScanLineJitter/Shader/GlitchScanLineJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39df4d97db7425a48b5273e099477a66 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta new file mode 100644 index 00000000..1f1924cc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7bb013d662849c64e8381103cf4f7bc1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta new file mode 100644 index 00000000..5ac8ec3c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d4b9c3314393073438ebeda100d107b5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs new file mode 100644 index 00000000..725634e9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScreenJump))] + public sealed class GlitchScreenJumpEditor : PostProcessEffectEditor + { + + SerializedParameterOverride ScreenJumpDirection; + SerializedParameterOverride ScreenJumpIndensity; + + + public override void OnEnable() + { + ScreenJumpDirection = FindParameterOverride(x => x.ScreenJumpDirection); + ScreenJumpIndensity = FindParameterOverride(x => x.ScreenJumpIndensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(ScreenJumpDirection); + PropertyField(ScreenJumpIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta new file mode 100644 index 00000000..b9169744 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Editor/GlitchScreenJumpEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f70205e5e284de241a91ed41ebbff3c5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs new file mode 100644 index 00000000..ca6e958c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs @@ -0,0 +1,68 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchScreenJumpDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScreenJumpRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScreenJump", false)] + public class GlitchScreenJump : PostProcessEffectSettings + { + public GlitchScreenJumpDirectionParameter ScreenJumpDirection = new GlitchScreenJumpDirectionParameter { value = Direction.Vertical }; + + [Range(0.0f, 1.0f)] + public FloatParameter ScreenJumpIndensity= new FloatParameter { value = 0.35f }; + + + } + + public sealed class GlitchScreenJumpRenderer : PostProcessEffectRenderer + { + private Shader shader; + + float ScreenJumpTime; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScreenJump"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + PropertySheet sheet = context.propertySheets.Get(shader); + + ScreenJumpTime += Time.deltaTime * settings.ScreenJumpIndensity * 9.8f; + + Vector2 ScreenJumpVector = new Vector2(settings.ScreenJumpIndensity, ScreenJumpTime); + + sheet.properties.SetVector(ShaderIDs.Params, ScreenJumpVector); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.ScreenJumpDirection.value); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta new file mode 100644 index 00000000..2be417c0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/GlitchScreenJump.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2116fb4751a1a3046a3bae7177ecc731 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md new file mode 100644 index 00000000..ff2819f7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md @@ -0,0 +1,19 @@ + +# GlitchScreenJump + +## Source Code List +- [Shader Code](Shader/GlitchScreenJump.shader) +- [C# Code](GlitchScreenJump.cs) +- [Editor Code](Editor/GlitchScreenJumpEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenJump/GlitchScreenJump.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta new file mode 100644 index 00000000..a4f50dad --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4cd866748c212c3488fffd46c8cfab27 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta new file mode 100644 index 00000000..25c2718c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3aa348dbef64ba641ba81df10b0c3d33 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader new file mode 100644 index 00000000..da77d356 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader @@ -0,0 +1,67 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScreenJump" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half2 _Params; // x: indensity , y : time + #define _JumpIndensity _Params.x + #define _JumpTime _Params.y + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float jump = lerp(i.texcoord.x, frac(i.texcoord.x + _JumpTime), _JumpIndensity); + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(jump, i.texcoord.y))); + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float jump = lerp(i.texcoord.y, frac(i.texcoord.y + _JumpTime), _JumpIndensity); + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x, jump))); + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta new file mode 100644 index 00000000..f854dc4a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenJump/Shader/GlitchScreenJump.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d20ddbcdba6cbc499aef6869b23b9f9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta new file mode 100644 index 00000000..45120ae5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbb31158a8732e14880d4dc8690ad3a3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta new file mode 100644 index 00000000..6150d5d5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 53d267350d3c5c147adb7d17f3e2ab71 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs new file mode 100644 index 00000000..21637881 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchScreenShake))] + public sealed class GlitchScreenShakeEditor : PostProcessEffectEditor + { + + SerializedParameterOverride ScreenShakeDirection; + SerializedParameterOverride ScreenShakeIndensity; + + + public override void OnEnable() + { + ScreenShakeDirection = FindParameterOverride(x => x.ScreenShakeDirection); + ScreenShakeIndensity = FindParameterOverride(x => x.ScreenShakeIndensity); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(ScreenShakeDirection); + PropertyField(ScreenShakeIndensity); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta new file mode 100644 index 00000000..cd0d87c5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Editor/GlitchScreenShakeEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a03266d409455a42896fe7585bf1630 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs new file mode 100644 index 00000000..feb7b0b3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs @@ -0,0 +1,60 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + [Serializable] + public sealed class GlitchScreenShakeDirectionParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(GlitchScreenShakeRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/ScreenShake")] + public class GlitchScreenShake : PostProcessEffectSettings + { + public GlitchScreenShakeDirectionParameter ScreenShakeDirection = new GlitchScreenShakeDirectionParameter { value = Direction.Horizontal }; + + [Range(0.0f, 1.0f)] + public FloatParameter ScreenShakeIndensity = new FloatParameter { value = 0.5f }; + } + + public sealed class GlitchScreenShakeRenderer : PostProcessEffectRenderer + { + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/ScreenShake"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int ScreenShakeIndensity = Shader.PropertyToID("_ScreenShake"); + } + + public override void Render(PostProcessRenderContext context) + { + PropertySheet sheet = context.propertySheets.Get(shader); + + sheet.properties.SetFloat(ShaderIDs.ScreenShakeIndensity, settings.ScreenShakeIndensity * 0.25f); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.ScreenShakeDirection.value); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta new file mode 100644 index 00000000..11b1acb7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/GlitchScreenShake.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 123fa084c891c3641894d7fdb6b461ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md new file mode 100644 index 00000000..0c1b8801 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md @@ -0,0 +1,19 @@ + +# GlitchScreenShake + +## Source Code List +- [Shader Code](Shader/GlitchScreenShake.shader) +- [C# Code](GlitchScreenShake.cs) +- [Editor Code](Editor/GlitchScreenShakeEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchScreenShake/GlitchScreenShake.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta new file mode 100644 index 00000000..3dbfcf2c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bfc8da7f7a5e08b4f9230c3494aa22de +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta new file mode 100644 index 00000000..7f7d1a44 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66b6af034a26dde4aac67310bfdce3bc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader new file mode 100644 index 00000000..cfe52f4e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader @@ -0,0 +1,77 @@ + + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/ScreenShake" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _ScreenShake; + + + float randomNoise(float x, float y) + { + return frac(sin(dot(float2(x, y), float2(127.1, 311.7))) * 43758.5453); + } + + + half4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float shake = (randomNoise(_Time.x, 2) - 0.5) * _ScreenShake; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x + shake, i.texcoord.y))); + + return sceneColor; + } + + half4 Frag_Vertical(VaryingsDefault i): SV_Target + { + + float shake = (randomNoise(_Time.x, 2) - 0.5) * _ScreenShake; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, frac(float2(i.texcoord.x, i.texcoord.y + shake))); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta new file mode 100644 index 00000000..0b283be6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchScreenShake/Shader/GlitchScreenShake.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97b10aaa5b0db094da3089877e97b62f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta new file mode 100644 index 00000000..2ea32191 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0853328ff4c6c9418030567eef23075 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta new file mode 100644 index 00000000..c07c35d2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26bc7f19edee99d46ab6e3e4a8cb1bfa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs new file mode 100644 index 00000000..92cd5b9f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchTileJitter))] + public sealed class GlitchTileJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride jitterDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride splittingDirection; + SerializedParameterOverride splittingNumber; + SerializedParameterOverride amount; + SerializedParameterOverride speed; + + public override void OnEnable() + { + + jitterDirection = FindParameterOverride(x => x.jitterDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + splittingNumber = FindParameterOverride(x => x.splittingNumber); + splittingDirection = FindParameterOverride(x => x.splittingDirection); + amount = FindParameterOverride(x => x.amount); + speed = FindParameterOverride(x => x.speed); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Splitting Property"); + PropertyField(splittingDirection); + PropertyField(splittingNumber); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Jitter Property"); + PropertyField(jitterDirection); + PropertyField(amount); + PropertyField(speed); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta new file mode 100644 index 00000000..4495b30d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Editor/GlitchTileJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4a886ec2591827042a92ef7c79d81da8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs new file mode 100644 index 00000000..fd6df942 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs @@ -0,0 +1,111 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchTileJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/TileJitter")] + public class GlitchTileJitter : PostProcessEffectSettings + { + + public DirectionParameter jitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 25f)] + public FloatParameter frequency = new FloatParameter { value = 1f }; + + public DirectionParameter splittingDirection = new DirectionParameter { value = Direction.Vertical }; + + [Range(0f, 50f)] + public FloatParameter splittingNumber = new FloatParameter { value = 5f }; + + [Range(0f, 100f)] + public FloatParameter amount = new FloatParameter { value = 10f }; + + [Range(0f, 1f)] + public FloatParameter speed = new FloatParameter { value = 0.35f }; + } + + public sealed class GlitchTileJitterRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchTileJitter"; + private Shader shader; + private float randomFrequency; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/TileJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + if (settings.jitterDirection.value == Direction.Horizontal) + { + sheet.EnableKeyword("JITTER_DIRECTION_HORIZONTAL"); + } + else + { + sheet.DisableKeyword("JITTER_DIRECTION_HORIZONTAL"); + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.splittingNumber, settings.amount, settings.speed * 100f, + settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.splittingDirection.value == Direction.Horizontal ? 0 : 1); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta new file mode 100644 index 00000000..ae85b50b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/GlitchTileJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b051772227976074286eb77ae478e460 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md new file mode 100644 index 00000000..df976f75 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md @@ -0,0 +1,23 @@ + +# GlitchTileJitter + +## Source Code List +- [Shader Code](Shader/GlitchTileJitter.shader) +- [C# Code](GlitchTileJitter.cs) +- [Editor Code](Editor/GlitchTileJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter-4.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchTileJitter/GlitchTileJitter.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta new file mode 100644 index 00000000..55b76bbf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6456b609535b7314aad02b011cda7c4a +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta new file mode 100644 index 00000000..e8794b66 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9cf0fe55a14bfc84a991dc80010b1180 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader new file mode 100644 index 00000000..69527f72 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader @@ -0,0 +1,118 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/TileJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + #pragma shader_feature JITTER_DIRECTION_HORIZONTAL + #pragma shader_feature USING_FREQUENCY_INFINITE + + + uniform half4 _Params; + + #define _SplittingNumber _Params.x + #define _JitterAmount _Params.y + #define _JitterSpeed _Params.z + #define _Frequency _Params.w + + + float randomNoise(float2 c) + { + return frac(sin(dot(c.xy, float2(12.9898, 78.233))) * 43758.5453); + } + + float4 Frag_Vertical(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + half strength = 1.0; + half pixelSizeX = 1.0 / _ScreenParams.x; + + // --------------------------------Prepare Jitter UV-------------------------------- + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + + if (fmod(uv.x * _SplittingNumber, 2) < 1.0) + { + #if JITTER_DIRECTION_HORIZONTAL + uv.x += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #else + uv.y += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #endif + } + + // -------------------------------Final Sample------------------------------ + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + return sceneColor; + } + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + float2 uv = i.texcoord.xy; + half strength = 1.0; + half pixelSizeX = 1.0 / _ScreenParams.x; + + // --------------------------------Prepare Jitter UV-------------------------------- + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + if(fmod(uv.y * _SplittingNumber, 2) < 1.0) + { + #if JITTER_DIRECTION_HORIZONTAL + uv.x += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #else + uv.y += pixelSizeX * cos(_Time.y * _JitterSpeed) * _JitterAmount * strength; + #endif + } + + // -------------------------------Final Sample------------------------------ + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta new file mode 100644 index 00000000..ddf5d450 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchTileJitter/Shader/GlitchTileJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec4930f48d49c714e9564c7ab8bbdafd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta new file mode 100644 index 00000000..96ee58c8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a2d8244333bbe5e4ebcabca1ae310a06 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta new file mode 100644 index 00000000..7a885862 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7278af6254ae46543be71a02d1c74fca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs new file mode 100644 index 00000000..c58670d1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs @@ -0,0 +1,80 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GlitchWaveJitter))] + public sealed class GlitchWaveJitterEditor : PostProcessEffectEditor + { + + SerializedParameterOverride jitterDirection; + SerializedParameterOverride intervalType; + SerializedParameterOverride frequency; + SerializedParameterOverride RGBSplit; + SerializedParameterOverride speed; + SerializedParameterOverride amount; + SerializedParameterOverride customResolution; + SerializedParameterOverride resolution; + + + public override void OnEnable() + { + jitterDirection = FindParameterOverride(x => x.jitterDirection); + intervalType = FindParameterOverride(x => x.intervalType); + frequency = FindParameterOverride(x => x.frequency); + RGBSplit = FindParameterOverride(x => x.RGBSplit); + speed = FindParameterOverride(x => x.speed); + amount = FindParameterOverride(x => x.amount); + customResolution = FindParameterOverride(x => x.customResolution); + resolution = FindParameterOverride(x => x.resolution); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("Jitter Direction"); + PropertyField(jitterDirection); + + EditorUtilities.DrawHeaderLabel("Interval Frequency"); + PropertyField(intervalType); + + if (intervalType.value.enumValueIndex != (int)IntervalType.Infinite) + { + PropertyField(frequency); + } + + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(RGBSplit); + PropertyField(speed); + PropertyField(amount); + + EditorUtilities.DrawHeaderLabel("Custom Jitter Resolution"); + PropertyField(customResolution); + PropertyField(resolution); + + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta new file mode 100644 index 00000000..1390cc5e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Editor/GlitchWaveJitterEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 761468cf43b9a3b4a928aa67400fc8ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs new file mode 100644 index 00000000..0ed43a1b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs @@ -0,0 +1,108 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GlitchWaveJitterRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Glitch/WaveJitter")] + public class GlitchWaveJitter : PostProcessEffectSettings + { + + public DirectionParameter jitterDirection = new DirectionParameter { value = Direction.Horizontal }; + + public IntervalTypeParameter intervalType = new IntervalTypeParameter { value = IntervalType.Random }; + + [Range(0f, 50f)] + public FloatParameter frequency = new FloatParameter { value = 5f }; + + [Range(0f, 50f)] + public FloatParameter RGBSplit = new FloatParameter { value = 20f }; + + [Range(0f, 1f)] + public FloatParameter speed = new FloatParameter { value = 0.25f }; + + [Range(0f, 2f)] + public FloatParameter amount = new FloatParameter { value = 1f }; + + public BoolParameter customResolution = new BoolParameter { value = false }; + + public Vector2Parameter resolution = new Vector2Parameter { value = new Vector2(640f, 480f) }; + } + + public sealed class GlitchWaveJitterRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GlitchWaveJitter"; + private Shader shader; + private float randomFrequency; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/Glitch/WaveJitter"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Resolution = Shader.PropertyToID("_Resolution"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + UpdateFrequency(sheet); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.intervalType.value == IntervalType.Random ? randomFrequency : settings.frequency + , settings.RGBSplit, settings.speed, settings.amount)); + sheet.properties.SetVector(ShaderIDs.Resolution, settings.customResolution ? settings.resolution : new Vector2(Screen.width, Screen.height)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.jitterDirection.value); + cmd.EndSample(PROFILER_TAG); + } + + + void UpdateFrequency(PropertySheet sheet) + { + if (settings.intervalType.value == IntervalType.Random) + { + randomFrequency = UnityEngine.Random.Range(0, settings.frequency); + } + + if (settings.intervalType.value == IntervalType.Infinite) + { + sheet.EnableKeyword("USING_FREQUENCY_INFINITE"); + } + else + { + sheet.DisableKeyword("USING_FREQUENCY_INFINITE"); + } + } + + + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta new file mode 100644 index 00000000..911f387f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/GlitchWaveJitter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 437ed09078437c940ba8a7c1c241cbfc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md new file mode 100644 index 00000000..f7a8ed25 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md @@ -0,0 +1,19 @@ + +# GlitchWaveJitter + +## Source Code List +- [Shader Code](Shader/GlitchWaveJitter.shader) +- [C# Code](GlitchWaveJitter.cs) +- [Editor Code](Editor/GlitchWaveJitterEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter-2.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter-3.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Glitch/GlitchWaveJitter/GlitchWaveJitter.gif) diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta new file mode 100644 index 00000000..f8887189 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: dad715cd6cfd63b43863b4e9f7c5a411 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta new file mode 100644 index 00000000..05a60adc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 121934a5cdb58ed4194e89d676e834f0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader new file mode 100644 index 00000000..43b61d36 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader @@ -0,0 +1,109 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/Glitch/WaveJitter" +{ + HLSLINCLUDE + + #include "../../../Shaders/XPostProcessing.hlsl" + #include "../../../Shaders/XNoiseLibrary.hlsl" + + #pragma shader_feature USING_FREQUENCY_INFINITE + + uniform half4 _Params; + half2 _Resolution; + + #define _Frequency _Params.x + #define _RGBSplit _Params.y + #define _Speed _Params.z + #define _Amount _Params.w + + + float4 Frag_Horizontal(VaryingsDefault i): SV_Target + { + half strength = 0.0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 *cos(_Time.y * _Frequency); + #endif + + // Prepare UV + float uv_y = i.texcoord.y * _Resolution.y; + float noise_wave_1 = snoise(float2(uv_y * 0.01, _Time.y * _Speed * 20)) * (strength * _Amount * 32.0); + float noise_wave_2 = snoise(float2(uv_y * 0.02, _Time.y * _Speed * 10)) * (strength * _Amount * 4.0); + float noise_wave_x = noise_wave_1 * noise_wave_2 / _Resolution.x; + float uv_x = i.texcoord.x + noise_wave_x; + + float rgbSplit_uv_x = (_RGBSplit * 50 + (20.0 * strength + 1.0)) * noise_wave_x / _Resolution.x; + + // Sample RGB Color- + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv_x, i.texcoord.y)); + half4 colorRB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(uv_x + rgbSplit_uv_x, i.texcoord.y)); + + return half4(colorRB.r, colorG.g, colorRB.b, colorRB.a + colorG.a); + } + + float4 Frag_Vertical(VaryingsDefault i) : SV_Target + { + half strength = 0.0; + #if USING_FREQUENCY_INFINITE + strength = 1; + #else + strength = 0.5 + 0.5 * cos(_Time.y * _Frequency); + #endif + + // Prepare UV + float uv_x = i.texcoord.x * _Resolution.x; + float noise_wave_1 = snoise(float2(uv_x * 0.01, _Time.y * _Speed * 20)) * (strength * _Amount * 32.0); + float noise_wave_2 = snoise(float2(uv_x * 0.02, _Time.y * _Speed * 10)) * (strength * _Amount * 4.0); + float noise_wave_y = noise_wave_1 * noise_wave_2 / _Resolution.x; + float uv_y = i.texcoord.y + noise_wave_y; + + float rgbSplit_uv_y = (_RGBSplit * 50 + (20.0 * strength + 1.0)) * noise_wave_y / _Resolution.y; + + // Sample RGB Color + half4 colorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, uv_y)); + half4 colorRB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord.x, uv_y + rgbSplit_uv_y)); + + return half4(colorRB.r, colorG.g, colorRB.b, colorRB.a + colorG.a); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Horizontal + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_Vertical + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta new file mode 100644 index 00000000..e24034ce --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GlitchWaveJitter/Shader/GlitchWaveJitter.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90f6ed23485fdc84a876a48d3ac9dc57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur.meta b/Assets/X-PostProcessing/Effects/GrainyBlur.meta new file mode 100644 index 00000000..50b79d3a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 916caff2cb1b2f744b403efe229914e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta new file mode 100644 index 00000000..3c0b02fd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4701f9b1019a4a74386780f52784d926 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs new file mode 100644 index 00000000..5d5ebd07 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(GrainyBlur))] + public sealed class GrainyBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta new file mode 100644 index 00000000..324ab21a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Editor/GrainyBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d842428233057cf4f8435fb83b5e2ee3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs new file mode 100644 index 00000000..e0aa4a02 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs @@ -0,0 +1,88 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(GrainyBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/GrainyBlur")] + public class GrainyBlur : PostProcessEffectSettings + { + + [Range(0.0f, 50.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 5.0f }; + + [Range(1, 8)] + public IntParameter Iteration = new IntParameter { value = 4 }; + + [Range(1, 10)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1 }; + } + + public sealed class GrainyBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-GrainyBlur"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/GrainyBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BufferRT = Shader.PropertyToID("_BufferRT"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + if (settings.RTDownScaling > 1) + { + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT, RTWidth, RTHeight, 0, FilterMode.Bilinear); + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT); + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.BlurRadius / context.height, settings.Iteration)); + + if (settings.RTDownScaling > 1) + { + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT, context.destination, sheet, 0); + } + else + { + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + } + + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT); + cmd.EndSample(PROFILER_TAG); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta new file mode 100644 index 00000000..a5e3f6ef --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/GrainyBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 172b63b63bfdad04dbe149542c33a495 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/README.md b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md new file mode 100644 index 00000000..55e3fdc0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md @@ -0,0 +1,16 @@ + +# Grainy Blur + +## Source Code List +- [Shader Code](Shader/GrainyBlur.shader) +- [C# Code](GrainyBlur.cs) +- [Editor Code](Editor/GrainyBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/GrainyBlur/GrainyBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta new file mode 100644 index 00000000..5d027495 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 686239f4d5235574d9646dae7b5af651 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta new file mode 100644 index 00000000..4e0a8364 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ce358db33e83ad468cd68146f16fb7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader new file mode 100644 index 00000000..b3ea1119 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader @@ -0,0 +1,72 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/GrainyBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half2 _Params; + half _MainTex_ST; + + #define _BlurRadius _Params.x + #define _Iteration _Params.y + + + float Rand(float2 n) + { + return sin(dot(n, half2(1233.224, 1743.335))); + } + + half4 GrainyBlur(VaryingsDefault i) + { + half2 randomOffset = float2(0.0, 0.0); + half4 finalColor = half4(0.0, 0.0, 0.0, 0.0); + float random = Rand(i.texcoord); + + for (int k = 0; k < int(_Iteration); k ++) + { + random = frac(43758.5453 * random + 0.61432);; + randomOffset.x = (random - 0.5) * 2.0; + random = frac(43758.5453 * random + 0.61432); + randomOffset.y = (random - 0.5) * 2.0; + + finalColor += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, half2(i.texcoord + randomOffset * _BlurRadius)); + } + return finalColor / _Iteration; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return GrainyBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta new file mode 100644 index 00000000..92b62eba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/GrainyBlur/Shader/GrainyBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ddb77bd8cf7841c41b5104969f71ff8b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur.meta b/Assets/X-PostProcessing/Effects/IrisBlur.meta new file mode 100644 index 00000000..c7b00759 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c78c1ac533429f441bcf9d3a4c8c3ea2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta new file mode 100644 index 00000000..29ab18ae --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7431864dcaeb79498767dbcff54b4ee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs new file mode 100644 index 00000000..39f6f6dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(IrisBlur))] + public sealed class IrisBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride QualityLevel; + SerializedParameterOverride AreaSize; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + AreaSize = FindParameterOverride(x => x.AreaSize); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(QualityLevel); + PropertyField(AreaSize); + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta new file mode 100644 index 00000000..0408918c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Editor/IrisBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d1c0fde13a736d4ea203bcb850da633 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs new file mode 100644 index 00000000..37168417 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs @@ -0,0 +1,158 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + public enum IrisBlurQualityLevel + { + High_Quality = 0, + Normal_Quality = 1, + } + + [Serializable] + public sealed class IrisBlurQualityLevelParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(IrisBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/IrisBlur/IrisBlurV1")] + public class IrisBlur : PostProcessEffectSettings + { + public IrisBlurQualityLevelParameter QualityLevel = new IrisBlurQualityLevelParameter { value = IrisBlurQualityLevel.High_Quality }; + + [Range(0.0f, 1.0f)] + public FloatParameter AreaSize = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1.0f }; + + [Range(1,8)] + public IntParameter Iteration = new IntParameter { value = 2 }; + + [Range(1, 2)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + } + + public sealed class IrisBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-IrisBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/IrisBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BlurredTex = Shader.PropertyToID("_BlurredTex"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + if (settings.Iteration ==1) + { + HandleOneBlitBlur(context, cmd, sheet); + } + else + { + HandleMultipleIterationBlur(context, cmd, sheet, settings.Iteration); + } + + cmd.EndSample(PROFILER_TAG); + } + + void HandleOneBlitBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.AreaSize, settings.BlurRadius)); + + // Do Blit + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1, sheet, (int)settings.QualityLevel.value); + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, ShaderIDs.BufferRT1); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + } + + + void HandleMultipleIterationBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet, int Iteration) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params,new Vector2(settings.AreaSize, settings.BlurRadius)); + + RenderTargetIdentifier finalBlurID = ShaderIDs.BufferRT1; + RenderTargetIdentifier firstID = context.source; + RenderTargetIdentifier secondID = ShaderIDs.BufferRT1; + for (int i = 0; i < Iteration; i++) + { + // Do Blit + context.command.BlitFullscreenTriangle(firstID, secondID, sheet, (int)settings.QualityLevel.value); + + finalBlurID = secondID; + firstID = secondID; + secondID = (secondID == ShaderIDs.BufferRT1) ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1; + } + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, finalBlurID); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta new file mode 100644 index 00000000..ab3dd6e3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/IrisBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 28d1f2b869b5fb34fb422a9774832bf6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/README.md b/Assets/X-PostProcessing/Effects/IrisBlur/README.md new file mode 100644 index 00000000..313b1772 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/README.md @@ -0,0 +1,15 @@ +# Iris Blur + +## Source Code List +- [Shader Code](Shader/IrisBlur.shader) +- [C# Code](IrisBlur.cs) +- [Editor Code](Editor/IrisBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlur/IrisBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta b/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta new file mode 100644 index 00000000..de0c525c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 56196ad4f49958e488f6e88c8e524a86 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta new file mode 100644 index 00000000..54d98f03 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fe775c5c0612374b92b5f59ddd19c9e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader new file mode 100644 index 00000000..4ece061e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader @@ -0,0 +1,183 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference :https://docs.unity3d.com/550/Documentation/Manual/script-TiltShiftHdr.html + +Shader "Hidden/X-PostProcessing/IrisBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + TEXTURE2D_SAMPLER2D(_BlurredTex, sampler_BlurredTex); + + float4 _BlurredTex_TexelSize; + half2 _Params; + + #define _BluSize _Params.x + #define _BlurRadius _Params.y + + + static const int DiscKernelSampleNum_LQ = 12; + static const float2 DiscKernel_LQ[DiscKernelSampleNum_LQ] = + { + float2(-0.326212, -0.40581), + float2(-0.840144, -0.07358), + float2(-0.695914, 0.457137), + float2(-0.203345, 0.620716), + float2(0.96234, -0.194983), + float2(0.473434, -0.480026), + float2(0.519456, 0.767022), + float2(0.185461, -0.893124), + float2(0.507431, 0.064425), + float2(0.89642, 0.412458), + float2(-0.32194, -0.932615), + float2(-0.791559, -0.59771) + }; + + static const int DiscKernelSampleNum_HQ = 28; + static const float3 DiscKernel_HQ[DiscKernelSampleNum_HQ] = + { + float3(0.62463, 0.54337, 0.82790), + float3(-0.13414, -0.94488, 0.95435), + float3(0.38772, -0.43475, 0.58253), + float3(0.12126, -0.19282, 0.22778), + float3(-0.20388, 0.11133, 0.23230), + float3(0.83114, -0.29218, 0.88100), + float3(0.10759, -0.57839, 0.58831), + float3(0.28285, 0.79036, 0.83945), + float3(-0.36622, 0.39516, 0.53876), + float3(0.75591, 0.21916, 0.78704), + float3(-0.52610, 0.02386, 0.52664), + float3(-0.88216, -0.24471, 0.91547), + float3(-0.48888, -0.29330, 0.57011), + float3(0.44014, -0.08558, 0.44838), + float3(0.21179, 0.51373, 0.55567), + float3(0.05483, 0.95701, 0.95858), + float3(-0.59001, -0.70509, 0.91938), + float3(-0.80065, 0.24631, 0.83768), + float3(-0.19424, -0.18402, 0.26757), + float3(-0.43667, 0.76751, 0.88304), + float3(0.21666, 0.11602, 0.24577), + float3(0.15696, -0.85600, 0.87027), + float3(-0.75821, 0.58363, 0.95682), + float3(0.99284, -0.02904, 0.99327), + float3(-0.22234, -0.57907, 0.62029), + float3(0.55052, -0.66984, 0.86704), + float3(0.46431, 0.28115, 0.54280), + float3(-0.07214, 0.60554, 0.60982), + }; + + + float IrisMask(float2 uv) + { + float2 center = uv * 2 - 1; + return dot(center, center) * (_BluSize * 0.001); + } + + float4 FragIrisLQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = IrisMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_LQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_LQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_LQ), mask); + } + + float4 FragIrisHQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = IrisMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_HQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_HQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_HQ), mask); + } + + float4 FragBlend(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float4 blurredColor = SAMPLE_TEXTURE2D(_BlurredTex, sampler_BlurredTex, i.texcoord); + + float3 result = lerp(blurredColor.rgb, screenColor.rgb, saturate(blurredColor.a)); + + return float4(result.rgb, screenColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + //Pass 0 - Iris Blur High Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragIrisHQ + + ENDHLSL + + } + + //Pass 1 - Iris Blur Low Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragIrisLQ + + ENDHLSL + + } + + //Pass 2 - Blend + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBlend + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta new file mode 100644 index 00000000..8f316143 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlur/Shader/IrisBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b65e66274f5ed784abb0a1fede226fab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2.meta new file mode 100644 index 00000000..58f98192 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c98de5f680885ae4aa282da6a358ed11 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta new file mode 100644 index 00000000..d66944b2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb167be4afee1ad45849e333fd0d7b65 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs new file mode 100644 index 00000000..ff9d8e23 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs @@ -0,0 +1,65 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(IrisBlurV2))] + public sealed class IrisBlurV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride centerOffsetX; + SerializedParameterOverride centerOffsetY; + SerializedParameterOverride AreaSize; + SerializedParameterOverride Iteration; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride showPreview; + + + public override void OnEnable() + { + showPreview = FindParameterOverride(x => x.showPreview); + centerOffsetX = FindParameterOverride(x => x.centerOffsetX); + centerOffsetY = FindParameterOverride(x => x.centerOffsetY); + AreaSize = FindParameterOverride(x => x.AreaSize); + Iteration = FindParameterOverride(x => x.Iteration); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Blur Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Area Property"); + PropertyField(AreaSize); + PropertyField(centerOffsetX); + PropertyField(centerOffsetY); + + EditorUtilities.DrawHeaderLabel("Debug"); + PropertyField(showPreview); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta new file mode 100644 index 00000000..7504ec55 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Editor/IrisBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: de347b80e10fa5c4c8913b90c6b3182d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs new file mode 100644 index 00000000..86df1959 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs @@ -0,0 +1,88 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(IrisBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/IrisBlur/IrisBlurV2")] + public class IrisBlurV2 : PostProcessEffectSettings + { + + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 60 }; + + [Range(-1f, 1f)] + public FloatParameter centerOffsetX = new FloatParameter { value = 0f }; + + [Range(-1f, 1f)] + public FloatParameter centerOffsetY = new FloatParameter { value = 0f }; + + [Range(0f, 50f)] + public FloatParameter AreaSize = new FloatParameter { value = 8f }; + + public BoolParameter showPreview = new BoolParameter { value = false }; + + } + + public sealed class IrisBlurV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-IrisBlurV2"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/IrisBlurV2"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Gradient = Shader.PropertyToID("_Gradient"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Gradient, new Vector3(settings.centerOffsetX, settings.centerOffsetY, settings.AreaSize * 0.1f)); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.showPreview ? 1 : 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta new file mode 100644 index 00000000..2c0e23f5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/IrisBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b3bbc5404f2acf4a9963784dd2159af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md new file mode 100644 index 00000000..87202a01 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md @@ -0,0 +1,18 @@ + +# Iris Blur V2 + +## Source Code List +- [Shader Code](Shader/IrisBlurV2.shader) +- [C# Code](IrisBlurV2.cs) +- [Editor Code](Editor/IrisBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/IrisBlurV2/IrisBlurV2-1.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta new file mode 100644 index 00000000..601e2e49 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1b75baf9ca4850f4b995ceb86eebbc7e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta new file mode 100644 index 00000000..f988d29b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c06de418ed3387842835e62b231639e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader new file mode 100644 index 00000000..9ef918f1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader @@ -0,0 +1,101 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference : https://www.shadertoy.com/view/4d2Xzw + +Shader "Hidden/X-PostProcessing/IrisBlurV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + half3 _Gradient; + half4 _GoldenRot; + half4 _Params; + + #define _Offset _Gradient.xy + #define _AreaSize _Gradient.z + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + + float IrisMask(float2 uv) + { + float2 center = uv * 2.0 - 1.0 + _Offset; // [0,1] -> [-1,1] + return dot(center, center) * _AreaSize; + } + + half4 FragPreview(VaryingsDefault i): SV_Target + { + return IrisMask(i.texcoord); + } + + half4 IrisBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius * saturate(IrisMask(i.texcoord))); + + for (int j = 0; j < _Iteration; j ++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + return IrisBlur(i); + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // Pass 0 - IrisBlur + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + // Pass 1 - Preview + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragPreview + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta new file mode 100644 index 00000000..cbddd1aa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/IrisBlurV2/Shader/IrisBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb135929960fc10489137e1562cdcb5c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur.meta b/Assets/X-PostProcessing/Effects/KawaseBlur.meta new file mode 100644 index 00000000..79edcba7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7e0c6fe4d65eb7949aa1b7d9987fc933 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta new file mode 100644 index 00000000..c53cf659 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 384007f753feabe4ca02c57268e13e20 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs new file mode 100644 index 00000000..c9a1572a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs @@ -0,0 +1,51 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(KawaseBlur))] + public sealed class KawaseBlurEditor : PostProcessEffectEditor + { + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta new file mode 100644 index 00000000..f1742685 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Editor/KawaseBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e7d17b682c783d4ca5be5eddc63b8b2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs new file mode 100644 index 00000000..c4281dd4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs @@ -0,0 +1,99 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(KawaseBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/KawaseBlur")] + public class KawaseBlur : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.5f }; + + [Range(1, 10)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + + } + + public sealed class KawaseBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-KawaseBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/KawaseBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_Offset"); + + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + bool needSwitch = true; + for (int i = 0; i < settings.Iteration; i++) + { + sheet.properties.SetFloat(ShaderIDs.BlurRadius, i / settings.RTDownScaling + settings.BlurRadius); + context.command.BlitFullscreenTriangle(needSwitch ? ShaderIDs.BufferRT1 : ShaderIDs.BufferRT2, needSwitch ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1, sheet, 0); + needSwitch = !needSwitch; + } + + + sheet.properties.SetFloat(ShaderIDs.BlurRadius, settings.Iteration / settings.RTDownScaling + settings.BlurRadius); + cmd.BlitFullscreenTriangle(needSwitch ? ShaderIDs.BufferRT1 : ShaderIDs.BufferRT2, context.destination, sheet, 0); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta new file mode 100644 index 00000000..4a2b410e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/KawaseBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c7f2d10840ecbc439518593ab7683c2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/README.md b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md new file mode 100644 index 00000000..81a4dd14 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md @@ -0,0 +1,16 @@ + +# Kawase Blur + +## Source Code List +- [Shader Code](Shader/KawaseBlur.shader) +- [C# Code](KawaseBlur.cs) +- [Editor Code](Editor/KawaseBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/KawaseBlur/KawaseBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta new file mode 100644 index 00000000..62195cc7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c7a76c93bdb6efa4eb07280a35c825a7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta new file mode 100644 index 00000000..4f8063ab --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f835c61189ae7584687117da35ef131c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader new file mode 100644 index 00000000..f1651f6f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/KawaseBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Offset; + + + half4 KawaseBlur(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, half pixelOffset) + { + half4 o = 0; + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(pixelOffset +0.5, pixelOffset +0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(-pixelOffset -0.5, pixelOffset +0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(-pixelOffset -0.5, -pixelOffset -0.5) * texelSize); + o += SAMPLE_TEXTURE2D(tex, samplerTex, uv + float2(pixelOffset +0.5, -pixelOffset -0.5) * texelSize); + return o * 0.25; + } + + + half4 Frag(VaryingsDefault i): SV_Target + { + return KawaseBlur(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord.xy, _MainTex_TexelSize.xy, _Offset); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta new file mode 100644 index 00000000..18e88038 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/KawaseBlur/Shader/KawaseBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dffb1cb344557b642a54c6329431555c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle.meta new file mode 100644 index 00000000..0de75805 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 298527a2f52f3204cb19f89631e116a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta new file mode 100644 index 00000000..fb2767d0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81216249fdfa80f4e8b5a5cd1ac7a050 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs new file mode 100644 index 00000000..ebd22a04 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeCircle))] + public sealed class PixelizeCircleEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride circleRadius; + SerializedParameterOverride pixelIntervalX; + SerializedParameterOverride pixelIntervalY; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + circleRadius = FindParameterOverride(x => x.circleRadius); + pixelIntervalX = FindParameterOverride(x => x.pixelIntervalX); + pixelIntervalY = FindParameterOverride(x => x.pixelIntervalY); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(circleRadius); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Pixel Interval"); + PropertyField(pixelIntervalX); + PropertyField(pixelIntervalY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta new file mode 100644 index 00000000..fbff3344 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Editor/PixelizeCircleEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e2aacc7cdca0ce4e84311f44051f692 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs new file mode 100644 index 00000000..0cc7c2e1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs @@ -0,0 +1,76 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeCircleRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeCircle")] + public class PixelizeCircle : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + [Range(0.01f, 1.0f)] + public FloatParameter circleRadius = new FloatParameter { value = 0.45f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval X")] + public FloatParameter pixelIntervalX = new FloatParameter { value = 1f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval Y")] + public FloatParameter pixelIntervalY = new FloatParameter { value = 1f }; + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + + } + + public sealed class PixelizeCircleRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeCircle"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeCircle"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 300f; + Vector4 parameters = new Vector4(size, ((context.screenWidth * 2 / context.screenHeight) * size / Mathf.Sqrt(3f)), settings.circleRadius, 0f); + + sheet.properties.SetVector(ShaderIDs.Params, parameters); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector2(settings.pixelIntervalX, settings.pixelIntervalY)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta new file mode 100644 index 00000000..c65a23ee --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/PixelizeCircle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c41764e784e0e241b81d2a327bcca17 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md new file mode 100644 index 00000000..75b8f4fa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md @@ -0,0 +1,16 @@ + +# Pixelize Circle + +## Source Code List +- [Shader Code](Shader/PixelizeCircle.shader) +- [C# Code](PixelizeCircle.cs) +- [Editor Code](Editor/PixelizeCircleEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircleProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircle.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeCircle/PixelizeCircle.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta new file mode 100644 index 00000000..f8777768 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9d062af13e053a440ad7b27efcd600e7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta new file mode 100644 index 00000000..b5872a8b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b00e75c973863bf488b2103f4dfb88ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader new file mode 100644 index 00000000..a89aacc2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeCircle" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + half4 _Params; + half2 _Params2; + half4 _BackgroundColor; + + #define _PixelIntervalX _Params2.x + #define _PixelIntervalY _Params2.y + + + float4 CirclePixelize(float2 uv) + { + float pixelScale = 1.0 / _Params.x; + + float ratio = _ScreenParams.y / _ScreenParams.x; + uv.x = uv.x / ratio; + + //x和y坐标分别除以缩放系数,在用floor向下取整,再乘以缩放系数,得到分段UV + float2 coord = half2(_PixelIntervalX * floor(uv.x / (pixelScale * _PixelIntervalX)), (_PixelIntervalY)* floor(uv.y / (pixelScale * _PixelIntervalY))); + + //求解圆心坐标 + float2 circleCenter = coord * pixelScale + pixelScale * 0.5; + + //计算当前uv值隔圆心的距离,并乘以缩放系数 + float dist = length(uv - circleCenter) * _Params.x; + //圆心坐标乘以缩放系数 + circleCenter.x *= ratio; + + //采样 + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, circleCenter); + + //对于距离大于半径的像素,替换为背景色 + if (dist > _Params.z) screenColor = _BackgroundColor; + + return screenColor; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + + return CirclePixelize(i.texcoord); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta new file mode 100644 index 00000000..e607cfe0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeCircle/Shader/PixelizeCircle.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ee664b3c0ceb0e4eb4bf4e0d84145ef +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta new file mode 100644 index 00000000..a1a8a7d8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c6dc35c08bb6b84caf9401280acdf1c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta new file mode 100644 index 00000000..6ef7797a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c152c3b30f2b59949a25e4ed7fcb245e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs new file mode 100644 index 00000000..19593d6f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs @@ -0,0 +1,43 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeDiamond))] + public sealed class PixelizeDiamondEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(pixelSize); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta new file mode 100644 index 00000000..9fee2bac --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Editor/PixelizeDiamondEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9bc4a094a2185c544bfafe89f5556293 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs new file mode 100644 index 00000000..edd5dd47 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs @@ -0,0 +1,61 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeDiamondRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeDiamond")] + public class PixelizeDiamond : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.2f }; + + } + + public sealed class PixelizeDiamondRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeDiamond"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeDiamond"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int PixelSize = Shader.PropertyToID("_PixelSize"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.PixelSize, settings.pixelSize); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta new file mode 100644 index 00000000..ef7e9fd6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/PixelizeDiamond.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4955bbbf16fdcd7478664ab91ba45501 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md new file mode 100644 index 00000000..d4591935 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md @@ -0,0 +1,16 @@ + +# Pixelize Diamond + +## Source Code List +- [Shader Code](Shader/PixelizeDiamond.shader) +- [C# Code](PixelizeDiamond.cs) +- [Editor Code](Editor/PixelizeDiamondEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamondProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamond.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeDiamond/PixelizeDiamond.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta new file mode 100644 index 00000000..c48d4e4f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d0a2179acc8f42943bc20e9d1bd1e95c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta new file mode 100644 index 00000000..59d1d91a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 70e4f25febe689e42bd9043da866f5e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader new file mode 100644 index 00000000..a93d50d7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader @@ -0,0 +1,68 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeDiamond" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + float _PixelSize; + + + float2 DiamondPixelizeUV(float2 uv) + { + half2 pixelSize = 10 / _PixelSize; + + half2 coord = uv * pixelSize; + + //计算当前Diamond的朝向 + int direction = int(dot(frac(coord), half2(1, 1)) >= 1.0) + 2 * int(dot(frac(coord), half2(1, -1)) >= 0.0); + + //进行向下取整 + coord = floor(coord); + + //处理Diamond的四个方向 + if (direction == 0) coord += half2(0, 0.5); + if(direction == 1) coord += half2(0.5, 1); + if(direction == 2) coord += half2(0.5, 0); + if(direction == 3) coord += half2(1, 0.5); + + //最终缩放uv + coord /= pixelSize; + + return coord; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + float2 uv = DiamondPixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta new file mode 100644 index 00000000..f58d4f0f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeDiamond/Shader/PixelizeDiamond.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d39d378f84f6e84ea6bf673958a4d8e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta new file mode 100644 index 00000000..42371224 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: baf125f52dcc80d49b18261b84fb8925 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta new file mode 100644 index 00000000..ecfc2883 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef04f6e4512c404409ae0fa6f04fe336 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs new file mode 100644 index 00000000..a3314eed --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs @@ -0,0 +1,61 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeHexagon))] + public sealed class PixelizeHexagonEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta new file mode 100644 index 00000000..d75dce24 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Editor/PixelizeHexagonEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a291b1f4900314549945700bc336a226 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs new file mode 100644 index 00000000..130c4a42 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs @@ -0,0 +1,94 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeHexagonRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeHexagon")] + public class PixelizeHexagon : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.05f }; + + [Range(0.01f, 5.0f)] + public FloatParameter gridWidth = new FloatParameter { value = 1.0f }; + + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = false }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeHexagonRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeHexagon"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeHexagon"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = settings.pixelSize * 0.2f; + sheet.properties.SetFloat("_PixelSize", size); + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX, settings.pixelScaleY)); + + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta new file mode 100644 index 00000000..b22f6da0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/PixelizeHexagon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6563b9b9059173a4c827a1ec5284646f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md new file mode 100644 index 00000000..d324eb5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md @@ -0,0 +1,16 @@ + +# Pixelize Hexagon + +## Source Code List +- [Shader Code](Shader/PixelizeHexagon.shader) +- [C# Code](PixelizeHexagon.cs) +- [Editor Code](Editor/PixelizeHexagonEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagonProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagon.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagon/PixelizeHexagon.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta new file mode 100644 index 00000000..6c6c7a17 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1f217d01f34a991439d5419bfde1d6c9 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta new file mode 100644 index 00000000..be929087 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd059144f13c88c489054bc3e92bf4e0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader new file mode 100644 index 00000000..7e1c6571 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader @@ -0,0 +1,158 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : +// 1. https://www.shadertoy.com/view/ls23Dc +// 2. http://coding-experiments.blogspot.nl/2010/06/pixelation.html + +Shader "Hidden/X-PostProcessing/PixelizeHexagon" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float HexDist(float2 a, float2 b) + { + float2 p = abs(b - a); + float s = 0.5; + float c = 0.8660254; + + float diagDist = s * p.x + c * p.y; + return max(diagDist, p.x) / c; + } + + float2 NearestHex(float s, float2 st) + { + float h = 0.5 * s; + float r = 0.8660254 * s; + float b = s + 2.0 * h; + float a = 2.0 * r; + float m = h / r; + + float2 sect = st / float2(2.0 * r, h + s); + float2 sectPxl = fmod(st, float2(2.0 * r, h + s)); + + float aSection = fmod(floor(sect.y), 2.0); + + float2 coord = floor(sect); + if (aSection > 0.0) + { + if(sectPxl.y < (h - sectPxl.x * m)) + { + coord -= 1.0; + } + else if(sectPxl.y < (-h + sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.x > r) + { + if(sectPxl.y < (2.0 * h - sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.y < (sectPxl.x * m)) + { + coord.y -= 1.0; + } + else + { + coord.x -= 1.0; + } + } + } + + float xoff = fmod(coord.y, 2.0) * r; + return float2(coord.x * 2.0 * r - xoff, coord.y * (h + s)) + float2(r * 2.0, s); + } + + + float4 FragHex(VaryingsDefault i): SV_Target + { + float2 ratio = float2(_PixelRatio * _PixelScaleX, _PixelScaleY); + float2 nearest = NearestHex(_PixelSize, i.texcoord * ratio); + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, nearest / ratio); + return finalColor; + } + + + + float2 HexPixelizeUV(float2 hexIndex) + { + int i = hexIndex.x; + int j = hexIndex.y; + float2 r; + r.x = i * _Params.x; + r.y = j * _Params.y + (i % 2.0) * _Params.y / 2.0; + return r; + } + + //Solve index + float2 HexIndex(float2 uv, float size) + { + float2 r; + + int it = int(floor(uv.x / size)); + float yts = uv.y - float(it % 2.0) * _Params.y / 2.0; + int jt = int(floor((1.0 / _Params.y) * yts)); + float xt = uv.x - it * size; + float yt = yts - jt * _Params.y; + int deltaj = (yt > _Params.y / 2.0) ? 1 : 0; + float fcond = size * (2.0 / 3.0) * abs(0.5 - yt / _Params.y); + + if (xt > fcond) + { + r.x = it; + r.y = jt; + } + else + { + r.x = it - 1; + r.y = jt - (r.x % 2) + deltaj; + } + + return r; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragHex + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta new file mode 100644 index 00000000..9d88469b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagon/Shader/PixelizeHexagon.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37db12b6dec3e8049b8a0f5e86c9bf83 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta new file mode 100644 index 00000000..713e1fde --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b3f599f24df95044bce5266911c95c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta new file mode 100644 index 00000000..a7655fbf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2360a902648b9a14b85a54db256230c9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs new file mode 100644 index 00000000..b8f9e3c7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeHexagonGrid))] + public sealed class PixelizeHexagonGridEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + SerializedParameterOverride gridWidth; + + + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + gridWidth = FindParameterOverride(x => x.gridWidth); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(gridWidth); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta new file mode 100644 index 00000000..fb46307d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Editor/PixelizeHexagonGridEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aeb6352172cc6354c85a7138e6135332 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs new file mode 100644 index 00000000..fbb22e90 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs @@ -0,0 +1,78 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(PixelizeHexagonGridRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeHexagonGrid")] + public class PixelizeHexagonGrid : PostProcessEffectSettings + { + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.05f }; + + [Range(0.01f, 5.0f)] + public FloatParameter gridWidth = new FloatParameter { value = 1.0f }; + + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = false }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeHexagonGridRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeHexagonGrid"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeHexagonGrid"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.pixelSize, settings.gridWidth)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta new file mode 100644 index 00000000..b000afdd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/PixelizeHexagonGrid.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 37ad219a3382cad49910c03773fe214e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md new file mode 100644 index 00000000..1fdad269 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md @@ -0,0 +1,18 @@ + +# Pixelize Hexagon Grid + +## Source Code List +- [Shader Code](Shader/PixelizeHexagonGrid.shader) +- [C# Code](PixelizeHexagonGrid.cs) +- [Editor Code](Editor/PixelizeHexagonGridEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGridProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeHexagonGrid/PixelizeHexagonGrid-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta new file mode 100644 index 00000000..03cb2946 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 31cf9fd3d5ba1f241961987c998b8e56 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta new file mode 100644 index 00000000..9e07ac0c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77eee2aed40b72242a1e04a43715f451 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader new file mode 100644 index 00000000..ad1723db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader @@ -0,0 +1,165 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//reference : +// 1. https://www.shadertoy.com/view/ls23Dc +// 2. http://coding-experiments.blogspot.nl/2010/06/pixelation.html + +Shader "Hidden/X-PostProcessing/PixelizeHexagonGrid" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half2 _Params; + #define _PixelSize _Params.x + #define _GridWidth _Params.y + + + float HexDist(float2 a, float2 b) + { + float2 p = abs(b - a); + float s = 0.5; + float c = 0.8660254; + + float diagDist = s * p.x + c * p.y; + return max(diagDist, p.x) / c; + } + + float2 NearestHex(float s, float2 st) + { + float h = 0.5 * s; + float r = 0.8660254 * s; + float b = s + 2.0 * h; + float a = 2.0 * r; + float m = h / r; + + float2 sect = st / float2(2.0 * r, h + s); + float2 sectPxl = fmod(st, float2(2.0 * r, h + s)); + + float aSection = fmod(floor(sect.y), 2.0); + + float2 coord = floor(sect); + if (aSection > 0.0) + { + if(sectPxl.y < (h - sectPxl.x * m)) + { + coord -= 1.0; + } + else if(sectPxl.y < (-h + sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.x > r) + { + if(sectPxl.y < (2.0 * h - sectPxl.x * m)) + { + coord.y -= 1.0; + } + } + else + { + if(sectPxl.y < (sectPxl.x * m)) + { + coord.y -= 1.0; + } + else + { + coord.x -= 1.0; + } + } + } + + float xoff = fmod(coord.y, 2.0) * r; + return float2(coord.x * 2.0 * r - xoff, coord.y * (h + s)) + float2(r * 2.0, s); + } + + + + + float4 FragHexGrid(VaryingsDefault i) : SV_Target + { + //cal hexagon uv + float pixelSize = _PixelSize * _ScreenParams.x * 0.2; + float2 nearest = NearestHex(pixelSize, i.texcoord * _ScreenParams.xy); + + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, nearest / _ScreenParams.xy); + + float dist = HexDist(i.texcoord * _ScreenParams.xy, nearest); + + float interiorSize = pixelSize; + float interior = 1.0 - smoothstep(interiorSize - 0.8, interiorSize, dist * _GridWidth); + + return float4(finalColor.rgb * interior, 1.0); + + } + + float2 HexPixelizeUV(float2 hexIndex) + { + int i = hexIndex.x; + int j = hexIndex.y; + float2 r; + r.x = i * _Params.x; + r.y = j * _Params.y + (i % 2.0) * _Params.y / 2.0; + return r; + } + + //Solve index + float2 HexIndex(float2 uv, float size) + { + float2 r; + + int it = int(floor(uv.x / size)); + float yts = uv.y - float(it % 2.0) * _Params.y / 2.0; + int jt = int(floor((1.0 / _Params.y) * yts)); + float xt = uv.x - it * size; + float yt = yts - jt * _Params.y; + int deltaj = (yt > _Params.y / 2.0) ? 1 : 0; + float fcond = size * (2.0 / 3.0) * abs(0.5 - yt / _Params.y); + + if (xt > fcond) + { + r.x = it; + r.y = jt; + } + else + { + r.x = it - 1; + r.y = jt - (r.x % 2) + deltaj; + } + + return r; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragHexGrid + + ENDHLSL + + } + + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta new file mode 100644 index 00000000..4ff2500f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeHexagonGrid/Shader/PixelizeHexagonGrid.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9de4d6f0879c1284f97c91683cafac76 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta new file mode 100644 index 00000000..ebcc013e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11dac843b5064b34e9f6a53360dcbaee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta new file mode 100644 index 00000000..2b7f5ed8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb405c9d1a00c024ba4ce56e93b8fbab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs new file mode 100644 index 00000000..57bfa6d9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs @@ -0,0 +1,62 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeLeaf))] + public sealed class PixelizeLeafEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta new file mode 100644 index 00000000..58ffe93a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Editor/PixelizeLeafEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 702cd3917e516f54791ff31781a12305 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs new file mode 100644 index 00000000..8da57704 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs @@ -0,0 +1,83 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeLeafRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeLeaf")] + public class PixelizeLeaf : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeLeafRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeLeaf"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeLeaf"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 10f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX * 20, settings.pixelScaleY * 20)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta new file mode 100644 index 00000000..d754615f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/PixelizeLeaf.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cdbf6ce8969839844a49e4fdbeea62d5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md new file mode 100644 index 00000000..39f00da5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md @@ -0,0 +1,18 @@ + +# Pixelize Leaf + +## Source Code List +- [Shader Code](Shader/PixelizeLeaf.shader) +- [C# Code](PixelizeLeaf.cs) +- [Editor Code](Editor/PixelizeLeafEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeafProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLeaf/PixelizeLeaf-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta new file mode 100644 index 00000000..6f5afd32 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bc1fcec49571fee4ea073f638ed0c98c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta new file mode 100644 index 00000000..dd38fac5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 457d6ede96a3c2e479eb36ee6a0de33f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader new file mode 100644 index 00000000..9bff6257 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader @@ -0,0 +1,64 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeLeaf" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float2 TrianglePixelizeUV(float2 uv) + { + float2 pixelScale = _PixelSize * float2(_PixelScaleX, _PixelScaleY / _PixelRatio); + + //乘以缩放,向下取整,再除以缩放,得到分段UV + float2 coord = floor(uv * pixelScale) / pixelScale; + + uv -= coord; + uv *= pixelScale; + + //进行像素偏移处理 + coord += + float2(step(1.0 - uv.y, uv.x) / (pixelScale.x), // Leaf X + step(uv.x, uv.y) / (pixelScale.y)//Leaf Y + ); + + return coord; + } + + + float4 Frag(VaryingsDefault i) : SV_Target + { + float2 uv = TrianglePixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta new file mode 100644 index 00000000..0bbae925 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLeaf/Shader/PixelizeLeaf.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 342f021e0fcd56446b9bfde7d8e582d7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed.meta b/Assets/X-PostProcessing/Effects/PixelizeLed.meta new file mode 100644 index 00000000..f16f0d76 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a39d8071c7899e4c9a7d14dbaaaa4e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta new file mode 100644 index 00000000..1fe6e339 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b44794f1979005e499326ad8e8533fec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs new file mode 100644 index 00000000..59c654bf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs @@ -0,0 +1,64 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeLed))] + public sealed class PixelizeLedEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride BackgroundColor; + SerializedParameterOverride ledRadius; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + ledRadius = FindParameterOverride(x => x.ledRadius); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(ledRadius); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(BackgroundColor); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta new file mode 100644 index 00000000..e8b8decb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Editor/PixelizeLedEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d4fa712c4832014f9a252bbd4db3d28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs new file mode 100644 index 00000000..ac6c4d0f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs @@ -0,0 +1,89 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeLedV2Renderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeLed")] + public class PixelizeLed : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + [Range(0.01f, 1.0f)] + public FloatParameter ledRadius = new FloatParameter { value = 1.0f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + } + + public sealed class PixelizeLedV2Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeLed"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeLed"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BackgroundColor = Shader.PropertyToID("_BackgroundColor"); + } + + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + float size = (1.01f - settings.pixelSize) * 300f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.ledRadius)); + sheet.properties.SetColor(ShaderIDs.BackgroundColor, settings.BackgroundColor); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta new file mode 100644 index 00000000..1033e003 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/PixelizeLed.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2adfd539c4f87f148b8c618d20355086 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/README.md b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md new file mode 100644 index 00000000..a054a96a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md @@ -0,0 +1,18 @@ + +# Pixelize Led + +## Source Code List +- [Shader Code](Shader/PixelizeLed.shader) +- [C# Code](PixelizeLed.cs) +- [Editor Code](Editor/PixelizeLedEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLedProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeLed/PixelizeLed-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta new file mode 100644 index 00000000..02e0a2bd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7331d9f4bd07aaf469b63bb59586b339 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta new file mode 100644 index 00000000..4290522c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae86fa31b61720f41b28d627a2625ab6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader new file mode 100644 index 00000000..b15d6bec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeLed" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half4 _Params; + half4 _BackgroundColor; + + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _LedRadius _Params.z + + float2 RectPixelizeUV(half2 uv) + { + float pixelScale = 1.0 / _PixelSize; + //除以缩放系数,在向上取整,再乘以缩放系数,得到分段UV + float2 coord = half2(pixelScale * floor(uv.x / (pixelScale)), (pixelScale * _PixelRatio ) * floor(uv.y / (pixelScale *_PixelRatio))); + + return coord; + } + + + + float4 Frag(VaryingsDefault i) : SV_Target + { + + // 实现矩形像素效果 + float2 uv = RectPixelizeUV(i.texcoord); + float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + + // 计算矩形像素坐标 + half2 coord = i.texcoord * half2(_PixelSize, _PixelSize / _PixelRatio); + + // 横纵坐标强度渐变 + half ledX = abs(sin(coord.x * 3.1415)) * 1.5; + half ledY = abs(sin(coord.y * 3.1415)) * 1.5; + // 求解LedValue + half ledValue = ledX * ledY; + // led半径校正 + half radius = step(ledValue, _LedRadius); + + //最终颜色 = 基础led颜色 + 渐变led颜色 + 背景颜色 + color = ((1 - radius) * color) + ((color * ledValue) * radius) + radius * (1- ledValue)* _BackgroundColor; + + + return color; + + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta new file mode 100644 index 00000000..35afe613 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeLed/Shader/PixelizeLed.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0dc17d4fd928ef542a78cc17742d29d0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad.meta new file mode 100644 index 00000000..065a317e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1bfb7db3e42092f4c92b84d9c575dba0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta new file mode 100644 index 00000000..7560282b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61c4768d0351ad24495a1202309c164d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs new file mode 100644 index 00000000..50077155 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs @@ -0,0 +1,63 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeQuad))] + public sealed class PixelizeQuadEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta new file mode 100644 index 00000000..ea8b4165 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Editor/PixelizeQuadEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93b7ec932becebd4398f80d2b1e2164f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs new file mode 100644 index 00000000..b0da22d6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs @@ -0,0 +1,86 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeQuadRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeQuad")] + public class PixelizeQuad : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeQuadRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeQuad"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeQuad"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 200f; + sheet.properties.SetFloat("_PixelSize", size); + + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height) ; + if (ratio==0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX, settings.pixelScaleY)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta new file mode 100644 index 00000000..fed87ae8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/PixelizeQuad.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcc23458a58ff384c82bd27e09aa0cc6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md new file mode 100644 index 00000000..feca070e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md @@ -0,0 +1,16 @@ + +# Pixelize Quad + +## Source Code List +- [Shader Code](Shader/PixelizeQuad.shader) +- [C# Code](PixelizeQuad.cs) +- [Editor Code](Editor/PixelizeQuadEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuadProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuad.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeQuad/PixelizeQuad.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta new file mode 100644 index 00000000..d8a1784c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b213252f58037e84c9426babd7dae6ef +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta new file mode 100644 index 00000000..274a478c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19176c3e8e0acdb47963975981b96378 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader new file mode 100644 index 00000000..5840b08c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader @@ -0,0 +1,59 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +Shader "Hidden/X-PostProcessing/PixelizeQuad" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + float2 RectPixelizeUV( half2 uv) + { + float pixelScale = 1.0 / _PixelSize; + // Divide by the scaling factor, round up, and multiply by the scaling factor to get the segmented UV + float2 coord = half2(pixelScale * _PixelScaleX * floor(uv.x / (pixelScale *_PixelScaleX)), (pixelScale * _PixelRatio *_PixelScaleY) * floor(uv.y / (pixelScale *_PixelRatio * _PixelScaleY))); + + return coord; + } + + + + float4 Frag(VaryingsDefault i) : SV_Target + { + + float2 uv = RectPixelizeUV(i.texcoord); + + float4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + + return color; + + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta new file mode 100644 index 00000000..04679ab7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeQuad/Shader/PixelizeQuad.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c378672ba36c664cb86ab729efb01da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector.meta b/Assets/X-PostProcessing/Effects/PixelizeSector.meta new file mode 100644 index 00000000..b817d3e2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f9121a2267ef5544681ca5cc199d2ad7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta new file mode 100644 index 00000000..c1f5467d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51d9f4cb6a261b04c9254c8dd98a0e56 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs new file mode 100644 index 00000000..1d658eb2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs @@ -0,0 +1,57 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeSector))] + public sealed class PixelizeSectorEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride circleRadius; + SerializedParameterOverride pixelIntervalX; + SerializedParameterOverride pixelIntervalY; + SerializedParameterOverride BackgroundColor; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + circleRadius = FindParameterOverride(x => x.circleRadius); + pixelIntervalX = FindParameterOverride(x => x.pixelIntervalX); + pixelIntervalY = FindParameterOverride(x => x.pixelIntervalY); + BackgroundColor = FindParameterOverride(x => x.BackgroundColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(circleRadius); + PropertyField(BackgroundColor); + + EditorUtilities.DrawHeaderLabel("Pixel Interval"); + PropertyField(pixelIntervalX); + PropertyField(pixelIntervalY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta new file mode 100644 index 00000000..03abed28 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Editor/PixelizeSectorEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b18c821150f20845b8700a8b66357fd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs new file mode 100644 index 00000000..30fe340b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs @@ -0,0 +1,75 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeSectorRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeSector")] + public class PixelizeSector : PostProcessEffectSettings + { + + [Range(0.01f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.8f }; + [Range(0.01f, 1.0f)] + public FloatParameter circleRadius = new FloatParameter { value = 0.8f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval X")] + public FloatParameter pixelIntervalX = new FloatParameter { value = 1f }; + [Range(0.2f, 5.0f), Tooltip("Pixel interval Y")] + public FloatParameter pixelIntervalY = new FloatParameter { value = 1f }; + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter BackgroundColor = new ColorParameter { value = new Color(0.0f, 0.0f, 0.0f) }; + } + + public sealed class PixelizeSectorRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeSector"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeSector"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int Params2 = Shader.PropertyToID("_Params2"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 300f; + Vector4 parameters = new Vector4(size, ((context.screenWidth * 2 / context.screenHeight) * size / Mathf.Sqrt(3f)), settings.circleRadius, 0f); + + sheet.properties.SetVector(ShaderIDs.Params, parameters); + sheet.properties.SetVector(ShaderIDs.Params2, new Vector2(settings.pixelIntervalX, settings.pixelIntervalY)); + sheet.properties.SetColor("_BackgroundColor", settings.BackgroundColor); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta new file mode 100644 index 00000000..3c581951 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/PixelizeSector.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 428057b2b0564de46885aacb59570a8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/README.md b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md new file mode 100644 index 00000000..4f893e41 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md @@ -0,0 +1,16 @@ + +# Pixelize Sector + +## Source Code List +- [Shader Code](Shader/PixelizeSector.shader) +- [C# Code](PixelizeSector.cs) +- [Editor Code](Editor/PixelizeSectorEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSectorProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSector.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeSector/PixelizeSector.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta new file mode 100644 index 00000000..6b0fc37e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 63478e932c43e904182265205f8473be +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta new file mode 100644 index 00000000..6527de7d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f62d8a1048c82a499908a4d752c61b3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader new file mode 100644 index 00000000..bed6751b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader @@ -0,0 +1,74 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/PixelizeSector" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + + float4 _Params; + float2 _Params2; + half4 _BackgroundColor; + + #define _PixelIntervalX _Params2.x + #define _PixelIntervalY _Params2.y + + + float4 SectorPixelize(float2 uv) + { + float pixelScale = 1.0 / _Params.x; + + float ratio = _ScreenParams.y / _ScreenParams.x; + uv.x = uv.x / ratio; + + //x和y坐标分别除以缩放系数,在用floor向下取整,再乘以缩放系数,得到分段UV + float2 coord = half2(_PixelIntervalX * floor(uv.x / (pixelScale * _PixelIntervalX)), (_PixelIntervalY)* floor(uv.y / (pixelScale * _PixelIntervalY))); + + //设定扇形坐标 + float2 circleCenter = coord * pixelScale; + + //计算当前uv值隔圆心的距离,并乘以缩放系数 + float dist = length(uv - circleCenter) * _Params.x; + //圆心坐标乘以缩放系数 + circleCenter.x *= ratio; + + //采样 + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, circleCenter); + + //对于距离大于半径的像素,替换为背景色 + if (dist > _Params.z) screenColor = _BackgroundColor; + + return screenColor; + } + + + + float4 Frag(VaryingsDefault i): SV_Target + { + return SectorPixelize(i.texcoord); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta new file mode 100644 index 00000000..db88b57e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeSector/Shader/PixelizeSector.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0aea813750348874496f2226f14e3c8f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta new file mode 100644 index 00000000..42d7c5ba --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6d267a8718639e4da4b5d1747fb2629 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta new file mode 100644 index 00000000..2f02d3de --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 21264627d2fae7c4b828bf590dc8b339 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs new file mode 100644 index 00000000..5f98f865 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs @@ -0,0 +1,62 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(PixelizeTriangle))] + public sealed class PixelizeTriangleEditor : PostProcessEffectEditor + { + + SerializedParameterOverride pixelSize; + SerializedParameterOverride useAutoScreenRatio; + SerializedParameterOverride pixelRatio; + SerializedParameterOverride pixelScaleX; + SerializedParameterOverride pixelScaleY; + + public override void OnEnable() + { + pixelSize = FindParameterOverride(x => x.pixelSize); + useAutoScreenRatio = FindParameterOverride(x => x.useAutoScreenRatio); + pixelRatio = FindParameterOverride(x => x.pixelRatio); + pixelScaleX = FindParameterOverride(x => x.pixelScaleX); + pixelScaleY = FindParameterOverride(x => x.pixelScaleY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(pixelSize); + PropertyField(useAutoScreenRatio); + + if (useAutoScreenRatio.value.boolValue == false) + { + PropertyField(pixelRatio); + } + + + EditorUtilities.DrawHeaderLabel("Pixel Scale"); + PropertyField(pixelScaleX); + PropertyField(pixelScaleY); + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta new file mode 100644 index 00000000..b9dd1f20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Editor/PixelizeTriangleEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 622651988ba58b34593a2b7b5fbac510 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs new file mode 100644 index 00000000..a780bac3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs @@ -0,0 +1,83 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(PixelizeTriangleRenderer), PostProcessEvent.BeforeStack, "X-PostProcessing/Pixelize/PixelizeTriangle")] + public class PixelizeTriangle : PostProcessEffectSettings + { + + [Range(0.001f, 1.0f)] + public FloatParameter pixelSize = new FloatParameter { value = 0.5f }; + + public BoolParameter useAutoScreenRatio = new BoolParameter { value = true }; + + [Range(0.2f, 5.0f)] + public FloatParameter pixelRatio = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放X")] + public FloatParameter pixelScaleX = new FloatParameter { value = 1f }; + + [Range(0.2f, 5.0f), Tooltip("像素缩放Y")] + public FloatParameter pixelScaleY = new FloatParameter { value = 1f }; + } + + public sealed class PixelizeTriangleRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-PixelizeTriangle"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/PixelizeTriangle"); + } + + public override void Release() + { + base.Release(); + } + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + float size = (1.01f - settings.pixelSize) * 5f; + + float ratio = settings.pixelRatio; + if (settings.useAutoScreenRatio) + { + ratio = (float)(context.width / (float)context.height); + if (ratio == 0) + { + ratio = 1f; + } + } + + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(size, ratio, settings.pixelScaleX * 20, settings.pixelScaleY * 20)); + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta new file mode 100644 index 00000000..cce9cb23 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/PixelizeTriangle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8f16b9d0f71b51e49a275377bb97af33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md new file mode 100644 index 00000000..91192540 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md @@ -0,0 +1,16 @@ + +# Pixelize Triangle + +## Source Code List +- [Shader Code](Shader/PixelizeTriangle.shader) +- [C# Code](PixelizeTriangle.cs) +- [Editor Code](Editor/PixelizeTriangleEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangleProperty.jpg) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangle.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Pixelize/PixelizeTriangle/PixelizeTriangle.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta new file mode 100644 index 00000000..0f81b44e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b7d5909bb027dfb4fad8dbeef4730f2b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta new file mode 100644 index 00000000..dff2e61c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4325d1cefbcc0149bad0d16a62df751 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader new file mode 100644 index 00000000..5dd51d60 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader @@ -0,0 +1,66 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +Shader "Hidden/X-PostProcessing/PixelizeTriangle" +{ + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _Params; + #define _PixelSize _Params.x + #define _PixelRatio _Params.y + #define _PixelScaleX _Params.z + #define _PixelScaleY _Params.w + + + float2 TrianglePixelizeUV(float2 uv) + { + + float2 pixelScale = _PixelSize * float2(_PixelScaleX, _PixelScaleY / _PixelRatio); + + //乘以缩放,向下取整,再除以缩放,得到分段UV + float2 coord = floor(uv * pixelScale) / pixelScale; + + uv -= coord; + uv *= pixelScale; + + //进行三角形像素偏移处理 + coord += + float2(step(1.0 - uv.y, uv.x) / (2.0 * pixelScale.x),//X + step(uv.x, uv.y) / (2.0 * pixelScale.y)//Y + ); + + return coord; + } + + + float4 Frag(VaryingsDefault i) : SV_Target + { + float2 uv = TrianglePixelizeUV(i.texcoord); + + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv); + } + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta new file mode 100644 index 00000000..45aad279 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/PixelizeTriangle/Shader/PixelizeTriangle.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc554d80b140c10418ee0426552b9494 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur.meta b/Assets/X-PostProcessing/Effects/RadialBlur.meta new file mode 100644 index 00000000..5b602685 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00038b76eaee4a34da642bb71f5b1fba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta new file mode 100644 index 00000000..fb72c136 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d0dc6c5372ecf140928fa89a8856964 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs new file mode 100644 index 00000000..a036eb4a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RadialBlur))] + public sealed class RadialBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RadialCenterX; + SerializedParameterOverride RadialCenterY; + + + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RadialCenterX = FindParameterOverride(x => x.RadialCenterX); + RadialCenterY = FindParameterOverride(x => x.RadialCenterY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + EditorUtilities.DrawHeaderLabel("Core Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Radial Center"); + PropertyField(RadialCenterX); + PropertyField(RadialCenterY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta new file mode 100644 index 00000000..482352ec --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Editor/RadialBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 99b2c92a68066e14f9f14ce2cea8fa58 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/README.md b/Assets/X-PostProcessing/Effects/RadialBlur/README.md new file mode 100644 index 00000000..f1b57a93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/README.md @@ -0,0 +1,16 @@ + +# Radial Blur + +## Source Code List +- [Shader Code](Shader/RadialBlur.shader) +- [C# Code](RadialBlur.cs) +- [Editor Code](Editor/RadialBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlur.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlur/RadialBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta b/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta new file mode 100644 index 00000000..a9b5c3af --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 911a11c8c45e5ad4aba0946436e44288 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs new file mode 100644 index 00000000..32592335 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs @@ -0,0 +1,70 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + + [Serializable] + [PostProcess(typeof(RadialBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/RadialBlur/RadialBlurV1")] + public class RadialBlur : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.6f }; + + [Range(2,30)] + public IntParameter Iteration = new IntParameter { value = 10 }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterX = new FloatParameter { value = 0.5f }; + [Range(0f, 1.0f)] + public FloatParameter RadialCenterY = new FloatParameter { value = 0.5f }; + + } + + public sealed class RadialBlurRenderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-RadialBlurV1"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RadialBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params , new Vector4(settings.BlurRadius * 0.02f, settings.Iteration, settings.RadialCenterX, settings.RadialCenterY)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta new file mode 100644 index 00000000..a032a568 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/RadialBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97486e7d527f76744850f3ba7d1c523d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta new file mode 100644 index 00000000..3c97c28b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66ac14b8847a63d428dac2165a46bcb3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader new file mode 100644 index 00000000..f2126a2d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader @@ -0,0 +1,63 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RadialBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half4 _Params; + + #define _BlurRadius _Params.x + #define _Iteration _Params.y + #define _RadialCenter _Params.zw + + + half4 RadialBlur(VaryingsDefault i) + { + float2 blurVector = (_RadialCenter - i.texcoord.xy) * _BlurRadius; + + half4 acumulateColor = half4(0, 0, 0, 0); + + [unroll(30)] + for (int j = 0; j < _Iteration; j ++) + { + acumulateColor += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + i.texcoord.xy += blurVector; + } + + return acumulateColor / _Iteration; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return RadialBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta new file mode 100644 index 00000000..5386901d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlur/Shader/RadialBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ab9633e0ef5825a4ba7994ec78ded80c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2.meta new file mode 100644 index 00000000..946f5892 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e4cd40a0ef729b4f9bde25c401a1e6c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta new file mode 100644 index 00000000..4ddc1b4a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c11c04df97f3774ea65f0fe0168bdae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs new file mode 100644 index 00000000..e030bb75 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RadialBlurV2))] + public sealed class RadialBlurV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride QualityLevel; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride RadialCenterX; + SerializedParameterOverride RadialCenterY; + + + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + RadialCenterX = FindParameterOverride(x => x.RadialCenterX); + RadialCenterY = FindParameterOverride(x => x.RadialCenterY); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(QualityLevel); + PropertyField(BlurRadius); + + EditorUtilities.DrawHeaderLabel("Radial Center"); + PropertyField(RadialCenterX); + PropertyField(RadialCenterY); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta new file mode 100644 index 00000000..32cdc0c7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Editor/RadialBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a9486f384e2b9c469cf5aea7f5d7b65 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md new file mode 100644 index 00000000..92b2d70a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md @@ -0,0 +1,16 @@ + +# Radial BlurV2 + +## Source Code List +- [Shader Code](Shader/RadialBlurV2.shader) +- [C# Code](RadialBlurV2.cs) +- [Editor Code](Editor/RadialBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/RadialBlurV2/RadialBlurV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta new file mode 100644 index 00000000..f5a1d5f6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e018597f050e91c4ab54bfe33705722b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs new file mode 100644 index 00000000..4d4c773d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs @@ -0,0 +1,83 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + public enum RadialBlurQuality + { + RadialBlur_4Tap_Fatest = 0, + RadialBlur_6Tap = 1, + RadialBlur_8Tap_Balance = 2, + RadialBlur_10Tap = 3, + RadialBlur_12Tap = 4, + RadialBlur_20Tap_Quality = 5, + RadialBlur_30Tap_Extreme = 6, + } + + [Serializable] + public sealed class RadialBlurQualityParameter : ParameterOverride { } + + + [Serializable] + [PostProcess(typeof(RadialBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/RadialBlur/RadialBlurV2")] + public class RadialBlurV2 : PostProcessEffectSettings + { + public RadialBlurQualityParameter QualityLevel = new RadialBlurQualityParameter { value = RadialBlurQuality.RadialBlur_8Tap_Balance }; + + [Range(-1.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 0.6f }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterX = new FloatParameter { value = 0.5f }; + + [Range(0f, 1.0f)] + public FloatParameter RadialCenterY = new FloatParameter { value = 0.5f }; + } + + public sealed class RadialBlurV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RadialBlurV2"; + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RadialBlurV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.Params, new Vector3(settings.BlurRadius * 0.02f, settings.RadialCenterX, settings.RadialCenterY)); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.QualityLevel.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta new file mode 100644 index 00000000..3dd952b9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/RadialBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7beddb12133c6146b209dd857b93793 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta new file mode 100644 index 00000000..a6c8bda5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0db038cec6c781948af7f8ae3d2395e9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader new file mode 100644 index 00000000..32b56807 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader @@ -0,0 +1,458 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RadialBlurV2" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half3 _Params; + + #define _BlurRadius _Params.x + #define _RadialCenter _Params.yz + + half4 Frag_4Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.25f; // 1/4 + + return color; + } + + + half4 Frag_6Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + + color *= 0.1667f; // 1/6 + + return color; + } + + + half4 Frag_8Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.125f; // 1/8 + + return color; + } + + half4 Frag_10Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.1f; // 1/10 + + return color; + } + + + + half4 Frag_12Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.0833f; // 1/12 + + return color; + } + + half4 Frag_20Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 12 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 13 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 14 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 15 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 16 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 17 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 18 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 19 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + + color *= 0.05f; // 1/20 + + return color; + } + + + half4 Frag_30Tap(VaryingsDefault i): SV_Target + { + + float2 uv = i.texcoord - _RadialCenter; + + half scale = 1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 2 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 3 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 4 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 5 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 6 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 7 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 8 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 9 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 10 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 11 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 12 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 13 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 14 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 15 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 16 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 17 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 18 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 19 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 20 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 21 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 22 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 23 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 24 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 25 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 26 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 27 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 28 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + scale = 29 * _BlurRadius + 1; //1 MAD + color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, uv * scale + _RadialCenter); //1 MAD + + color *= 0.0333f; // 1/30 + + return color; + } + + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_4Tap + + ENDHLSL + + } + + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_6Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_8Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_10Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_12Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_20Tap + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_30Tap + + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta new file mode 100644 index 00000000..06c647a6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RadialBlurV2/Shader/RadialBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50e1a3f09e6a43d4f892004ba2c9fdc3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta new file mode 100644 index 00000000..dc7f0617 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd7f04f16639257419700f58b73fd4c7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta new file mode 100644 index 00000000..44be0880 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 496d949333b3bab4189e2fb58864f7ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs new file mode 100644 index 00000000..587bab8f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidOldTVVignette))] + public sealed class RapidOldTVVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteCenter); + + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta new file mode 100644 index 00000000..427e64fb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Editor/RapidOldTVVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f191e973536c2246ab02e9b25270963 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md new file mode 100644 index 00000000..41ad7fbf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md @@ -0,0 +1,16 @@ + +# RapidOldTVVignette + +## Source Code List +- [Shader Code](Shader/RapidOldTVVignette.shader) +- [C# Code](RapidOldTVVignette.cs) +- [Editor Code](Editor/RapidOldTVVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignette/RapidOldTVVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta new file mode 100644 index 00000000..5627ea40 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1990143f89aef3d47a79ea724cba459e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs new file mode 100644 index 00000000..c9384091 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs @@ -0,0 +1,59 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidOldTVVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidOldTVVignette")] + public class RapidOldTVVignette : PostProcessEffectSettings + { + + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidOldTVVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RapidOldTVVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidOldTVVignette"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetVector("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta new file mode 100644 index 00000000..548883c1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/RapidOldTVVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c14abea3a10d5af48bbe07ae95ded857 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta new file mode 100644 index 00000000..929d158c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5f5c6382d4120942bf4018510cc0f92 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader new file mode 100644 index 00000000..b9ddcab8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader @@ -0,0 +1,98 @@ +Shader "Hidden/X-PostProcessing/RapidOldTVVignette" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half2 _VignetteCenter; + half4 _VignetteColor; + + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord.xy = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord.xy = o.texcoord.xy * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + + // uv [0, 1] ->[-0.5, 0.5] + o.texcoord.zw = o.texcoord.xy - _VignetteCenter; + + return o; + } + + float4 Frag(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //普通vignette曲线 -> Old TV曲线 + i.texcoord.zw *= i.texcoord.zw; + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity * 20); + + return vignetteIndensity * finalColor; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //普通vignette曲线 -> Old TV曲线 + i.texcoord.zw *= i.texcoord.zw; + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity * 20); + + //基于vignette强度,插值VignetteColor颜色和场景颜色 + finalColor.rgb = lerp(_VignetteColor.rgb, finalColor.rgb, vignetteIndensity); + + return half4(finalColor.rgb, _VignetteColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} + + + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta new file mode 100644 index 00000000..cce3a7dd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignette/Shader/RapidOldTVVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4c490902fc87fc46ac5061c75d44bc3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta new file mode 100644 index 00000000..c2c2ea52 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb4da3502a797ea4593fe11df29616f6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta new file mode 100644 index 00000000..4c2ec526 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7822fa7a1406c8f4198369875808c3b7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs new file mode 100644 index 00000000..a46856db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs @@ -0,0 +1,55 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidOldTVVignetteV2))] + public sealed class RapidOldTVVignetteV2Editor : PostProcessEffectEditor + { + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteSize; + SerializedParameterOverride sizeOffset; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteSize = FindParameterOverride(x => x.vignetteSize); + sizeOffset = FindParameterOverride(x => x.sizeOffset); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(vignetteType); + PropertyField(vignetteSize); + PropertyField(sizeOffset); + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta new file mode 100644 index 00000000..ed260a57 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Editor/RapidOldTVVignetteV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 648835b00b9b694479252a2cbe5d13f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md new file mode 100644 index 00000000..402b6eb2 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md @@ -0,0 +1,16 @@ + +# RapidOldTVVignetteV2 + +## Source Code List +- [Shader Code](Shader/RapidOldTVVignetteV2.shader) +- [C# Code](RapidOldTVVignetteV2.cs) +- [Editor Code](Editor/RapidOldTVVignetteV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidOldTVVignetteV2/RapidOldTVVignetteV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta new file mode 100644 index 00000000..0dade738 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 84e2733e2762ed64e9691cc77c3103ab +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs new file mode 100644 index 00000000..461e6534 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs @@ -0,0 +1,69 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidOldTVVignetteV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidOldTVVignetteV2")] + public class RapidOldTVVignetteV2 : PostProcessEffectSettings + { + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(1.0f, 5000.0f)] + public FloatParameter vignetteSize = new FloatParameter { value = 20f }; + + [Range(0.0f, 1.0f)] + public FloatParameter sizeOffset = new FloatParameter { value = 0.2f }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidOldTVVignetteV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-GlitchLineBlock"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidOldTVVignetteV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteSize", settings.vignetteSize); + sheet.properties.SetFloat("_SizeOffset", settings.sizeOffset); + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta new file mode 100644 index 00000000..fe4acf20 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/RapidOldTVVignetteV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a9cf47ac2961034bac04fad4a99a572 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta new file mode 100644 index 00000000..f1e13e1a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3683eaa498b09348a7402c28cb24967 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader new file mode 100644 index 00000000..f0873eeb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader @@ -0,0 +1,70 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidOldTVVignetteV2" +{ + + HLSLINCLUDE + + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _VignetteSize; + uniform half _SizeOffset; + uniform half4 _VignetteColor; + + + float4 Frag(VaryingsDefault i): SV_Target + { + half2 uv = -i.texcoord * i.texcoord + i.texcoord; //MAD + half VignetteIndensity = saturate(uv.x * uv.y * _VignetteSize + _SizeOffset); + return VignetteIndensity * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + } + + float4 Frag_ColorAdjust(VaryingsDefault i): SV_Target + { + half2 uv = -i.texcoord * i.texcoord + i.texcoord; //MAD + half VignetteIndensity = saturate(uv.x * uv.y * _VignetteSize + _SizeOffset); + + return lerp(_VignetteColor, SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord), VignetteIndensity); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta new file mode 100644 index 00000000..e4ee4ed7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2/Shader/RapidOldTVVignetteV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: edabfde6da796eb4891b0231d09590f7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette.meta b/Assets/X-PostProcessing/Effects/RapidVignette.meta new file mode 100644 index 00000000..cde4571b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 134bef9b00b6a8f4fb015ed8eaef0771 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta new file mode 100644 index 00000000..76e2dbb7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86bcc55eef39d1544bd172308495afb9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs new file mode 100644 index 00000000..4d3d9e5f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs @@ -0,0 +1,59 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidVignette))] + public sealed class RapidVignetteEditor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteCenter); + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta new file mode 100644 index 00000000..938ae610 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Editor/RapidVignetteEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1675f5210afe2a44ab7c3c92b90ec83f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/README.md b/Assets/X-PostProcessing/Effects/RapidVignette/README.md new file mode 100644 index 00000000..8a22c8d5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/README.md @@ -0,0 +1,16 @@ + +# RapidVignette + +## Source Code List +- [Shader Code](Shader/RapidVignette.shader) +- [C# Code](RapidVignette.cs) +- [Editor Code](Editor/RapidVignetteEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignetteProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignette.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignette/RapidVignette.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta b/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta new file mode 100644 index 00000000..54b84bcb --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c66b962bf62fb8546afa888ec9987845 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs new file mode 100644 index 00000000..2b52865f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs @@ -0,0 +1,82 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + public enum VignetteType + { + ClassicMode = 0, + ColorMode = 1, + } + + [Serializable] + public sealed class VignetteTypeParameter : ParameterOverride { } + + + + [Serializable] + [PostProcess(typeof(RapidVignetteRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidVignette")] + public class RapidVignette : PostProcessEffectSettings + { + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + } + + public sealed class RapidVignetteRenderer : PostProcessEffectRenderer + { + private Shader shader; + + private const string PROFILER_TAG = "X-RapidVignette"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidVignette"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta new file mode 100644 index 00000000..fcc1ebaa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/RapidVignette.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b24348132ef15346be9ae6f5fe6e94e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta new file mode 100644 index 00000000..52a12387 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 682097f7a37c9d74eab25dcbb1647977 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader new file mode 100644 index 00000000..ee3c394f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader @@ -0,0 +1,97 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidVignette" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half2 _VignetteCenter; + half4 _VignetteColor; + + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord.xy = TransformTriangleVertexToUV(v.vertex.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.texcoord.xy = o.texcoord.xy * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + + // uv [0, 1] ->[-0.5, 0.5] + o.texcoord.zw = o.texcoord.xy - _VignetteCenter; + + return o; + } + + float4 Frag(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity); + + return vignetteIndensity * finalColor; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + float4 finalColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + //求解vignette强度 + float vignetteIndensity = saturate(1.0 - dot(i.texcoord.zw, i.texcoord.zw) * _VignetteIndensity); + + //基于vignette强度,插值VignetteColor颜色和场景颜色 + finalColor.rgb = lerp(_VignetteColor.rgb, finalColor.rgb, vignetteIndensity); + + return half4(finalColor.rgb, _VignetteColor.a); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag_ColorAdjust + ENDHLSL + + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta new file mode 100644 index 00000000..7a26967a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignette/Shader/RapidVignette.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdc1050498183344cb753ab4d67a789d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta new file mode 100644 index 00000000..8023a0cf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c25408169bf94cc4487a6e2d4caf34a4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta new file mode 100644 index 00000000..c592fcda --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5cf0aecd74c24a479f5df13ee208720 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs new file mode 100644 index 00000000..d2c97e94 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(RapidVignetteV2))] + public sealed class RapidVignetteV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride vignetteType; + SerializedParameterOverride vignetteIndensity; + SerializedParameterOverride vignetteSharpness; + SerializedParameterOverride vignetteCenter; + SerializedParameterOverride vignetteColor; + + public override void OnEnable() + { + vignetteType = FindParameterOverride(x => x.vignetteType); + vignetteIndensity = FindParameterOverride(x => x.vignetteIndensity); + vignetteSharpness = FindParameterOverride(x => x.vignetteSharpness); + vignetteCenter = FindParameterOverride(x => x.vignetteCenter); + vignetteColor = FindParameterOverride(x => x.vignetteColor); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + PropertyField(vignetteType); + PropertyField(vignetteIndensity); + PropertyField(vignetteSharpness); + PropertyField(vignetteCenter); + + if (vignetteType.value.enumValueIndex == 1) + { + PropertyField(vignetteColor); + } + + + } + + } +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta new file mode 100644 index 00000000..fa6bccb3 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Editor/RapidVignetteV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b96371ea701576b4abfa247cae48db78 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md new file mode 100644 index 00000000..f8dd0413 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md @@ -0,0 +1,16 @@ + +# RapidVignetteV2 + +## Source Code List +- [Shader Code](Shader/RapidVignetteV2.shader) +- [C# Code](RapidVignetteV2.cs) +- [Editor Code](Editor/RapidVignetteV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Vignette/RapidVignetteV2/RapidVignetteV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta new file mode 100644 index 00000000..d3ad6784 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: db25e92966848b44bbce2c21bb85bd3e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs new file mode 100644 index 00000000..767bdd65 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs @@ -0,0 +1,77 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; +using XPostProcessing; + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(RapidVignetteV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Vignette/RapidVignetteV2")] + public class RapidVignetteV2 : PostProcessEffectSettings + { + + public VignetteTypeParameter vignetteType = new VignetteTypeParameter { value = VignetteType.ClassicMode }; + + [Range(0.0f, 5.0f)] + public FloatParameter vignetteIndensity = new FloatParameter { value = 0.2f }; + + [Range(-1f, 1f)] + public FloatParameter vignetteSharpness = new FloatParameter { value = 0.1f }; + + public Vector2Parameter vignetteCenter = new Vector2Parameter { value = new Vector2(0.5f, 0.5f) }; + + [ColorUsageAttribute(true, true, 0f, 20f, 0.125f, 3f)] + public ColorParameter vignetteColor = new ColorParameter { value = new Color(0.1f, 0.8f, 1.0f) }; + + + public GradientParameter grident1 = new GradientParameter { value = null }; + + } + + public sealed class RapidVignetteV2Renderer : PostProcessEffectRenderer + { + private Shader shader; + private const string PROFILER_TAG = "X-RapidVignetteV2"; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/RapidVignetteV2"); + } + + public override void Release() + { + base.Release(); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat("_VignetteIndensity", settings.vignetteIndensity); + sheet.properties.SetFloat("_VignetteSharpness", settings.vignetteSharpness); + sheet.properties.SetVector("_VignetteCenter", settings.vignetteCenter); + if (settings.vignetteType.value == VignetteType.ColorMode) + { + sheet.properties.SetColor("_VignetteColor", settings.vignetteColor); + } + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, (int)settings.vignetteType.value); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta new file mode 100644 index 00000000..dce23a6e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/RapidVignetteV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b11b76e24651ad49a03923536ac0a3b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta new file mode 100644 index 00000000..c69d302a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8adf39993e333794595cf34e6e21af7d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader new file mode 100644 index 00000000..9abcf07d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader @@ -0,0 +1,85 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/RapidVignetteV2" +{ + + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float4 texcoord: TEXCOORD0; + }; + + half _VignetteIndensity; + half _VignetteSharpness; + half2 _VignetteCenter; + half4 _VignetteColor; + + + float4 Frag(VertexOutput i): SV_Target + { + + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + half indensity = distance(i.texcoord.xy, _VignetteCenter.xy); + indensity = smoothstep(0.8, _VignetteSharpness * 0.799, indensity * (_VignetteIndensity + _VignetteSharpness)); + return sceneColor * indensity; + } + + + float4 Frag_ColorAdjust(VertexOutput i): SV_Target + { + + float4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy); + + half indensity = distance(i.texcoord.xy, _VignetteCenter.xy); + indensity = smoothstep(0.8, _VignetteSharpness * 0.799, indensity * (_VignetteIndensity + _VignetteSharpness)); + + half3 finalColor = lerp(_VignetteColor.rgb, sceneColor.rgb, indensity); + + return float4(finalColor.rgb, _VignetteColor.a); + + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag_ColorAdjust + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta new file mode 100644 index 00000000..3f8b2fd9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/RapidVignetteV2/Shader/RapidVignetteV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 052086f9d833d2f499c27cf7f9fcdb3a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1.meta b/Assets/X-PostProcessing/Effects/SharpenV1.meta new file mode 100644 index 00000000..1a7fa642 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86c222e65e3e5d54fa30bf80304dd1fb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta new file mode 100644 index 00000000..f2840d72 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c4451d569f395444a107ceba42407c6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs new file mode 100644 index 00000000..feea2d27 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV1))] + public sealed class SharpenV1Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Strength; + SerializedParameterOverride Threshold; + + + public override void OnEnable() + { + Strength = FindParameterOverride(x => x.Strength); + Threshold = FindParameterOverride(x => x.Threshold); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Strength); + PropertyField(Threshold); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta new file mode 100644 index 00000000..cdcf06e7 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Editor/SharpenV1Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 78f28227c00d3e440a3ff59c534cbfe8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/README.md b/Assets/X-PostProcessing/Effects/SharpenV1/README.md new file mode 100644 index 00000000..c0d73f17 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/README.md @@ -0,0 +1,16 @@ + +# SharpenV1 + +## Source Code List +- [Shader Code](Shader/SharpenV1.shader) +- [C# Code](SharpenV1.cs) +- [Editor Code](Editor/SharpenV1Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV1/SharpenV1.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta new file mode 100644 index 00000000..601c20db --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5468c2d6d39d5a5448e0a6e8ac634026 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta new file mode 100644 index 00000000..b8c7a1af --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e2c6dd33dc4222f40958da71a7f16074 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader new file mode 100644 index 00000000..5d228ab8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV1" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Strength; + uniform half _Threshold; + + half4 Frag(VaryingsDefault i): SV_Target + { + + half2 pixelSize = float2(1 / _ScreenParams.x, 1 / _ScreenParams.y); + half2 halfPixelSize = pixelSize * 0.5; + + half4 blur = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(halfPixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, -halfPixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, halfPixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-halfPixelSize.x, pixelSize.y)); + blur *= 0.25; + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + half4 lumaStrength = half4(0.222, 0.707, 0.071, 0.0) * _Strength; + half4 sharp = sceneColor - blur; + + sceneColor += clamp(dot(sharp, lumaStrength), -_Threshold, _Threshold); + + return sceneColor; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta new file mode 100644 index 00000000..56d89175 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/Shader/SharpenV1.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b4c7ede900f2c643a25255204e2f9ab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs new file mode 100644 index 00000000..0de6a965 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV1Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV1")] + public class SharpenV1 : PostProcessEffectSettings + { + + [Range(0.0f, 5.0f)] + public FloatParameter Strength = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter Threshold = new FloatParameter { value = 0.1f }; + } + + public sealed class SharpenV1Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV1"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV1"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Strength = Shader.PropertyToID("_Strength"); + internal static readonly int Threshold = Shader.PropertyToID("_Threshold"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.Strength, settings.Strength); + sheet.properties.SetFloat(ShaderIDs.Threshold, settings.Threshold); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta new file mode 100644 index 00000000..8440033c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV1/SharpenV1.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40377b0e5485242428bcad064971c398 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2.meta b/Assets/X-PostProcessing/Effects/SharpenV2.meta new file mode 100644 index 00000000..2c03f001 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f3ab52d3d62b43448fcab32ca5bd32a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta new file mode 100644 index 00000000..b6a6787f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5442da4251e538745b87b19b78d8556f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs new file mode 100644 index 00000000..846a1031 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs @@ -0,0 +1,45 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV2))] + public sealed class SharpenV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Sharpness; + + + public override void OnEnable() + { + Sharpness = FindParameterOverride(x => x.Sharpness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Sharpness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta new file mode 100644 index 00000000..a0cc7eb5 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Editor/SharpenV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ec3a8fa5714d0a488b8d29f54a38ea5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/README.md b/Assets/X-PostProcessing/Effects/SharpenV2/README.md new file mode 100644 index 00000000..533c28d8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/README.md @@ -0,0 +1,17 @@ + +# SharpenV2 + +## Source Code List +- [Shader Code](Shader/SharpenV2.shader) +- [C# Code](SharpenV2.cs) +- [Editor Code](Editor/SharpenV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2Property.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV2/SharpenV2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta new file mode 100644 index 00000000..587f5189 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6eee732ee144ee43bfdedc7a074c2e2 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta new file mode 100644 index 00000000..758361bc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c4d3c77699e7e54d81561bcf7edd913 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader new file mode 100644 index 00000000..c225ac9a --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader @@ -0,0 +1,57 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV2" +{ + HLSLINCLUDE + +#include "../../../Shaders/StdLib.hlsl" +#include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _Sharpness; + + half4 Frag(VaryingsDefault i) : SV_Target + { + + half2 pixelSize = float2(1 / _ScreenParams.x, 1 / _ScreenParams.y); + pixelSize *= 1.5f; + + half4 blur = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, -pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(pixelSize.x, pixelSize.y)); + blur += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + half2(-pixelSize.x, pixelSize.y)); + blur *= 0.25; + + + half4 sceneColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + + return sceneColor + (sceneColor - blur) * _Sharpness; + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta new file mode 100644 index 00000000..c097ecf9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/Shader/SharpenV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95e6c3c3a5644ac46b8d554509c764b4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs new file mode 100644 index 00000000..d11db95c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs @@ -0,0 +1,61 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV2")] + public class SharpenV2 : PostProcessEffectSettings + { + [Range(0.0f, 5.0f)] + public FloatParameter Sharpness = new FloatParameter { value = 0.5f }; + } + + public sealed class SharpenV2Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV2"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV2"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Sharpness = Shader.PropertyToID("_Sharpness"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.Sharpness, settings.Sharpness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta new file mode 100644 index 00000000..fa466362 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV2/SharpenV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 471bd7104cd971b4eb9df5b8d743ee55 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3.meta b/Assets/X-PostProcessing/Effects/SharpenV3.meta new file mode 100644 index 00000000..93d547b6 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 688c85f19b3a76b41b8aaa284eb2ddc8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta new file mode 100644 index 00000000..a9b29309 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ffb253379595e384781c891d9f0baa99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs new file mode 100644 index 00000000..bdd9799c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs @@ -0,0 +1,43 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(SharpenV3))] + public sealed class SharpenV3Editor : PostProcessEffectEditor + { + SerializedParameterOverride Sharpness; + + public override void OnEnable() + { + Sharpness = FindParameterOverride(x => x.Sharpness); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(Sharpness); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta new file mode 100644 index 00000000..babe2ecc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Editor/SharpenV3Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5b0dfca0de73ab8488cf5019730b7521 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/README.md b/Assets/X-PostProcessing/Effects/SharpenV3/README.md new file mode 100644 index 00000000..91819faa --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/README.md @@ -0,0 +1,17 @@ + +# SharpenV3 + +## Source Code List +- [Shader Code](Shader/SharpenV3.shader) +- [C# Code](SharpenV3.cs) +- [Editor Code](Editor/SharpenV3Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3Property.png) + +## Gallery + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/ImageProcessing/SharpenV3/SharpenV3.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta b/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta new file mode 100644 index 00000000..f7902e53 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 06934f605f524624889de016f1fb8dfd +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta new file mode 100644 index 00000000..900acdca --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e415efd0c08721945af76d2226af4c80 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader new file mode 100644 index 00000000..e50604fc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader @@ -0,0 +1,73 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/SharpenV3" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + uniform half _CentralFactor; + uniform half _SideFactor; + + + + struct VertexOutput + { + float4 vertex: SV_POSITION; + float2 texcoord: TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + }; + + VertexOutput Vert(AttributesDefault v) + { + VertexOutput o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); +#if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); +#endif + o.texcoord1 = half4(o.texcoord.xy - _MainTex_TexelSize.xy, o.texcoord.xy + _MainTex_TexelSize.xy); + return o; + } + + half4 Frag(VertexOutput i): SV_Target + { + //return i.texcoord1; + half4 color = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord.xy) * _CentralFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.xy) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.xw) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.zy) * _SideFactor; + color -= SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord1.zw) * _SideFactor; + return color; + } + + ENDHLSL + + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex Vert + #pragma fragment Frag + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta new file mode 100644 index 00000000..adc3d368 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/Shader/SharpenV3.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 501f8c1b513cdea428a231ca09307a32 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs new file mode 100644 index 00000000..353159ce --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs @@ -0,0 +1,65 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(SharpenV3Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/ImageProcessing/SharpenV3")] + public class SharpenV3 : PostProcessEffectSettings + { + + [Range(0.0f, 1.0f)] + public FloatParameter Sharpness = new FloatParameter { value = 0.5f }; + } + + public sealed class SharpenV3Renderer : PostProcessEffectRenderer + { + private const string PROFILER_TAG = "X-SharpenV3"; + private Shader shader; + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/SharpenV3"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int CentralFactor = Shader.PropertyToID("_CentralFactor"); + internal static readonly int SideFactor = Shader.PropertyToID("_SideFactor"); + + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetFloat(ShaderIDs.CentralFactor, 1.0f + (3.2f * settings.Sharpness)); + sheet.properties.SetFloat(ShaderIDs.SideFactor, 0.8f * settings.Sharpness); + + context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta new file mode 100644 index 00000000..f59b6901 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/SharpenV3/SharpenV3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a9dc0db68416a99418435d1319447270 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur.meta b/Assets/X-PostProcessing/Effects/TentBlur.meta new file mode 100644 index 00000000..93199a04 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02597cbef37fa144a9578ec1a892857d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta b/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta new file mode 100644 index 00000000..644a19d1 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f84efda9562636149b15d9c85da43c08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs new file mode 100644 index 00000000..36a160f9 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs @@ -0,0 +1,48 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TentBlur))] + public sealed class TentBlurEditor : PostProcessEffectEditor + { + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + public override void OnEnable() + { + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta new file mode 100644 index 00000000..7eff1876 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Editor/TentBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e92712e6c20cead43bc529c6b26a2824 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/README.md b/Assets/X-PostProcessing/Effects/TentBlur/README.md new file mode 100644 index 00000000..d2bd4200 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/README.md @@ -0,0 +1,16 @@ + +# Tent Blur + +## Source Code List +- [Shader Code](Shader/TentBlur.shader) +- [C# Code](TentBlur.cs) +- [Editor Code](Editor/TentBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TentBlur/TentBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta b/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta new file mode 100644 index 00000000..6bfd1fa8 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2462a39bea42ee949a0229e0d3f269bb +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta b/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta new file mode 100644 index 00000000..821fa023 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ac199d5ba44fd248a82aab22a3f155e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader new file mode 100644 index 00000000..da0eb81d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader @@ -0,0 +1,79 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +Shader "Hidden/X-PostProcessing/TentBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + half4 _BlurOffset; + + // 9-tap tent filter + half4 TentFilter_9Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) + { + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0); + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.xy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv - d.zy); // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zw) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv) * 4.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xw) * 2.0; // 1 MAD + + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.zy); + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.wy) * 2.0; // 1 MAD + s += SAMPLE_TEXTURE2D(tex, samplerTex, uv + d.xy); + + return s * (1.0 / 16.0); + } + + float4 FragTentBlur(VaryingsDefault i): SV_Target + { + return TentFilter_9Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffset.xy).rgba; + } + + float4 FragCombine(VaryingsDefault i): SV_Target + { + return SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoordStereo); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTentBlur + + ENDHLSL + + } + + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragCombine + + ENDHLSL + + } + } +} diff --git a/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta new file mode 100644 index 00000000..36115d9c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/Shader/TentBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1689a2496e4dbc741b2a4ca7b9222904 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs new file mode 100644 index 00000000..3c308814 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs @@ -0,0 +1,102 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(TentBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TentBlur")] + public class TentBlur : PostProcessEffectSettings + { + [Range(0f, 5f)] + public FloatParameter BlurRadius = new FloatParameter { value = 3f }; + + [Range(1, 20)] + public IntParameter Iteration = new IntParameter { value = 6 }; + + [Range(1, 8)] + public FloatParameter RTDownScaling = new FloatParameter { value = 2 }; + } + + public sealed class TentBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TentBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TentBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int BlurRadius = Shader.PropertyToID("_BlurOffset"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + + cmd.BeginSample(PROFILER_TAG); + + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // downsample screen copy into smaller RT + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1); + + + for (int i = 0; i < settings.Iteration; i++) + { + if (settings.Iteration > 20) + { + return; + } + + Vector4 BlurRadius = new Vector4(settings.BlurRadius / (float)context.screenWidth, settings.BlurRadius / (float)context.screenHeight, 0, 0); + // RT1 -> RT2 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT1, ShaderIDs.BufferRT2, sheet, 0); + + // RT2 -> RT1 + sheet.properties.SetVector(ShaderIDs.BlurRadius, BlurRadius); + context.command.BlitFullscreenTriangle(ShaderIDs.BufferRT2, ShaderIDs.BufferRT1, sheet, 0); + } + + // Render blurred texture in blend pass + cmd.BlitFullscreenTriangle(ShaderIDs.BufferRT1, context.destination, sheet, 1); + + // release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta new file mode 100644 index 00000000..099f1b3c --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TentBlur/TentBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e89c3a5557aa43488e157760907b0bb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta new file mode 100644 index 00000000..2958e73e --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 49221344c453b6941826396f27cd6044 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta new file mode 100644 index 00000000..f7c32612 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 672b699c6ccd00f4080165dff0266208 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs new file mode 100644 index 00000000..70a15ce4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs @@ -0,0 +1,56 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TiltShiftBlur))] + public sealed class TiltShiftBlurEditor : PostProcessEffectEditor + { + + SerializedParameterOverride QualityLevel; + SerializedParameterOverride AreaSize; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride Iteration; + SerializedParameterOverride RTDownScaling; + + public override void OnEnable() + { + QualityLevel = FindParameterOverride(x => x.QualityLevel); + AreaSize = FindParameterOverride(x => x.AreaSize); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + Iteration = FindParameterOverride(x => x.Iteration); + RTDownScaling = FindParameterOverride(x => x.RTDownScaling); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + PropertyField(QualityLevel); + PropertyField(AreaSize); + PropertyField(BlurRadius); + PropertyField(Iteration); + PropertyField(RTDownScaling); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta new file mode 100644 index 00000000..6ceeddf0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Editor/TiltShiftBlurEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe52d0816c078994f9bff957e1ef3e00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md new file mode 100644 index 00000000..ad9dd6bc --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md @@ -0,0 +1,16 @@ + +# Tilt Shift Blur + +## Source Code List +- [Shader Code](Shader/TiltShiftBlur.shader) +- [C# Code](TiltShiftBlur.cs) +- [Editor Code](Editor/TiltShiftBlurEditor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlurProperty.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlur.jpg) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlur/TiltShiftBlur.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta new file mode 100644 index 00000000..fb9e1639 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37172c5405042254c97aa264249bd82c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta new file mode 100644 index 00000000..953df554 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7b13b937934729a43acac475ee5d3187 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader new file mode 100644 index 00000000..61ac506d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader @@ -0,0 +1,184 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +// reference 1 : https://www.shadertoy.com/view/4d2Xzw +// reference 2 : https://github.com/imclab/TiltShift + +Shader "Hidden/X-PostProcessing/TiltShiftBlur" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + TEXTURE2D_SAMPLER2D(_BlurredTex, sampler_BlurredTex); + + float4 _BlurredTex_TexelSize; + half2 _Params; + + #define _BlurSize _Params.x + #define _BlurRadius _Params.y + + + + static const int DiscKernelSampleNum_LQ = 12; + static const float2 DiscKernel_LQ[DiscKernelSampleNum_LQ] = + { + float2(-0.326212, -0.40581), + float2(-0.840144, -0.07358), + float2(-0.695914, 0.457137), + float2(-0.203345, 0.620716), + float2(0.96234, -0.194983), + float2(0.473434, -0.480026), + float2(0.519456, 0.767022), + float2(0.185461, -0.893124), + float2(0.507431, 0.064425), + float2(0.89642, 0.412458), + float2(-0.32194, -0.932615), + float2(-0.791559, -0.59771) + }; + + static const int DiscKernelSampleNum_HQ = 28; + static const float3 DiscKernel_HQ[DiscKernelSampleNum_HQ] = + { + float3(0.62463, 0.54337, 0.82790), + float3(-0.13414, -0.94488, 0.95435), + float3(0.38772, -0.43475, 0.58253), + float3(0.12126, -0.19282, 0.22778), + float3(-0.20388, 0.11133, 0.23230), + float3(0.83114, -0.29218, 0.88100), + float3(0.10759, -0.57839, 0.58831), + float3(0.28285, 0.79036, 0.83945), + float3(-0.36622, 0.39516, 0.53876), + float3(0.75591, 0.21916, 0.78704), + float3(-0.52610, 0.02386, 0.52664), + float3(-0.88216, -0.24471, 0.91547), + float3(-0.48888, -0.29330, 0.57011), + float3(0.44014, -0.08558, 0.44838), + float3(0.21179, 0.51373, 0.55567), + float3(0.05483, 0.95701, 0.95858), + float3(-0.59001, -0.70509, 0.91938), + float3(-0.80065, 0.24631, 0.83768), + float3(-0.19424, -0.18402, 0.26757), + float3(-0.43667, 0.76751, 0.88304), + float3(0.21666, 0.11602, 0.24577), + float3(0.15696, -0.85600, 0.87027), + float3(-0.75821, 0.58363, 0.95682), + float3(0.99284, -0.02904, 0.99327), + float3(-0.22234, -0.57907, 0.62029), + float3(0.55052, -0.66984, 0.86704), + float3(0.46431, 0.28115, 0.54280), + float3(-0.07214, 0.60554, 0.60982), + }; + + + float TiltShiftMask(float2 uv) + { + float centerY = uv.y * 2.0 - 1.0; + return(abs(centerY * _BlurSize * 0.001)); + } + + float4 FragTiltShiftLQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = TiltShiftMask(i.texcoord.xy); + + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_LQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_LQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_LQ), mask); + } + + float4 FragTiltShiftHQ(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float3 sum = screenColor.rgb; + + float mask = TiltShiftMask(i.texcoord.xy); + float4 poissonScale = (_BlurRadius * 30) * mask; + + for (int l = 0; l < DiscKernelSampleNum_HQ; l ++) + { + float2 sampleUV = i.texcoord.xy + DiscKernel_HQ[l].xy * poissonScale.xy; + float3 sample0 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + float3 sample1 = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, sampleUV.xy).rgb; + + sum += sample0 + sample1; + } + + return float4(sum.rgb / (1.0 + 2.0 * DiscKernelSampleNum_HQ), mask); + } + + float4 FragBlend(VaryingsDefault i): SV_Target + { + float4 screenColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord); + float4 blurredColor = SAMPLE_TEXTURE2D(_BlurredTex, sampler_BlurredTex, i.texcoord); + + float3 result = lerp(blurredColor.rgb, screenColor.rgb, saturate(blurredColor.a)); + + return float4(result.rgb, screenColor.a); + } + + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + //Pass 0 - Tilt Shift Blur High Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTiltShiftHQ + + ENDHLSL + + } + + //Pass 1 - Tilt Shift Blur Low Quality + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragTiltShiftLQ + + ENDHLSL + + } + + //Pass 2 - Blend + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragBlend + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta new file mode 100644 index 00000000..04d8eb2f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/Shader/TiltShiftBlur.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ab678d3b9335d8438f4a90f3e05f3c9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs new file mode 100644 index 00000000..ff220f83 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs @@ -0,0 +1,160 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + public enum TiltShiftBlurQualityLevel + { + High_Quality = 0, + Normal_Quality = 1, + } + + [Serializable] + public sealed class TiltShiftBlurQualityLevelParameter : ParameterOverride { } + + [Serializable] + [PostProcess(typeof(TiltShiftBlurRenderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TiltShiftBlur/TiltShiftBlurV1")] + public class TiltShiftBlur : PostProcessEffectSettings + { + public TiltShiftBlurQualityLevelParameter QualityLevel = new TiltShiftBlurQualityLevelParameter { value = TiltShiftBlurQualityLevel.High_Quality }; + + [Range(0.0f, 1.0f)] + public FloatParameter AreaSize = new FloatParameter { value = 0.5f }; + + [Range(0.0f, 1.0f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1.0f }; + + [Range(1, 8)] + public IntParameter Iteration = new IntParameter { value = 2 }; + + [Range(1, 2)] + public FloatParameter RTDownScaling = new FloatParameter { value = 1.0f }; + } + + public sealed class TiltShiftBlurRenderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TiltShiftBlur"; + private Shader shader; + + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TiltShiftBlur"); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int Params = Shader.PropertyToID("_Params"); + internal static readonly int BlurredTex = Shader.PropertyToID("_BlurredTex"); + internal static readonly int BufferRT1 = Shader.PropertyToID("_BufferRT1"); + internal static readonly int BufferRT2 = Shader.PropertyToID("_BufferRT2"); + } + + public override void Render(PostProcessRenderContext context) + { + + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + + if (settings.Iteration == 1) + { + HandleOneBlitBlur(context, cmd, sheet); + } + else + { + HandleMultipleIterationBlur(context, cmd, sheet, settings.Iteration); + } + + cmd.EndSample(PROFILER_TAG); + } + + + void HandleOneBlitBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.AreaSize, settings.BlurRadius)); + + // Do Blit + context.command.BlitFullscreenTriangle(context.source, ShaderIDs.BufferRT1, sheet, (int)settings.QualityLevel.value); + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, ShaderIDs.BufferRT1); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + } + + + void HandleMultipleIterationBlur(PostProcessRenderContext context, CommandBuffer cmd, PropertySheet sheet, int Iteration) + { + if (context == null || cmd == null || sheet == null) + { + return; + } + + // Get RT + int RTWidth = (int)(context.screenWidth / settings.RTDownScaling); + int RTHeight = (int)(context.screenHeight / settings.RTDownScaling); + cmd.GetTemporaryRT(ShaderIDs.BufferRT1, RTWidth, RTHeight, 0, FilterMode.Bilinear); + cmd.GetTemporaryRT(ShaderIDs.BufferRT2, RTWidth, RTHeight, 0, FilterMode.Bilinear); + + // Set Property + sheet.properties.SetVector(ShaderIDs.Params, new Vector2(settings.AreaSize, settings.BlurRadius)); + + RenderTargetIdentifier finalBlurID = ShaderIDs.BufferRT1; + RenderTargetIdentifier firstID = context.source; + RenderTargetIdentifier secondID = ShaderIDs.BufferRT1; + for (int i = 0; i < Iteration; i++) + { + // Do Blit + context.command.BlitFullscreenTriangle(firstID, secondID, sheet, (int)settings.QualityLevel.value); + + finalBlurID = secondID; + firstID = secondID; + secondID = (secondID == ShaderIDs.BufferRT1) ? ShaderIDs.BufferRT2 : ShaderIDs.BufferRT1; + } + + // Final Blit + cmd.SetGlobalTexture(ShaderIDs.BlurredTex, finalBlurID); + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, 2); + + // Release + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT1); + cmd.ReleaseTemporaryRT(ShaderIDs.BufferRT2); + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta new file mode 100644 index 00000000..f8c8bb93 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlur/TiltShiftBlur.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fe9969333681e2d468201ff37b108ebf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta new file mode 100644 index 00000000..0c91795f --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2632ba4fc2bdd56428ada707fd3e2486 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta new file mode 100644 index 00000000..6b96cb70 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85d67136d1aa8bf44a10adbc50efae99 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs new file mode 100644 index 00000000..cb62e0d4 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs @@ -0,0 +1,67 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; + +using UnityEditor.Rendering.PostProcessing; +using UnityEngine.Rendering.PostProcessing; + +namespace XPostProcessing +{ + [PostProcessEditor(typeof(TiltShiftBlurV2))] + public sealed class TiltShiftBlurV2Editor : PostProcessEffectEditor + { + + SerializedParameterOverride Iteration; + SerializedParameterOverride BlurRadius; + SerializedParameterOverride centerOffset; + SerializedParameterOverride AreaSize; + SerializedParameterOverride areaSmooth; + SerializedParameterOverride showPreview; + + + public override void OnEnable() + { + showPreview = FindParameterOverride(x => x.showPreview); + centerOffset = FindParameterOverride(x => x.centerOffset); + AreaSize = FindParameterOverride(x => x.AreaSize); + areaSmooth = FindParameterOverride(x => x.areaSmooth); + Iteration = FindParameterOverride(x => x.Iteration); + BlurRadius = FindParameterOverride(x => x.BlurRadius); + } + + public override string GetDisplayTitle() + { + return XPostProcessingEditorUtility.DISPLAY_TITLE_PREFIX + base.GetDisplayTitle(); + } + + public override void OnInspectorGUI() + { + + EditorUtilities.DrawHeaderLabel("Blur Property"); + PropertyField(BlurRadius); + PropertyField(Iteration); + + EditorUtilities.DrawHeaderLabel("Area Property"); + PropertyField(centerOffset); + PropertyField(AreaSize); + PropertyField(areaSmooth); + + EditorUtilities.DrawHeaderLabel("Debug"); + PropertyField(showPreview); + + } + + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta new file mode 100644 index 00000000..3b2acfbf --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Editor/TiltShiftBlurV2Editor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d13ec10e474c6242b267a162e10e1f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md new file mode 100644 index 00000000..e9c84fbd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md @@ -0,0 +1,18 @@ + +# Tilt Shift BlurV2 + +## Source Code List +- [Shader Code](Shader/TiltShiftBlurV2.shader) +- [C# Code](TiltShiftBlurV2.cs) +- [Editor Code](Editor/TiltShiftBlurV2Editor.cs) + + +## Property +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2Property.png) + +## Gallery +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2.png) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2-1.gif) + +![](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/Blur/TiltShiftBlurV2/TiltShiftBlurV2-2.gif) \ No newline at end of file diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta new file mode 100644 index 00000000..867f6f5d --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b7f22ec3a26e3845a9eb7724eede9f3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta new file mode 100644 index 00000000..ea0ab384 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0582dacb484963a4083f58ea89a3ccee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader new file mode 100644 index 00000000..799ecebd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader @@ -0,0 +1,105 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + + +// reference 1 : https://www.shadertoy.com/view/4d2Xzw +// reference 2 : https://github.com/imclab/TiltShift + +Shader "Hidden/X-PostProcessing/TiltShiftBlurV2" +{ + HLSLINCLUDE + + #include "../../../Shaders/StdLib.hlsl" + #include "../../../Shaders/XPostProcessing.hlsl" + + + half3 _Gradient; + half4 _GoldenRot; + half4 _Distortion; + half4 _Params; + + #define _Offset _Gradient.x + #define _Area _Gradient.y + #define _Spread _Gradient.z + #define _CubicDistortion _Distortion.x + #define _DistortionScale _Distortion.y + #define _Iteration _Params.x + #define _Radius _Params.y + #define _PixelSize _Params.zw + + float TiltShiftMask(float2 uv) + { + float centerY = uv.y * 2.0 - 1.0 + _Offset; // [0,1] -> [-1,1] + return pow(abs(centerY * _Area), _Spread); + } + + half4 FragPreview(VaryingsDefault i): SV_Target + { + return TiltShiftMask(i.texcoord); + } + + half4 TiltShiftBlur(VaryingsDefault i) + { + half2x2 rot = half2x2(_GoldenRot); + half4 accumulator = 0.0; + half4 divisor = 0.0; + + half r = 1.0; + half2 angle = half2(0.0, _Radius * saturate(TiltShiftMask(i.texcoord))); + + for (int j = 0; j < _Iteration; j ++) + { + r += 1.0 / r; + angle = mul(rot, angle); + half4 bokeh = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, float2(i.texcoord + _PixelSize * (r - 1.0) * angle)); + accumulator += bokeh * bokeh; + divisor += bokeh; + } + return accumulator / divisor; + } + + half4 Frag(VaryingsDefault i): SV_Target + { + return TiltShiftBlur(i); + } + + ENDHLSL + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // Pass 0 - Tilt Shift + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment Frag + + ENDHLSL + + } + + // Pass 1 - Preview + Pass + { + HLSLPROGRAM + + #pragma vertex VertDefault + #pragma fragment FragPreview + + ENDHLSL + + } + } +} + + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta new file mode 100644 index 00000000..7dfbf7fd --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/Shader/TiltShiftBlurV2.shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dffebf5f65b64d343a6001a1bd69ce2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs new file mode 100644 index 00000000..3c50a49b --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs @@ -0,0 +1,89 @@ + +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.PostProcessing; + + +namespace XPostProcessing +{ + + [Serializable] + [PostProcess(typeof(TiltShiftBlurV2Renderer), PostProcessEvent.AfterStack, "X-PostProcessing/Blur/TiltShiftBlur/TiltShiftBlurV2")] + public class TiltShiftBlurV2 : PostProcessEffectSettings + { + + [Range(0f, 3f)] + public FloatParameter BlurRadius = new FloatParameter { value = 1f }; + + [Range(8, 128)] + public IntParameter Iteration = new IntParameter { value = 32 }; + + [Range(-1f, 1f)] + public FloatParameter centerOffset = new FloatParameter { value = 0f }; + + [Range(0f, 20f)] + public FloatParameter AreaSize = new FloatParameter { value = 1f }; + + [Range(1f, 20f)] + public FloatParameter areaSmooth = new FloatParameter { value = 1.2f }; + + public BoolParameter showPreview = new BoolParameter { value = false }; + + } + + public sealed class TiltShiftBlurV2Renderer : PostProcessEffectRenderer + { + + private const string PROFILER_TAG = "X-TiltShiftBlurV2"; + private Shader shader; + private Vector4 mGoldenRot = new Vector4(); + + public override void Init() + { + shader = Shader.Find("Hidden/X-PostProcessing/TiltShiftBlurV2"); + + // Precompute rotations + float c = Mathf.Cos(2.39996323f); + float s = Mathf.Sin(2.39996323f); + mGoldenRot.Set(c, s, -s, c); + } + + public override void Release() + { + base.Release(); + } + + static class ShaderIDs + { + internal static readonly int GoldenRot = Shader.PropertyToID("_GoldenRot"); + internal static readonly int Gradient = Shader.PropertyToID("_Gradient"); + internal static readonly int Params = Shader.PropertyToID("_Params"); + } + + public override void Render(PostProcessRenderContext context) + { + CommandBuffer cmd = context.command; + PropertySheet sheet = context.propertySheets.Get(shader); + cmd.BeginSample(PROFILER_TAG); + + sheet.properties.SetVector(ShaderIDs.GoldenRot, mGoldenRot); + sheet.properties.SetVector(ShaderIDs.Gradient, new Vector3(settings.centerOffset, settings.AreaSize, settings.areaSmooth)); + sheet.properties.SetVector(ShaderIDs.Params, new Vector4(settings.Iteration, settings.BlurRadius, 1f / context.width, 1f / context.height)); + + + cmd.BlitFullscreenTriangle(context.source, context.destination, sheet, settings.showPreview ? 1 : 0); + cmd.EndSample(PROFILER_TAG); + } + } +} + diff --git a/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta new file mode 100644 index 00000000..3c21bac0 --- /dev/null +++ b/Assets/X-PostProcessing/Effects/TiltShiftBlurV2/TiltShiftBlurV2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b6fc311bab7f3714daba3e248900eb31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/LICENSE b/Assets/X-PostProcessing/LICENSE new file mode 100644 index 00000000..8f1401e6 --- /dev/null +++ b/Assets/X-PostProcessing/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 浅墨 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/X-PostProcessing/LICENSE.meta b/Assets/X-PostProcessing/LICENSE.meta new file mode 100644 index 00000000..5eaa71fa --- /dev/null +++ b/Assets/X-PostProcessing/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b4298015887360044a80992e276e24c4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Profiles.meta b/Assets/X-PostProcessing/Profiles.meta new file mode 100644 index 00000000..c07d4b2a --- /dev/null +++ b/Assets/X-PostProcessing/Profiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c42e68ffcbce42240b02936b8413ec4d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset new file mode 100644 index 00000000..9ba2428a --- /dev/null +++ b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset @@ -0,0 +1,508 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3} + m_Name: X-PostProcessing ExampleProfiles + m_EditorClassIdentifier: + settings: + - {fileID: 114811271554320798} + - {fileID: 114724888899494118} + - {fileID: 114963614594370276} + - {fileID: 114417544700008348} + - {fileID: 114365642992012064} + - {fileID: 114881628477261990} + - {fileID: 114186190907686168} + - {fileID: 114964623377917018} + - {fileID: 114789630020481822} + - {fileID: 114320506431503834} + - {fileID: 114760233488171950} + - {fileID: 114240762057880376} + - {fileID: 114195601342318132} + - {fileID: 114957445380884270} + - {fileID: 114161431607775064} +--- !u!114 &114079023366429692 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2b24348132ef15346be9ae6f5fe6e94e, type: 3} + m_Name: RapidVignette + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + vignetteType: + overrideState: 1 + value: 1 + vignetteIndensity: + overrideState: 1 + value: 1 + vignetteCenter: + overrideState: 1 + value: {x: 0.5, y: 0.5} + vignetteColor: + overrideState: 1 + value: {r: 0.1, g: 0.8, b: 1, a: 1} +--- !u!114 &114161431607775064 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1b513c82ad9e224db6ba48112ec5d48, type: 3} + m_Name: ColorReplaceV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + FromGradientColor: + overrideState: 0 + value: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + ToGradientColor: + overrideState: 0 + value: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + gridentSpeed: + overrideState: 0 + value: 0.5 + Range: + overrideState: 0 + value: 0.2 + Fuzziness: + overrideState: 0 + value: 0.5 +--- !u!114 &114186190907686168 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2f2bae125e8b72241b38b94373f3c521, type: 3} + m_Name: EdgeDetectionRoberts + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + edgeWidth: + overrideState: 1 + value: 0.98 + edgeColor: + overrideState: 1 + value: {r: 0, g: 0, b: 0, a: 1} + backgroundFade: + overrideState: 1 + value: 1 + backgroundColor: + overrideState: 1 + value: {r: 1, g: 1, b: 1, a: 1} +--- !u!114 &114195601342318132 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ad87ed76c4e75846a28e3a301084ed7, type: 3} + m_Name: BoxBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 3 + Iteration: + overrideState: 0 + value: 6 + RTDownScaling: + overrideState: 0 + value: 2 +--- !u!114 &114240762057880376 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2638595d43b44334d88d398c2ff5a6ad, type: 3} + m_Name: ColorAdjustmentBleachBypass + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + Indensity: + overrideState: 1 + value: 0.405 +--- !u!114 &114320506431503834 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b63d2b442ad53ae42b8343f3a6602000, type: 3} + m_Name: GlitchDigitalStripe + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + intensity: + overrideState: 1 + value: 0.165 + frequncy: + overrideState: 1 + value: 2 + stripeLength: + overrideState: 1 + value: 0.99 + noiseTextureWidth: + overrideState: 1 + value: 20 + noiseTextureHeight: + overrideState: 1 + value: 20 + needStripColorAdjust: + overrideState: 1 + value: 0 + StripColorAdjustColor: + overrideState: 1 + value: {r: 0.1, g: 0.1, b: 0.1, a: 1} + StripColorAdjustIndensity: + overrideState: 1 + value: 2 +--- !u!114 &114365642992012064 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6fc311bab7f3714daba3e248900eb31, type: 3} + m_Name: TiltShiftBlurV2 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 32 + centerOffset: + overrideState: 1 + value: 0 + AreaSize: + overrideState: 0 + value: 1 + areaSmooth: + overrideState: 1 + value: 1.2 + showPreview: + overrideState: 1 + value: 0 +--- !u!114 &114417544700008348 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172b63b63bfdad04dbe149542c33a495, type: 3} + m_Name: GrainyBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 5 + Iteration: + overrideState: 1 + value: 4 + RTDownScaling: + overrideState: 1 + value: 1 +--- !u!114 &114724888899494118 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 078dd948866cdbc45847016fec126b10, type: 3} + m_Name: DualGaussianBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 2.7 + Iteration: + overrideState: 1 + value: 4 + RTDownScaling: + overrideState: 1 + value: 2.66 +--- !u!114 &114760233488171950 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9acc76ac9d8d4e4a8d7294a5bd00c85, type: 3} + m_Name: GlitchImageBlockV3 + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + Speed: + overrideState: 0 + value: 10 + BlockSize: + overrideState: 0 + value: 8 +--- !u!114 &114789630020481822 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e9ef3f5264488414c87b632cd2509b40, type: 3} + m_Name: GlitchRGBSplitV5 + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + Amplitude: + overrideState: 1 + value: 0.5 + Speed: + overrideState: 1 + value: 0.1 +--- !u!114 &114811271554320798 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84ae5393ade3f4847ab851805bcf1777, type: 3} + m_Name: BokehBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 32 + RTDownScaling: + overrideState: 1 + value: 2 +--- !u!114 &114881628477261990 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b3bbc5404f2acf4a9963784dd2159af, type: 3} + m_Name: IrisBlurV2 + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 0 + value: 1 + Iteration: + overrideState: 0 + value: 60 + centerOffsetX: + overrideState: 1 + value: 0 + centerOffsetY: + overrideState: 1 + value: 0 + AreaSize: + overrideState: 0 + value: 8 + showPreview: + overrideState: 1 + value: 0 +--- !u!114 &114957445380884270 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e84cf76f41f4f7459de554628a5a26b, type: 3} + m_Name: ColorReplace + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 + FromColor: + overrideState: 1 + value: {r: 0.8, g: 0, b: 0, a: 1} + ToColor: + overrideState: 1 + value: {r: 0, g: 0.8, b: 0, a: 1} + Range: + overrideState: 1 + value: 0.2 + Fuzziness: + overrideState: 1 + value: 0.5 +--- !u!114 &114963614594370276 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cdb8901486ed154489954ac45ed02d02, type: 3} + m_Name: DualKawaseBlur + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + BlurRadius: + overrideState: 1 + value: 2.8 + Iteration: + overrideState: 1 + value: 3 + RTDownScaling: + overrideState: 1 + value: 2 +--- !u!114 &114964623377917018 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29f414c45c95c4c4fab1fba6f7db9a44, type: 3} + m_Name: GlitchScanLineJitter + m_EditorClassIdentifier: + active: 0 + enabled: + overrideState: 1 + value: 1 + JitterDirection: + overrideState: 1 + value: 0 + intervalType: + overrideState: 0 + value: 2 + frequency: + overrideState: 0 + value: 1 + JitterIndensity: + overrideState: 1 + value: 0.174 diff --git a/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta new file mode 100644 index 00000000..f918ca28 --- /dev/null +++ b/Assets/X-PostProcessing/Profiles/X-PostProcessing ExampleProfiles.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05d6d0fc0cf620743ac9fb0be4727707 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/README.md b/Assets/X-PostProcessing/README.md new file mode 100644 index 00000000..2782bc8e --- /dev/null +++ b/Assets/X-PostProcessing/README.md @@ -0,0 +1,192 @@ + +![XPL-Title-v2.jpg](https://raw.githubusercontent.com/QianMo/X-PostProcessing-Gallery/master/Media/XPL-Title-v2.jpg) + + +X-PostProcessing Libray,简称XPL,是针对Unity引擎的高品质开源后处理库,旨在提供业界主流的高品质后处理特效的完整解决方案。目前已完美支持Unity Post-processing Stack v2,后续也将提供对Unity引擎URP/LWRP/HDRP的兼容支持。 + +**X-PostProcessing Library (XPL)** is a high quality post processing library for for Unity Post Processing Stack v2/LWRP/URP/HDRP + + + + + + + +需要查看更多渲染效果图和每个特效的参数与属性,可以在下面的 [目录 ](#jump) 部分的具体后处理特效子页面中查看。 + +For more gallery , you can enter the specific post-processing effects sub-page in the [ Content ](#jump) section below. + +
+ + + + # 1. 目录 | Content + + + + +- ## 1.1 图像模糊型后处理 | Blur Effects + - [Gaussian Blur](Assets/X-PostProcessing/Effects/GaussianBlur) + - [Box Blur](Assets/X-PostProcessing/Effects/BoxBlur) + - [Tent Blur](Assets/X-PostProcessing/Effects/TentBlur) + - [Kawase Blur](Assets/X-PostProcessing/Effects/KawaseBlur) + - [Dual Kawase Blur](Assets/X-PostProcessing/Effects/DualKawaseBlur) + - [Dual Gaussian Blur](Assets/X-PostProcessing/Effects/DualGaussianBlur) + - [Dual Box Blur](Assets/X-PostProcessing/Effects/DualBoxBlur) + - [Dual Tent Blur](Assets/X-PostProcessing/Effects/DualTentBlur) + - [Bokeh Blur](Assets/X-PostProcessing/Effects/BokehBlur) + - [Tilt Shift Blur](Assets/X-PostProcessing/Effects/TiltShiftBlur) + - [Tilt Shift Blur V2](Assets/X-PostProcessing/Effects/TiltShiftBlurV2) + - [Iris Blur](Assets/X-PostProcessing/Effects/IrisBlur) + - [Iris Blur V2](Assets/X-PostProcessing/Effects/IrisBlurV2) + - [Grainy Blur](Assets/X-PostProcessing/Effects/GrainyBlur) + - [Radial Blur](Assets/X-PostProcessing/Effects/RadialBlur) + - [Radial Blur V2](Assets/X-PostProcessing/Effects/RadialBlurV2) + - [Directional Blur](Assets/X-PostProcessing/Effects/DirectionalBlur) +- ## 1.2 像素化型后处理 | Pixelate Effects + - [Pixelize Quad](Assets/X-PostProcessing/Effects/PixelizeQuad) + - [Pixelize Led](Assets/X-PostProcessing/Effects/PixelizeLed) + - [Pixelize Leaf](Assets/X-PostProcessing/Effects/PixelizeLeaf) + - [Pixelize Circle](Assets/X-PostProcessing/Effects/PixelizeCircle) + - [Pixelize Diamond](Assets/X-PostProcessing/Effects/PixelizeDiamond) + - [Pixelize Sector](Assets/X-PostProcessing/Effects/PixelizeSector) + - [Pixelize Triangle](Assets/X-PostProcessing/Effects/PixelizeTriangle) + - [Pixelize Hexagon](Assets/X-PostProcessing/Effects/PixelizeHexagon) + - [Pixelize Hexagon Grid](Assets/X-PostProcessing/Effects/PixelizeHexagonGrid) +- ## 1.3 边缘检测型后处理 | Edge Detection Effects + - [Edge Detection Sobel](Assets/X-PostProcessing/Effects/EdgeDetectionSobel) + - [Edge Detection Sobel Neon](Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeon) + - [Edge Detection Sobel Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionSobelNeonV2) + - [Edge Detection Roberts](Assets/X-PostProcessing/Effects/EdgeDetectionRoberts) + - [Edge Detection Roberts Neon](Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeon) + - [Edge Detection Roberts Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionRobertsNeonV2) + - [Edge Detection Scharr](Assets/X-PostProcessing/Effects/EdgeDetectionScharr) + - [Edge Detection Scharr Neon](Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeon) + - [Edge Detection Scharr Neon V2](Assets/X-PostProcessing/Effects/EdgeDetectionScharrNeonV2) +- ## 1.4 故障艺术型后处理 | Glitch Effects + - [Glitch Image Block](Assets/X-PostProcessing/Effects/GlitchImageBlock) + - [Glitch Image Block V2](Assets/X-PostProcessing/Effects/GlitchImageBlockV2) + - [Glitch Image Block V3](Assets/X-PostProcessing/Effects/GlitchImageBlockV3) + - [Glitch Image Block V4](Assets/X-PostProcessing/Effects/GlitchImageBlockV4) + - [Glitch Line Block](Assets/X-PostProcessing/Effects/GlitchLineBlock) + - [Glitch Analog Noise](Assets/X-PostProcessing/Effects/GlitchAnalogNoise) + - [Glitch Digital Stripe](Assets/X-PostProcessing/Effects/GlitchDigitalStripe) + - [Glitch RGB Split](Assets/X-PostProcessing/Effects/GlitchRGBSplit) + - [Glitch RGB Split V2](Assets/X-PostProcessing/Effects/GlitchRGBSplitV2) + - [Glitch RGB Split V3](Assets/X-PostProcessing/Effects/GlitchRGBSplitV3) + - [Glitch RGB Split V4](Assets/X-PostProcessing/Effects/GlitchRGBSplitV4) + - [Glitch RGB Split V5](Assets/X-PostProcessing/Effects/GlitchRGBSplitV5) + - [Glitch Scan Line Jitter](Assets/X-PostProcessing/Effects/GlitchScanLineJitter) + - [Glitch Screen Jump](Assets/X-PostProcessing/Effects/GlitchScreenJump) + - [Glitch Screen Shake](Assets/X-PostProcessing/Effects/GlitchScreenShake) + - [Glitch Tile Jitter](Assets/X-PostProcessing/Effects/GlitchTileJitter) + - [Glitch Wave Jitter](Assets/X-PostProcessing/Effects/GlitchWaveJitter) +- ## 1.5 色彩调整型后处理 | Color Adjustment Effects + - [Color Adjustment Bleach Bypass](Assets/X-PostProcessing/Effects/ColorAdjustmentBleachBypass) + - [Color Adjustment Brightness](Assets/X-PostProcessing/Effects/ColorAdjustmentBrightness) + - [Color Adjustment Contrast](Assets/X-PostProcessing/Effects/ColorAdjustmentContrast) + - [Color Adjustment Contrast V2](Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV2) + - [Color Adjustment Contrast V3](Assets/X-PostProcessing/Effects/ColorAdjustmentContrastV3) + - [Color Adjustment Hue](Assets/X-PostProcessing/Effects/ColorAdjustmentHue) + - [Color Adjustment Lens Filter](Assets/X-PostProcessing/Effects/ColorAdjustmentLensFilter) + - [Color Adjustment Saturation](Assets/X-PostProcessing/Effects/ColorAdjustmentSaturation) + - [Color Adjustment Technicolor](Assets/X-PostProcessing/Effects/ColorAdjustmentTechnicolor) + - [Color Adjustment Tint](Assets/X-PostProcessing/Effects/ColorAdjustmentTint) + - [Color Adjustment White Balance](Assets/X-PostProcessing/Effects/ColorAdjustmentWhiteBalance) + - [Color Adjustment Replace Color](Assets/X-PostProcessing/Effects/ColorReplace) + - [Color Adjustment Replace Color V2](Assets/X-PostProcessing/Effects/ColorReplaceV2) +- ## 1.6 渐晕型后处理 | Vignette Effects + - [Aurora Vignette](Assets/X-PostProcessing/Effects/AuroraVignette) + - [Rapid Vignette](Assets/X-PostProcessing/Effects/RapidVignette) + - [Rapid Vignette V2](Assets/X-PostProcessing/Effects/RapidVignetteV2) + - [Rapid Old TV Vignette](Assets/X-PostProcessing/Effects/RapidOldTVVignette) + - [Rapid Old TV Vignette V2](Assets/X-PostProcessing/Effects/RapidOldTVVignetteV2) +- ## 1.7 图像处理型后处理 | Image Processing Effects + - [Sharpen V1](Assets/X-PostProcessing/Effects/SharpenV1) + - [Sharpen V2](Assets/X-PostProcessing/Effects/SharpenV2) + - [Sharpen V3](Assets/X-PostProcessing/Effects/SharpenV3) + + +- Stylized Effects +- Painting Effects +- ... + +More effects and LWRP/URP/HDRP version will arrive soon. + + + +
+ + +# 2. 安装 | Installation + +有两种主要的安装X-PostProcessing Library的方法: + +- 【方法一】 克隆或下载此Repo,并直接使用Unity打开。建议可先从已设置好后处理的示例场景 [Assets/Example/ExampleScene.unity](Assets/Example/ExampleScene.unity) 开始。 + +- 【方法二】 将[X-PostProcessing](Assets/X-PostProcessing) 文件夹放置在项目Assets路径下的任一位置,并确保Post Processing Stack v2也位于项目中。 + +You have two main ways to install X-PostProcessing Library : + +- **[Method 1]** Clone or download this repository , open with Unity Engine Editor and enjoy. It is recommended to start with the example scene [Assets/Example/ExampleScene.unity](Assets/Example/ExampleScene.unity) . +- **[Method 2]** Place the [X-PostProcessing](Assets/X-PostProcessing) folder anywhere in your project, make sure that Post Processing Stack v2 is in the project as well, and enjoy. + + +
+ + + +# 3. 使用 | Usage + + +post processing profile 有各种不同的修改和添加方式,最常规的方法是,选中一个post processing profile ,在Inspetor窗口下: + +- `Add effect... > X-PostProcessing > 选择一种新的后处理` + +The new effect should be available for a post processing profile with different injection points,just like: + +- `Add effect... > X-PostProcessing > Choose an effect` + +
+ + + +# 4. 环境 | Environment + +- 建议使用Unity 2017.2+。 + +- 如果使用的是较旧版本的Unity(5.6 或 2017.1),则需要将[此文件夹](https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/PostProcessing-2) 替换为 [pps v2 2.1.8](https://github.com/Unity-Technologies/PostProcessing/tree/bec8546fc498db388cedadd14021cc7006338cc4)。 + +- Unity 2017.2+ is recommended. + +- if you use older versions of Unity (5.6 and 2017.1) , you need to replace [this folder](https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/PostProcessing-2) with [pps v2 2.1.8](https://github.com/Unity-Technologies/PostProcessing/tree/bec8546fc498db388cedadd14021cc7006338cc4). + + +
+ + +# 5. 文章 | Blog Post + +- [高品质后处理:十种图像模糊算法的总结与实现](https://zhuanlan.zhihu.com/p/125744132) | [GitHub Version](https://github.com/QianMo/Game-Programmer-Study-Notes/blob/master/Content/%E9%AB%98%E5%93%81%E8%B4%A8%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%9A%E5%8D%81%E7%A7%8D%E5%9B%BE%E5%83%8F%E6%A8%A1%E7%B3%8A%E7%AE%97%E6%B3%95%E7%9A%84%E6%80%BB%E7%BB%93%E4%B8%8E%E5%AE%9E%E7%8E%B0/README.md) + +- [高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现](https://zhuanlan.zhihu.com/p/148256756) | [GitHub Version](https://github.com/QianMo/Game-Programmer-Study-Notes/blob/master/Content/%E9%AB%98%E5%93%81%E8%B4%A8%E5%90%8E%E5%A4%84%E7%90%86%EF%BC%9A%E5%8D%81%E7%A7%8D%E6%95%85%E9%9A%9C%E8%89%BA%E6%9C%AF%EF%BC%88Glitch%20Art%EF%BC%89%E7%AE%97%E6%B3%95%E7%9A%84%E6%80%BB%E7%BB%93%E4%B8%8E%E5%AE%9E%E7%8E%B0/README.md) + +
+ + + + + diff --git a/Assets/X-PostProcessing/README.md.meta b/Assets/X-PostProcessing/README.md.meta new file mode 100644 index 00000000..c9ec9591 --- /dev/null +++ b/Assets/X-PostProcessing/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 824d0d0072f480842a9c0be553efa70f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Resources.meta b/Assets/X-PostProcessing/Resources.meta new file mode 100644 index 00000000..d2aedf0a --- /dev/null +++ b/Assets/X-PostProcessing/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 265217753ad2c6340a43fed36d2314f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Resources/X-Noise256.png b/Assets/X-PostProcessing/Resources/X-Noise256.png new file mode 100644 index 0000000000000000000000000000000000000000..32a561c7f6847e7c0a668e9a684af5dc969c72fc GIT binary patch literal 264082 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 z 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 A8)U!2{6nFG8j7C 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 pow(2.0, -15.0)) + return (log2(x) + 9.72) / 17.52; +} + +half3 ACES_to_ACEScc(half3 x) +{ + x = clamp(x, 0.0, HALF_MAX); + + // x is clamped to [0, HALF_MAX], skip the <= 0 check + return (x < 0.00003051757) ? (log2(0.00001525878 + x * 0.5) + 9.72) / 17.52 : (log2(x) + 9.72) / 17.52; + + /* + return half3( + ACES_to_ACEScc(x.r), + ACES_to_ACEScc(x.g), + ACES_to_ACEScc(x.b) + ); + */ +} + +// +// ACES Color Space Conversion - ACEScc to ACES +// +// converts ACEScc (AP1 w/ ACESlog encoding) to +// ACES2065-1 (AP0 w/ linear encoding) +// +// This transform follows the formulas from section 4.4 in S-2014-003 +// +half ACEScc_to_ACES(half x) +{ + // TODO: Optimize me + if (x < -0.3013698630) // (9.72 - 15) / 17.52 + return (pow(2.0, x * 17.52 - 9.72) - pow(2.0, -16.0)) * 2.0; + else if (x < (log2(HALF_MAX) + 9.72) / 17.52) + return pow(2.0, x * 17.52 - 9.72); + else // (x >= (log2(HALF_MAX) + 9.72) / 17.52) + return HALF_MAX; +} + +half3 ACEScc_to_ACES(half3 x) +{ + return half3( + ACEScc_to_ACES(x.r), + ACEScc_to_ACES(x.g), + ACEScc_to_ACES(x.b) + ); +} + +// +// ACES Color Space Conversion - ACES to ACEScg +// +// converts ACES2065-1 (AP0 w/ linear encoding) to +// ACEScg (AP1 w/ linear encoding) +// +half3 ACES_to_ACEScg(half3 x) +{ + return mul(AP0_2_AP1_MAT, x); +} + +// +// ACES Color Space Conversion - ACEScg to ACES +// +// converts ACEScg (AP1 w/ linear encoding) to +// ACES2065-1 (AP0 w/ linear encoding) +// +half3 ACEScg_to_ACES(half3 x) +{ + return mul(AP1_2_AP0_MAT, x); +} + +// +// Reference Rendering Transform (RRT) +// +// Input is ACES +// Output is OCES +// +half rgb_2_saturation(half3 rgb) +{ + const half TINY = 1e-4; + half mi = Min3(rgb.r, rgb.g, rgb.b); + half ma = Max3(rgb.r, rgb.g, rgb.b); + return (max(ma, TINY) - max(mi, TINY)) / max(ma, 1e-2); +} + +half rgb_2_yc(half3 rgb) +{ + const half ycRadiusWeight = 1.75; + + // Converts RGB to a luminance proxy, here called YC + // YC is ~ Y + K * Chroma + // Constant YC is a cone-shaped surface in RGB space, with the tip on the + // neutral axis, towards white. + // YC is normalized: RGB 1 1 1 maps to YC = 1 + // + // ycRadiusWeight defaults to 1.75, although can be overridden in function + // call to rgb_2_yc + // ycRadiusWeight = 1 -> YC for pure cyan, magenta, yellow == YC for neutral + // of same value + // ycRadiusWeight = 2 -> YC for pure red, green, blue == YC for neutral of + // same value. + + half r = rgb.x; + half g = rgb.y; + half b = rgb.z; + half chroma = sqrt(b * (b - g) + g * (g - r) + r * (r - b)); + return (b + g + r + ycRadiusWeight * chroma) / 3.0; +} + +half rgb_2_hue(half3 rgb) +{ + // Returns a geometric hue angle in degrees (0-360) based on RGB values. + // For neutral colors, hue is undefined and the function will return a quiet NaN value. + half hue; + if (rgb.x == rgb.y && rgb.y == rgb.z) + hue = 0.0; // RGB triplets where RGB are equal have an undefined hue + else + hue = (180.0 / PI) * atan2(sqrt(3.0) * (rgb.y - rgb.z), 2.0 * rgb.x - rgb.y - rgb.z); + + if (hue < 0.0) hue = hue + 360.0; + + return hue; +} + +half center_hue(half hue, half centerH) +{ + half hueCentered = hue - centerH; + if (hueCentered < -180.0) hueCentered = hueCentered + 360.0; + else if (hueCentered > 180.0) hueCentered = hueCentered - 360.0; + return hueCentered; +} + +half sigmoid_shaper(half x) +{ + // Sigmoid function in the range 0 to 1 spanning -2 to +2. + + half t = max(1.0 - abs(x / 2.0), 0.0); + half y = 1.0 + FastSign(x) * (1.0 - t * t); + + return y / 2.0; +} + +half glow_fwd(half ycIn, half glowGainIn, half glowMid) +{ + half glowGainOut; + + if (ycIn <= 2.0 / 3.0 * glowMid) + glowGainOut = glowGainIn; + else if (ycIn >= 2.0 * glowMid) + glowGainOut = 0.0; + else + glowGainOut = glowGainIn * (glowMid / ycIn - 1.0 / 2.0); + + return glowGainOut; +} + +/* +half cubic_basis_shaper +( + half x, + half w // full base width of the shaper function (in degrees) +) +{ + half M[4][4] = { + { -1.0 / 6, 3.0 / 6, -3.0 / 6, 1.0 / 6 }, + { 3.0 / 6, -6.0 / 6, 3.0 / 6, 0.0 / 6 }, + { -3.0 / 6, 0.0 / 6, 3.0 / 6, 0.0 / 6 }, + { 1.0 / 6, 4.0 / 6, 1.0 / 6, 0.0 / 6 } + }; + + half knots[5] = { + -w / 2.0, + -w / 4.0, + 0.0, + w / 4.0, + w / 2.0 + }; + + half y = 0.0; + if ((x > knots[0]) && (x < knots[4])) + { + half knot_coord = (x - knots[0]) * 4.0 / w; + int j = knot_coord; + half t = knot_coord - j; + + half monomials[4] = { t*t*t, t*t, t, 1.0 }; + + // (if/else structure required for compatibility with CTL < v1.5.) + if (j == 3) + { + y = monomials[0] * M[0][0] + monomials[1] * M[1][0] + + monomials[2] * M[2][0] + monomials[3] * M[3][0]; + } + else if (j == 2) + { + y = monomials[0] * M[0][1] + monomials[1] * M[1][1] + + monomials[2] * M[2][1] + monomials[3] * M[3][1]; + } + else if (j == 1) + { + y = monomials[0] * M[0][2] + monomials[1] * M[1][2] + + monomials[2] * M[2][2] + monomials[3] * M[3][2]; + } + else if (j == 0) + { + y = monomials[0] * M[0][3] + monomials[1] * M[1][3] + + monomials[2] * M[2][3] + monomials[3] * M[3][3]; + } + else + { + y = 0.0; + } + } + + return y * 3.0 / 2.0; +} +*/ + +static const half3x3 M = { + 0.5, -1.0, 0.5, + -1.0, 1.0, 0.0, + 0.5, 0.5, 0.0 +}; + +half segmented_spline_c5_fwd(half x) +{ + const half coefsLow[6] = { -4.0000000000, -4.0000000000, -3.1573765773, -0.4852499958, 1.8477324706, 1.8477324706 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) + const half coefsHigh[6] = { -0.7185482425, 2.0810307172, 3.6681241237, 4.0000000000, 4.0000000000, 4.0000000000 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) + const half2 minPoint = half2(0.18 * exp2(-15.0), 0.0001); // {luminance, luminance} linear extension below this + const half2 midPoint = half2(0.18, 0.48); // {luminance, luminance} + const half2 maxPoint = half2(0.18 * exp2(18.0), 10000.0); // {luminance, luminance} linear extension above this + const half slopeLow = 0.0; // log-log slope of low linear extension + const half slopeHigh = 0.0; // log-log slope of high linear extension + + const int N_KNOTS_LOW = 4; + const int N_KNOTS_HIGH = 4; + + // Check for negatives or zero before taking the log. If negative or zero, + // set to ACESMIN.1 + float xCheck = x; + if (xCheck <= 0.0) xCheck = 0.00006103515; // = pow(2.0, -14.0); + + half logx = log10(xCheck); + half logy; + + if (logx <= log10(minPoint.x)) + { + logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); + } + else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) + { + half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) + { + half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else + { //if (logIn >= log10(maxPoint.x)) { + logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); + } + + return pow(10.0, logy); +} + +half segmented_spline_c9_fwd(half x) +{ + const half coefsLow[10] = { -1.6989700043, -1.6989700043, -1.4779000000, -1.2291000000, -0.8648000000, -0.4480000000, 0.0051800000, 0.4511080334, 0.9113744414, 0.9113744414 }; // coefs for B-spline between minPoint and midPoint (units of log luminance) + const half coefsHigh[10] = { 0.5154386965, 0.8470437783, 1.1358000000, 1.3802000000, 1.5197000000, 1.5985000000, 1.6467000000, 1.6746091357, 1.6878733390, 1.6878733390 }; // coefs for B-spline between midPoint and maxPoint (units of log luminance) + const half2 minPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(-6.5)), 0.02); // {luminance, luminance} linear extension below this + const half2 midPoint = half2(segmented_spline_c5_fwd(0.18), 4.8); // {luminance, luminance} + const half2 maxPoint = half2(segmented_spline_c5_fwd(0.18 * exp2(6.5)), 48.0); // {luminance, luminance} linear extension above this + const half slopeLow = 0.0; // log-log slope of low linear extension + const half slopeHigh = 0.04; // log-log slope of high linear extension + + const int N_KNOTS_LOW = 8; + const int N_KNOTS_HIGH = 8; + + // Check for negatives or zero before taking the log. If negative or zero, + // set to OCESMIN. + half xCheck = x; + if (xCheck <= 0.0) xCheck = 1e-4; + + half logx = log10(xCheck); + half logy; + + if (logx <= log10(minPoint.x)) + { + logy = logx * slopeLow + (log10(minPoint.y) - slopeLow * log10(minPoint.x)); + } + else if ((logx > log10(minPoint.x)) && (logx < log10(midPoint.x))) + { + half knot_coord = (N_KNOTS_LOW - 1) * (logx - log10(minPoint.x)) / (log10(midPoint.x) - log10(minPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsLow[j], coefsLow[j + 1], coefsLow[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else if ((logx >= log10(midPoint.x)) && (logx < log10(maxPoint.x))) + { + half knot_coord = (N_KNOTS_HIGH - 1) * (logx - log10(midPoint.x)) / (log10(maxPoint.x) - log10(midPoint.x)); + int j = knot_coord; + half t = knot_coord - j; + + half3 cf = half3(coefsHigh[j], coefsHigh[j + 1], coefsHigh[j + 2]); + half3 monomials = half3(t * t, t, 1.0); + logy = dot(monomials, mul(M, cf)); + } + else + { //if (logIn >= log10(maxPoint.x)) { + logy = logx * slopeHigh + (log10(maxPoint.y) - slopeHigh * log10(maxPoint.x)); + } + + return pow(10.0, logy); +} + +static const half RRT_GLOW_GAIN = 0.05; +static const half RRT_GLOW_MID = 0.08; + +static const half RRT_RED_SCALE = 0.82; +static const half RRT_RED_PIVOT = 0.03; +static const half RRT_RED_HUE = 0.0; +static const half RRT_RED_WIDTH = 135.0; + +static const half RRT_SAT_FACTOR = 0.96; + +half3 RRT(half3 aces) +{ + // --- Glow module --- // + half saturation = rgb_2_saturation(aces); + half ycIn = rgb_2_yc(aces); + half s = sigmoid_shaper((saturation - 0.4) / 0.2); + half addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); + aces *= addedGlow; + + // --- Red modifier --- // + half hue = rgb_2_hue(aces); + half centeredHue = center_hue(hue, RRT_RED_HUE); + half hueWeight; + { + //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); + hueWeight = smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH)); + hueWeight *= hueWeight; + } + + aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); + + // --- ACES to RGB rendering space --- // + aces = clamp(aces, 0.0, HALF_MAX); // avoids saturated negative colors from becoming positive in the matrix + half3 rgbPre = mul(AP0_2_AP1_MAT, aces); + rgbPre = clamp(rgbPre, 0, HALF_MAX); + + // --- Global desaturation --- // + //rgbPre = mul(RRT_SAT_MAT, rgbPre); + rgbPre = lerp(dot(rgbPre, AP1_RGB2Y).xxx, rgbPre, RRT_SAT_FACTOR.xxx); + + // --- Apply the tonescale independently in rendering-space RGB --- // + half3 rgbPost; + rgbPost.x = segmented_spline_c5_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c5_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c5_fwd(rgbPre.z); + + // --- RGB rendering space to OCES --- // + half3 rgbOces = mul(AP1_2_AP0_MAT, rgbPost); + + return rgbOces; +} + +// +// Output Device Transform +// +half3 Y_2_linCV(half3 Y, half Ymax, half Ymin) +{ + return (Y - Ymin) / (Ymax - Ymin); +} + +half3 XYZ_2_xyY(half3 XYZ) +{ + half divisor = max(dot(XYZ, (1.0).xxx), 1e-4); + return half3(XYZ.xy / divisor, XYZ.y); +} + +half3 xyY_2_XYZ(half3 xyY) +{ + half m = xyY.z / max(xyY.y, 1e-4); + half3 XYZ = half3(xyY.xz, (1.0 - xyY.x - xyY.y)); + XYZ.xz *= m; + return XYZ; +} + +static const half DIM_SURROUND_GAMMA = 0.9811; + +half3 darkSurround_to_dimSurround(half3 linearCV) +{ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + half3 xyY = XYZ_2_xyY(XYZ); + xyY.z = clamp(xyY.z, 0.0, HALF_MAX); + xyY.z = pow(xyY.z, DIM_SURROUND_GAMMA); + XYZ = xyY_2_XYZ(xyY); + + return mul(XYZ_2_AP1_MAT, XYZ); +} + +half moncurve_r(half y, half gamma, half offs) +{ + // Reverse monitor curve + half x; + const half yb = pow(offs * gamma / ((gamma - 1.0) * (1.0 + offs)), gamma); + const half rs = pow((gamma - 1.0) / offs, gamma - 1.0) * pow((1.0 + offs) / gamma, gamma); + if (y >= yb) + x = (1.0 + offs) * pow(y, 1.0 / gamma) - offs; + else + x = y * rs; + return x; +} + +half bt1886_r(half L, half gamma, half Lw, half Lb) +{ + // The reference EOTF specified in Rec. ITU-R BT.1886 + // L = a(max[(V+b),0])^g + half a = pow(pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma), gamma); + half b = pow(Lb, 1.0 / gamma) / (pow(Lw, 1.0 / gamma) - pow(Lb, 1.0 / gamma)); + half V = pow(max(L / a, 0.0), 1.0 / gamma) - b; + return V; +} + +half roll_white_fwd( + half x, // color value to adjust (white scaled to around 1.0) + half new_wht, // white adjustment (e.g. 0.9 for 10% darkening) + half width // adjusted width (e.g. 0.25 for top quarter of the tone scale) + ) +{ + const half x0 = -1.0; + const half x1 = x0 + width; + const half y0 = -new_wht; + const half y1 = x1; + const half m1 = (x1 - x0); + const half a = y0 - y1 + m1; + const half b = 2.0 * (y1 - y0) - m1; + const half c = y0; + const half t = (-x - x0) / (x1 - x0); + half o = 0.0; + if (t < 0.0) + o = -(t * b + c); + else if (t > 1.0) + o = x; + else + o = -((t * a + b) * t + c); + return o; +} + +half3 linear_to_sRGB(half3 x) +{ + return (x <= 0.0031308 ? (x * 12.9232102) : 1.055 * pow(x, 1.0 / 2.4) - 0.055); +} + +half3 linear_to_bt1886(half3 x, half gamma, half Lw, half Lb) +{ + // Good enough approximation for now, may consider using the exact formula instead + // TODO: Experiment + return pow(max(x, 0.0), 1.0 / 2.4); + + // Correct implementation (Reference EOTF specified in Rec. ITU-R BT.1886) : + // L = a(max[(V+b),0])^g + half invgamma = 1.0 / gamma; + half p_Lw = pow(Lw, invgamma); + half p_Lb = pow(Lb, invgamma); + half3 a = pow(p_Lw - p_Lb, gamma).xxx; + half3 b = (p_Lb / p_Lw - p_Lb).xxx; + half3 V = pow(max(x / a, 0.0), invgamma.xxx) - b; + return V; +} + +static const half CINEMA_WHITE = 48.0; +static const half CINEMA_BLACK = CINEMA_WHITE / 2400.0; +static const half ODT_SAT_FACTOR = 0.93; + +// ODT.Academy.RGBmonitor_100nits_dim.a1.0.3 +// ACES 1.0 Output - sRGB + +// +// Output Device Transform - RGB computer monitor +// + +// +// Summary : +// This transform is intended for mapping OCES onto a desktop computer monitor +// typical of those used in motion picture visual effects production. These +// monitors may occasionally be referred to as "sRGB" displays, however, the +// monitor for which this transform is designed does not exactly match the +// specifications in IEC 61966-2-1:1999. +// +// The assumed observer adapted white is D65, and the viewing environment is +// that of a dim surround. +// +// The monitor specified is intended to be more typical of those found in +// visual effects production. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// IEC 61966-2-1:1999. +// +// Signal Range: +// This transform outputs full range code values. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_RGBmonitor_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding + // with sRGB opto-electrical transfer function (OETF). + /* + // Encode linear code values with transfer function + half3 outputCV; + // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) + const half DISPGAMMA = 2.4; + const half OFFSET = 0.055; + outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); + outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); + outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); + + outputCV = linear_to_sRGB(linearCV); + */ + + // Unity already draws to a sRGB target + return linearCV; +} + +// ODT.Academy.RGBmonitor_D60sim_100nits_dim.a1.0.3 +// ACES 1.0 Output - sRGB (D60 sim.) + +// +// Output Device Transform - RGB computer monitor (D60 simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a desktop computer monitor +// typical of those used in motion picture visual effects production. These +// monitors may occasionally be referred to as "sRGB" displays, however, the +// monitor for which this transform is designed does not exactly match the +// specifications in IEC 61966-2-1:1999. +// +// The assumed observer adapted white is D60, and the viewing environment is +// that of a dim surround. +// +// The monitor specified is intended to be more typical of those found in +// visual effects production. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// IEC 61966-2-1:1999. +// +// Signal Range: +// This transform outputs full range code values. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_RGBmonitor_D60sim_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values are sent to the display to achieve + // neutrals at D60. In order to produce D60 on a device calibrated to the DCI + // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, + // 0.351) the red channel is higher than green and blue to compensate for the + // "greenish" DCI white. This is the correct behavior but it means that as + // highlight increase, the red channel will hit the device maximum first and + // clip, resulting in a chromaticity shift as the green and blue channels + // continue to increase. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.955; + linearCV = min(linearCV, 1.0) * SCALE; + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // TODO: Revisit when it is possible to deactivate Unity default framebuffer encoding + // with sRGB opto-electrical transfer function (OETF). + /* + // Encode linear code values with transfer function + half3 outputCV; + // moncurve_r with gamma of 2.4 and offset of 0.055 matches the EOTF found in IEC 61966-2-1:1999 (sRGB) + const half DISPGAMMA = 2.4; + const half OFFSET = 0.055; + outputCV.x = moncurve_r(linearCV.x, DISPGAMMA, OFFSET); + outputCV.y = moncurve_r(linearCV.y, DISPGAMMA, OFFSET); + outputCV.z = moncurve_r(linearCV.z, DISPGAMMA, OFFSET); + + outputCV = linear_to_sRGB(linearCV); + */ + + // Unity already draws to a sRGB target + return linearCV; +} + +// ODT.Academy.Rec709_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.709 + +// +// Output Device Transform - Rec709 +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor +// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer +// adapted white is D65, and the viewing environment is a dim surround. +// +// A possible use case for this transform would be HDTV/video mastering. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_Rec709_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.Rec709_D60sim_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.709 (D60 sim.) + +// +// Output Device Transform - Rec709 (D60 simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.709 broadcast monitor +// that is calibrated to a D65 white point at 100 cd/m^2. The assumed observer +// adapted white is D60, and the viewing environment is a dim surround. +// +// A possible use case for this transform would be cinema "soft-proofing". +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.709 +// CIE 1931 chromaticities: x y Y +// Red: 0.64 0.33 +// Green: 0.3 0.6 +// Blue: 0.15 0.06 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// +half3 ODT_Rec709_D60sim_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values must be sent to the display to achieve + // the chromaticities of D60. More specifically, in order to produce D60 on a device + // calibrated to a D65 white point (i.e. equal code values yield CIE x,y + // chromaticities of 0.3127, 0.329) the red channel must be slightly higher than + // that of green and blue in order to compensate for the relatively more "blue-ish" + // D65 white. This unequalness of color channels is the correct behavior but it + // means that as neutral highlights increase, the red channel will hit the + // device maximum first and clip, resulting in a small chromaticity shift as the + // green and blue channels continue to increase to their maximums. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.955; + linearCV = min(linearCV, 1.0) * SCALE; + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.Rec2020_100nits_dim.a1.0.3 +// ACES 1.0 Output - Rec.2020 + +// +// Output Device Transform - Rec2020 +// + +// +// Summary : +// This transform is intended for mapping OCES onto a Rec.2020 broadcast +// monitor that is calibrated to a D65 white point at 100 cd/m^2. The assumed +// observer adapted white is D65, and the viewing environment is that of a dim +// surround. +// +// A possible use case for this transform would be UHDTV/video mastering. +// +// Device Primaries : +// Primaries are those specified in Rec. ITU-R BT.2020 +// CIE 1931 chromaticities: x y Y +// Red: 0.708 0.292 +// Green: 0.17 0.797 +// Blue: 0.131 0.046 +// White: 0.3127 0.329 100 cd/m^2 +// +// Display EOTF : +// The reference electro-optical transfer function specified in +// Rec. ITU-R BT.1886. +// +// Signal Range: +// By default, this transform outputs full range code values. If instead a +// SMPTE "legal" signal is desired, there is a runtime flag to output +// SMPTE legal signal. In ctlrender, this can be achieved by appending +// '-param1 legalRange 1' after the '-ctl odt.ctl' string. +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.3127 0.329 +// +// Viewing Environment: +// This ODT has a compensation for viewing environment variables more typical +// of those associated with video mastering. +// + +half3 ODT_Rec2020_100nits_dim(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + linearCV = darkSurround_to_dimSurround(linearCV); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, linearCV); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC2020_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.4; + const half L_W = 1.0; + const half L_B = 0.0; + half3 outputCV = linear_to_bt1886(linearCV, DISPGAMMA, L_W, L_B); + + // TODO: Implement support for legal range. + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +// ODT.Academy.P3DCI_48nits.a1.0.3 +// ACES 1.0 Output - P3-DCI + +// +// Output Device Transform - P3DCI (D60 Simulation) +// + +// +// Summary : +// This transform is intended for mapping OCES onto a P3 digital cinema +// projector that is calibrated to a DCI white point at 48 cd/m^2. The assumed +// observer adapted white is D60, and the viewing environment is that of a dark +// theater. +// +// Device Primaries : +// CIE 1931 chromaticities: x y Y +// Red: 0.68 0.32 +// Green: 0.265 0.69 +// Blue: 0.15 0.06 +// White: 0.314 0.351 48 cd/m^2 +// +// Display EOTF : +// Gamma: 2.6 +// +// Assumed observer adapted white point: +// CIE 1931 chromaticities: x y +// 0.32168 0.33767 +// +// Viewing Environment: +// Environment specified in SMPTE RP 431-2-2007 +// +half3 ODT_P3DCI_48nits(half3 oces) +{ + // OCES to RGB rendering space + half3 rgbPre = mul(AP0_2_AP1_MAT, oces); + + // Apply the tonescale independently in rendering-space RGB + half3 rgbPost; + rgbPost.x = segmented_spline_c9_fwd(rgbPre.x); + rgbPost.y = segmented_spline_c9_fwd(rgbPre.y); + rgbPost.z = segmented_spline_c9_fwd(rgbPre.z); + + // Scale luminance to linear code value + half3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // --- Compensate for different white point being darker --- // + // This adjustment is to correct an issue that exists in ODTs where the device + // is calibrated to a white chromaticity other than D60. In order to simulate + // D60 on such devices, unequal code values are sent to the display to achieve + // neutrals at D60. In order to produce D60 on a device calibrated to the DCI + // white point (i.e. equal code values yield CIE x,y chromaticities of 0.314, + // 0.351) the red channel is higher than green and blue to compensate for the + // "greenish" DCI white. This is the correct behavior but it means that as + // highlight increase, the red channel will hit the device maximum first and + // clip, resulting in a chromaticity shift as the green and blue channels + // continue to increase. + // To avoid this clipping error, a slight scale factor is applied to allow the + // ODTs to simulate D60 within the D65 calibration white point. However, the + // magnitude of the scale factor required for the P3DCI ODT was considered too + // large. Therefore, the scale factor was reduced and the additional required + // compression was achieved via a reshaping of the highlight rolloff in + // conjunction with the scale. The shape of this rolloff was determined + // throught subjective experiments and deemed to best reproduce the + // "character" of the highlights in the P3D60 ODT. + + // Roll off highlights to avoid need for as much scaling + const half NEW_WHT = 0.918; + const half ROLL_WIDTH = 0.5; + linearCV.x = roll_white_fwd(linearCV.x, NEW_WHT, ROLL_WIDTH); + linearCV.y = roll_white_fwd(linearCV.y, NEW_WHT, ROLL_WIDTH); + linearCV.z = roll_white_fwd(linearCV.z, NEW_WHT, ROLL_WIDTH); + + // Scale and clamp white to avoid casted highlights due to D60 simulation + const half SCALE = 0.96; + linearCV = min(linearCV, NEW_WHT) * SCALE; + + // Convert to display primary encoding + // Rendering space RGB to XYZ + half3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_DCIP3_MAT, XYZ); + + // Handle out-of-gamut values + // Clip values < 0 or > 1 (i.e. projecting outside the display primaries) + linearCV = saturate(linearCV); + + // Encode linear code values with transfer function + const half DISPGAMMA = 2.6; + half3 outputCV = pow(linearCV, 1.0 / DISPGAMMA); + + // NOTE: Unity framebuffer encoding is encoded with sRGB opto-electrical transfer function (OETF) + // by default which will result in double perceptual encoding, thus for now if one want to use + // this ODT, he needs to decode its output with sRGB electro-optical transfer function (EOTF) to + // compensate for Unity default behaviour. + + return outputCV; +} + +#endif // __ACES__ diff --git a/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta b/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta new file mode 100644 index 00000000..daaf3eeb --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/ACES.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 887c5516912c2ab4e9a07d1e1b882df6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API.meta b/Assets/X-PostProcessing/Shaders/API.meta new file mode 100644 index 00000000..f5adfac1 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c898ec18c3eb408498f9e78e9e7800a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl new file mode 100644 index 00000000..1982bcb3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta new file mode 100644 index 00000000..8bf06ca9 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D11.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: de49249ea2b608c4a9ff8163814b51dc +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl new file mode 100644 index 00000000..1982bcb3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta new file mode 100644 index 00000000..feec4620 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D12.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 35930d267d988154797d2ab08a2704ad +timeCreated: 1489754075 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl new file mode 100644 index 00000000..8427b9c8 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl @@ -0,0 +1,43 @@ +// ALso used for Direct3D 11 "feature level 9.x" target for Windows Store and Windows Phone +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler3D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE3D(textureName) sampler3D textureName +#define SAMPLER3D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define TEXTURE3D_ARGS(textureName, samplerName) sampler3D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex3D(textureName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH +#define UNITY_FLATTEN +#define UNITY_UNROLL +#define UNITY_LOOP +#define UNITY_FASTOPT + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 diff --git a/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta new file mode 100644 index 00000000..6ee37572 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/D3D9.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 06a01d52ddef95344ac28b690f98ec2d +timeCreated: 1489754265 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Metal.hlsl b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl new file mode 100644 index 00000000..50916982 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl @@ -0,0 +1,47 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED 0 // Currently broken on Metal for some reason (May 2017) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#define FXAA_HLSL_4 1 // See UNITY_GATHER_SUPPORTED +#define SMAA_HLSL_4 1 diff --git a/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta new file mode 100644 index 00000000..39682e32 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Metal.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d4eb15fffa74d644bb594060c705f777 +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl new file mode 100644 index 00000000..9c7cd11f --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl @@ -0,0 +1,57 @@ +// For now OpenGL is considered at GLES2 level +#define UNITY_UV_STARTS_AT_TOP 0 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler3D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE3D(textureName) sampler3D textureName +#define SAMPLER3D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define TEXTURE3D_ARGS(textureName, samplerName) sampler3D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex3D(textureName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#if SHADER_API_GLES +# define UNITY_BRANCH +# define UNITY_FLATTEN +# define UNITY_UNROLL +# define UNITY_LOOP +# define UNITY_FASTOPT +#else +# define UNITY_BRANCH [branch] +# define UNITY_FLATTEN [flatten] +# define UNITY_UNROLL [unroll] +# define UNITY_LOOP [loop] +# define UNITY_FASTOPT [fastopt] +#endif + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 + +// pragma exclude_renderers is only supported since Unity 2018.1 for compute shaders +#if UNITY_VERSION < 201810 && !defined(SHADER_API_GLCORE) +# define DISABLE_COMPUTE_SHADERS 1 +# define TRIVIAL_COMPUTE_KERNEL(name) [numthreads(1, 1, 1)] void name() {} +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta new file mode 100644 index 00000000..54bab4f7 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/OpenGL.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 252ce283bdab48948b80f71920a4c7c8 +timeCreated: 1489754265 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl new file mode 100644 index 00000000..dcb0c7e3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl @@ -0,0 +1,48 @@ + +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 0 +#define UNITY_GATHER_SUPPORTED 0 +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 0 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) sampler2D textureName + +#define TEXTURE2D(textureName) sampler2D textureName +#define SAMPLER2D(samplerName) + +#define TEXTURE2D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) tex2D(textureName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) tex2D(textureName, icoord2 / texelSize) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) tex2Dlod(textureName, float4(icoord2 / texelSize, 0.0, lod)) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) tex2D(textureName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) tex2Dlod(textureName, float4(coord2, 0.0, lod)).r + +// 3D textures are not supported on Vita, use 2D to avoid compile errors. +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) sampler2D textureName +#define TEXTURE3D(textureName) sampler2D textureName +#define SAMPLER3D(samplerName) +#define TEXTURE3D_ARGS(textureName, samplerName) sampler2D textureName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) tex2D(textureName, coord3) + +#define UNITY_BRANCH +#define UNITY_FLATTEN +#define UNITY_UNROLL +#define UNITY_LOOP +#define UNITY_FASTOPT + +#define CBUFFER_START(name) +#define CBUFFER_END + +#define FXAA_HLSL_3 1 +#define SMAA_HLSL_3 1 + +// pragma exclude_renderers is only supported since Unity 2018.1 for compute shaders +#if UNITY_VERSION < 201810 && !defined(SHADER_API_GLCORE) +# define DISABLE_COMPUTE_SHADERS 1 +# define TRIVIAL_COMPUTE_KERNEL(name) [numthreads(1, 1, 1)] void name() {} +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta new file mode 100644 index 00000000..4708d6b3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSP2.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b9ab41f4ad3d23642ad3d2ed0fdb18d6 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl new file mode 100644 index 00000000..ef3eafb6 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl @@ -0,0 +1,55 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 +#define INTRINSIC_MINMAX3 +#define Min3 min3 +#define Max3 max3 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) ConstantBuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta new file mode 100644 index 00000000..69369d8f --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/PSSL.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e851c3938cacdaa45b025b90da1731b2 +timeCreated: 1489753963 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Switch.hlsl b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl new file mode 100644 index 00000000..875e6e09 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl @@ -0,0 +1,51 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta new file mode 100644 index 00000000..e4e9aa2c --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Switch.hlsl.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f67be869064ea34298bc051ba9f3589 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl new file mode 100644 index 00000000..1982bcb3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta new file mode 100644 index 00000000..876c7aa6 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/Vulkan.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e68962a8c3be55d489e1b3a614bfc152 +timeCreated: 1489754021 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl new file mode 100644 index 00000000..1982bcb3 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl @@ -0,0 +1,52 @@ +#define UNITY_UV_STARTS_AT_TOP 1 +#define UNITY_REVERSED_Z 1 +#define UNITY_GATHER_SUPPORTED (SHADER_TARGET >= 50) +#define UNITY_CAN_READ_POSITION_IN_FRAGMENT_PROGRAM 1 + +#define TEXTURE2D_SAMPLER2D(textureName, samplerName) Texture2D textureName; SamplerState samplerName +#define TEXTURE3D_SAMPLER3D(textureName, samplerName) Texture3D textureName; SamplerState samplerName + +#define TEXTURE2D(textureName) Texture2D textureName +#define SAMPLER2D(samplerName) SamplerState samplerName + +#define TEXTURE3D(textureName) Texture3D textureName +#define SAMPLER3D(samplerName) SamplerState samplerName + +#define TEXTURE2D_ARGS(textureName, samplerName) Texture2D textureName, SamplerState samplerName +#define TEXTURE2D_PARAM(textureName, samplerName) textureName, samplerName + +#define TEXTURE3D_ARGS(textureName, samplerName) Texture3D textureName, SamplerState samplerName +#define TEXTURE3D_PARAM(textureName, samplerName) textureName, samplerName + +#define SAMPLE_TEXTURE2D(textureName, samplerName, coord2) textureName.Sample(samplerName, coord2) +#define SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod) textureName.SampleLevel(samplerName, coord2, lod) + +#define SAMPLE_TEXTURE3D(textureName, samplerName, coord3) textureName.Sample(samplerName, coord3) + +#define LOAD_TEXTURE2D(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, 0)) +#define LOAD_TEXTURE2D_LOD(textureName, texelSize, icoord2) textureName.Load(int3(icoord2, lod)) + +#define GATHER_TEXTURE2D(textureName, samplerName, coord2) textureName.Gather(samplerName, coord2) +#define GATHER_RED_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherRed(samplerName, coord2) +#define GATHER_GREEN_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherGreen(samplerName, coord2) +#define GATHER_BLUE_TEXTURE2D(textureName, samplerName, coord2) textureName.GatherBlue(samplerName, coord2) + +#define SAMPLE_DEPTH_TEXTURE(textureName, samplerName, coord2) SAMPLE_TEXTURE2D(textureName, samplerName, coord2).r +#define SAMPLE_DEPTH_TEXTURE_LOD(textureName, samplerName, coord2, lod) SAMPLE_TEXTURE2D_LOD(textureName, samplerName, coord2, lod).r + +#define UNITY_BRANCH [branch] +#define UNITY_FLATTEN [flatten] +#define UNITY_UNROLL [unroll] +#define UNITY_LOOP [loop] +#define UNITY_FASTOPT [fastopt] + +#define CBUFFER_START(name) cbuffer name { +#define CBUFFER_END }; + +#if UNITY_GATHER_SUPPORTED + #define FXAA_HLSL_5 1 + #define SMAA_HLSL_4_1 1 +#else + #define FXAA_HLSL_4 1 + #define SMAA_HLSL_4 1 +#endif diff --git a/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta new file mode 100644 index 00000000..ae63bf58 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/API/XboxOne.hlsl.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a71cfe7924c81774b8b60914e582f72b +timeCreated: 1489754021 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Blending.hlsl b/Assets/X-PostProcessing/Shaders/Blending.hlsl new file mode 100644 index 00000000..f032c297 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Blending.hlsl @@ -0,0 +1,38 @@ + + +float3 BlendAdditive(float3 a, float3 b) +{ + return a + b; +} + +float3 BlendExclusion(float3 a, float3 b) +{ + return a + b - 2.0 * a * b; +} + +float3 BlendLighten(float3 a, float3 b) +{ + return max(a, b); +} + +//single channel overlay +float BlendOverlay(float a, float b) +{ + return (b < 0.5) ? 2.0 * a * b : 1.0 - 2.0 * (1.0 - a) * (1.0 - b); +} + +//RGB overlay +float3 BlendOverlay(float3 a, float3 b) +{ + float3 color; + color.r = BlendOverlay(a.r, b.r); + color.g = BlendOverlay(a.g, b.g); + color.b = BlendOverlay(a.b, b.b); + return color; +} + +float3 BlendScreen(float3 a, float3 b) +{ + return a + b - a * b; +} + diff --git a/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta b/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta new file mode 100644 index 00000000..71e5773d --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Blending.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cb852e8e66981284395c564808e301f5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Colors.hlsl b/Assets/X-PostProcessing/Shaders/Colors.hlsl new file mode 100644 index 00000000..4361514c --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Colors.hlsl @@ -0,0 +1,650 @@ +#ifndef UNITY_POSTFX_COLOR +#define UNITY_POSTFX_COLOR + +#include "StdLib.hlsl" +#include "ACES.hlsl" + +#define LUT_SPACE_ENCODE(x) LinearToLogC(x) +#define LUT_SPACE_DECODE(x) LogCToLinear(x) + +#ifndef USE_PRECISE_LOGC + // Set to 1 to use more precise but more expensive log/linear conversions. I haven't found a proper + // use case for the high precision version yet so I'm leaving this to 0. + #define USE_PRECISE_LOGC 0 +#endif + +#ifndef TONEMAPPING_USE_FULL_ACES + // Set to 1 to use the full reference ACES tonemapper. This should only be used for research + // purposes as it's quite heavy and generally overkill. + #define TONEMAPPING_USE_FULL_ACES 0 +#endif + +#ifndef DEFAULT_MAX_PQ + // PQ ST.2048 max value + // 1.0 = 100nits, 100.0 = 10knits + #define DEFAULT_MAX_PQ 100.0 +#endif + +#ifndef USE_VERY_FAST_SRGB + #if defined(SHADER_API_MOBILE) + #define USE_VERY_FAST_SRGB 1 + #else + #define USE_VERY_FAST_SRGB 0 + #endif +#endif + +#ifndef USE_FAST_SRGB + #if defined(SHADER_API_CONSOLE) + #define USE_FAST_SRGB 1 + #else + #define USE_FAST_SRGB 0 + #endif +#endif + +// +// Alexa LogC converters (El 1000) +// See http://www.vocas.nl/webfm_send/964 +// Max range is ~58.85666 +// +struct ParamsLogC +{ + float cut; + float a, b, c, d, e, f; +}; + +static const ParamsLogC LogC = +{ + 0.011361, // cut + 5.555556, // a + 0.047996, // b + 0.244161, // c + 0.386036, // d + 5.301883, // e + 0.092819 // f +}; + +float LinearToLogC_Precise(half x) +{ + float o; + if (x > LogC.cut) + o = LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; + else + o = LogC.e * x + LogC.f; + return o; +} + +float3 LinearToLogC(float3 x) +{ +#if USE_PRECISE_LOGC + return float3( + LinearToLogC_Precise(x.x), + LinearToLogC_Precise(x.y), + LinearToLogC_Precise(x.z) + ); +#else + return LogC.c * log10(LogC.a * x + LogC.b) + LogC.d; +#endif +} + +float LogCToLinear_Precise(float x) +{ + float o; + if (x > LogC.e * LogC.cut + LogC.f) + o = (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; + else + o = (x - LogC.f) / LogC.e; + return o; +} + +float3 LogCToLinear(float3 x) +{ +#if USE_PRECISE_LOGC + return float3( + LogCToLinear_Precise(x.x), + LogCToLinear_Precise(x.y), + LogCToLinear_Precise(x.z) + ); +#else + return (pow(10.0, (x - LogC.d) / LogC.c) - LogC.b) / LogC.a; +#endif +} + +// +// SMPTE ST.2084 (PQ) transfer functions +// Used for HDR Lut storage, max range depends on the maxPQValue parameter +// +struct ParamsPQ +{ + float N, M; + float C1, C2, C3; +}; + +static const ParamsPQ PQ = +{ + 2610.0 / 4096.0 / 4.0, // N + 2523.0 / 4096.0 * 128.0, // M + 3424.0 / 4096.0, // C1 + 2413.0 / 4096.0 * 32.0, // C2 + 2392.0 / 4096.0 * 32.0, // C3 +}; + +float3 LinearToPQ(float3 x, float maxPQValue) +{ + x = PositivePow(x / maxPQValue, PQ.N); + float3 nd = (PQ.C1 + PQ.C2 * x) / (1.0 + PQ.C3 * x); + return PositivePow(nd, PQ.M); +} + +float3 LinearToPQ(float3 x) +{ + return LinearToPQ(x, DEFAULT_MAX_PQ); +} + +float3 PQToLinear(float3 x, float maxPQValue) +{ + x = PositivePow(x, rcp(PQ.M)); + float3 nd = max(x - PQ.C1, 0.0) / (PQ.C2 - (PQ.C3 * x)); + return PositivePow(nd, rcp(PQ.N)) * maxPQValue; +} + +float3 PQToLinear(float3 x) +{ + return PQToLinear(x, DEFAULT_MAX_PQ); +} + +// +// sRGB transfer functions +// Fast path ref: http://chilliant.blogspot.com.au/2012/08/srgb-approximations-for-hlsl.html?m=1 +// +half SRGBToLinear(half c) +{ +#if USE_VERY_FAST_SRGB + return c * c; +#elif USE_FAST_SRGB + return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878); +#else + half linearRGBLo = c / 12.92; + half linearRGBHi = PositivePow((c + 0.055) / 1.055, 2.4); + half linearRGB = (c <= 0.04045) ? linearRGBLo : linearRGBHi; + return linearRGB; +#endif +} + +half3 SRGBToLinear(half3 c) +{ +#if USE_VERY_FAST_SRGB + return c * c; +#elif USE_FAST_SRGB + return c * (c * (c * 0.305306011 + 0.682171111) + 0.012522878); +#else + half3 linearRGBLo = c / 12.92; + half3 linearRGBHi = PositivePow((c + 0.055) / 1.055, half3(2.4, 2.4, 2.4)); + half3 linearRGB = (c <= 0.04045) ? linearRGBLo : linearRGBHi; + return linearRGB; +#endif +} + +half4 SRGBToLinear(half4 c) +{ + return half4(SRGBToLinear(c.rgb), c.a); +} + +half LinearToSRGB(half c) +{ +#if USE_VERY_FAST_SRGB + return sqrt(c); +#elif USE_FAST_SRGB + return max(1.055 * PositivePow(c, 0.416666667) - 0.055, 0.0); +#else + half sRGBLo = c * 12.92; + half sRGBHi = (PositivePow(c, 1.0 / 2.4) * 1.055) - 0.055; + half sRGB = (c <= 0.0031308) ? sRGBLo : sRGBHi; + return sRGB; +#endif +} + +half3 LinearToSRGB(half3 c) +{ +#if USE_VERY_FAST_SRGB + return sqrt(c); +#elif USE_FAST_SRGB + return max(1.055 * PositivePow(c, 0.416666667) - 0.055, 0.0); +#else + half3 sRGBLo = c * 12.92; + half3 sRGBHi = (PositivePow(c, half3(1.0 / 2.4, 1.0 / 2.4, 1.0 / 2.4)) * 1.055) - 0.055; + half3 sRGB = (c <= 0.0031308) ? sRGBLo : sRGBHi; + return sRGB; +#endif +} + +half4 LinearToSRGB(half4 c) +{ + return half4(LinearToSRGB(c.rgb), c.a); +} + +// +// Convert rgb to luminance with rgb in linear space with sRGB primaries and D65 white point +// +half Luminance(half3 linearRgb) +{ + return dot(linearRgb, float3(0.2126729, 0.7151522, 0.0721750)); +} + +half Luminance(half4 linearRgba) +{ + return Luminance(linearRgba.rgb); +} + +// +// Quadratic color thresholding +// curve = (threshold - knee, knee * 2, 0.25 / knee) +// +half4 QuadraticThreshold(half4 color, half threshold, half3 curve) +{ + // Pixel brightness + half br = Max3(color.r, color.g, color.b); + + // Under-threshold part: quadratic curve + half rq = clamp(br - curve.x, 0.0, curve.y); + rq = curve.z * rq * rq; + + // Combine and apply the brightness response curve. + color *= max(rq, br - threshold) / max(br, EPSILON); + + return color; +} + +// +// Fast reversible tonemapper +// http://gpuopen.com/optimized-reversible-tonemapper-for-resolve/ +// +float3 FastTonemap(float3 c) +{ + return c * rcp(Max3(c.r, c.g, c.b) + 1.0); +} + +float4 FastTonemap(float4 c) +{ + return float4(FastTonemap(c.rgb), c.a); +} + +float3 FastTonemap(float3 c, float w) +{ + return c * (w * rcp(Max3(c.r, c.g, c.b) + 1.0)); +} + +float4 FastTonemap(float4 c, float w) +{ + return float4(FastTonemap(c.rgb, w), c.a); +} + +float3 FastTonemapInvert(float3 c) +{ + return c * rcp(1.0 - Max3(c.r, c.g, c.b)); +} + +float4 FastTonemapInvert(float4 c) +{ + return float4(FastTonemapInvert(c.rgb), c.a); +} + +// +// Neutral tonemapping (Hable/Hejl/Frostbite) +// Input is linear RGB +// +float3 NeutralCurve(float3 x, float a, float b, float c, float d, float e, float f) +{ + return ((x * (a * x + c * b) + d * e) / (x * (a * x + b) + d * f)) - e / f; +} + +float3 NeutralTonemap(float3 x) +{ + // Tonemap + float a = 0.2; + float b = 0.29; + float c = 0.24; + float d = 0.272; + float e = 0.02; + float f = 0.3; + float whiteLevel = 5.3; + float whiteClip = 1.0; + + float3 whiteScale = (1.0).xxx / NeutralCurve(whiteLevel, a, b, c, d, e, f); + x = NeutralCurve(x * whiteScale, a, b, c, d, e, f); + x *= whiteScale; + + // Post-curve white point adjustment + x /= whiteClip.xxx; + + return x; +} + +// +// Raw, unoptimized version of John Hable's artist-friendly tone curve +// Input is linear RGB +// +float EvalCustomSegment(float x, float4 segmentA, float2 segmentB) +{ + const float kOffsetX = segmentA.x; + const float kOffsetY = segmentA.y; + const float kScaleX = segmentA.z; + const float kScaleY = segmentA.w; + const float kLnA = segmentB.x; + const float kB = segmentB.y; + + float x0 = (x - kOffsetX) * kScaleX; + float y0 = (x0 > 0.0) ? exp(kLnA + kB * log(x0)) : 0.0; + return y0 * kScaleY + kOffsetY; +} + +float EvalCustomCurve(float x, float3 curve, float4 toeSegmentA, float2 toeSegmentB, float4 midSegmentA, float2 midSegmentB, float4 shoSegmentA, float2 shoSegmentB) +{ + float4 segmentA; + float2 segmentB; + + if (x < curve.y) + { + segmentA = toeSegmentA; + segmentB = toeSegmentB; + } + else if (x < curve.z) + { + segmentA = midSegmentA; + segmentB = midSegmentB; + } + else + { + segmentA = shoSegmentA; + segmentB = shoSegmentB; + } + + return EvalCustomSegment(x, segmentA, segmentB); +} + +// curve: x: inverseWhitePoint, y: x0, z: x1 +float3 CustomTonemap(float3 x, float3 curve, float4 toeSegmentA, float2 toeSegmentB, float4 midSegmentA, float2 midSegmentB, float4 shoSegmentA, float2 shoSegmentB) +{ + float3 normX = x * curve.x; + float3 ret; + ret.x = EvalCustomCurve(normX.x, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + ret.y = EvalCustomCurve(normX.y, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + ret.z = EvalCustomCurve(normX.z, curve, toeSegmentA, toeSegmentB, midSegmentA, midSegmentB, shoSegmentA, shoSegmentB); + return ret; +} + +// +// Filmic tonemapping (ACES fitting, unless TONEMAPPING_USE_FULL_ACES is set to 1) +// Input is ACES2065-1 (AP0 w/ linear encoding) +// +float3 AcesTonemap(float3 aces) +{ +#if TONEMAPPING_USE_FULL_ACES + + float3 oces = RRT(aces); + float3 odt = ODT_RGBmonitor_100nits_dim(oces); + return odt; + +#else + + // --- Glow module --- // + float saturation = rgb_2_saturation(aces); + float ycIn = rgb_2_yc(aces); + float s = sigmoid_shaper((saturation - 0.4) / 0.2); + float addedGlow = 1.0 + glow_fwd(ycIn, RRT_GLOW_GAIN * s, RRT_GLOW_MID); + aces *= addedGlow; + + // --- Red modifier --- // + float hue = rgb_2_hue(aces); + float centeredHue = center_hue(hue, RRT_RED_HUE); + float hueWeight; + { + //hueWeight = cubic_basis_shaper(centeredHue, RRT_RED_WIDTH); + hueWeight = smoothstep(0.0, 1.0, 1.0 - abs(2.0 * centeredHue / RRT_RED_WIDTH)); + hueWeight *= hueWeight; + } + + aces.r += hueWeight * saturation * (RRT_RED_PIVOT - aces.r) * (1.0 - RRT_RED_SCALE); + + // --- ACES to RGB rendering space --- // + float3 acescg = max(0.0, ACES_to_ACEScg(aces)); + + // --- Global desaturation --- // + //acescg = mul(RRT_SAT_MAT, acescg); + acescg = lerp(dot(acescg, AP1_RGB2Y).xxx, acescg, RRT_SAT_FACTOR.xxx); + + // Luminance fitting of *RRT.a1.0.3 + ODT.Academy.RGBmonitor_100nits_dim.a1.0.3*. + // https://github.com/colour-science/colour-unity/blob/master/Assets/Colour/Notebooks/CIECAM02_Unity.ipynb + // RMSE: 0.0012846272106 + const float a = 278.5085; + const float b = 10.7772; + const float c = 293.6045; + const float d = 88.7122; + const float e = 80.6889; + float3 x = acescg; + float3 rgbPost = (x * (a * x + b)) / (x * (c * x + d) + e); + + // Scale luminance to linear code value + // float3 linearCV = Y_2_linCV(rgbPost, CINEMA_WHITE, CINEMA_BLACK); + + // Apply gamma adjustment to compensate for dim surround + float3 linearCV = darkSurround_to_dimSurround(rgbPost); + + // Apply desaturation to compensate for luminance difference + //linearCV = mul(ODT_SAT_MAT, color); + linearCV = lerp(dot(linearCV, AP1_RGB2Y).xxx, linearCV, ODT_SAT_FACTOR.xxx); + + // Convert to display primary encoding + // Rendering space RGB to XYZ + float3 XYZ = mul(AP1_2_XYZ_MAT, linearCV); + + // Apply CAT from ACES white point to assumed observer adapted white point + XYZ = mul(D60_2_D65_CAT, XYZ); + + // CIE XYZ to display primaries + linearCV = mul(XYZ_2_REC709_MAT, XYZ); + + return linearCV; + +#endif +} + +// +// 3D LUT grading +// scaleOffset = (1 / lut_size, lut_size - 1) +// +half3 ApplyLut3D(TEXTURE3D_ARGS(tex, samplerTex), float3 uvw, float2 scaleOffset) +{ + uvw.xyz = uvw.xyz * scaleOffset.yyy * scaleOffset.xxx + scaleOffset.xxx * 0.5; + return SAMPLE_TEXTURE3D(tex, samplerTex, uvw).rgb; +} + +// +// 2D LUT grading +// scaleOffset = (1 / lut_width, 1 / lut_height, lut_height - 1) +// +half3 ApplyLut2D(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float3 scaleOffset) +{ + // Strip format where `height = sqrt(width)` + uvw.z *= scaleOffset.z; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * scaleOffset.z * scaleOffset.xy + scaleOffset.xy * 0.5; + uvw.x += shift * scaleOffset.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(scaleOffset.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + +// +// Returns the default value for a given position on a 2D strip-format color lookup table +// params = (lut_height, 0.5 / lut_width, 0.5 / lut_height, lut_height / lut_height - 1) +// +float3 GetLutStripValue(float2 uv, float4 params) +{ + uv -= params.yz; + float3 color; + color.r = frac(uv.x * params.x); + color.b = uv.x - color.r / params.x; + color.g = uv.y; + return color * params.w; +} + +// +// White balance +// Recommended workspace: ACEScg (linear) +// +static const float3x3 LIN_2_LMS_MAT = { + 3.90405e-1, 5.49941e-1, 8.92632e-3, + 7.08416e-2, 9.63172e-1, 1.35775e-3, + 2.31082e-2, 1.28021e-1, 9.36245e-1 +}; + +static const float3x3 LMS_2_LIN_MAT = { + 2.85847e+0, -1.62879e+0, -2.48910e-2, + -2.10182e-1, 1.15820e+0, 3.24281e-4, + -4.18120e-2, -1.18169e-1, 1.06867e+0 +}; + +float3 WhiteBalance(float3 c, float3 balance) +{ + float3 lms = mul(LIN_2_LMS_MAT, c); + lms *= balance; + return mul(LMS_2_LIN_MAT, lms); +} + +// +// RGB / Full-range YCbCr conversions (ITU-R BT.601) +// +float3 RgbToYCbCr(float3 c) +{ + float Y = 0.299 * c.r + 0.587 * c.g + 0.114 * c.b; + float Cb = -0.169 * c.r - 0.331 * c.g + 0.500 * c.b; + float Cr = 0.500 * c.r - 0.419 * c.g - 0.081 * c.b; + return float3(Y, Cb, Cr); +} + +float3 YCbCrToRgb(float3 c) +{ + float R = c.x + 0.000 * c.y + 1.403 * c.z; + float G = c.x - 0.344 * c.y - 0.714 * c.z; + float B = c.x - 1.773 * c.y + 0.000 * c.z; + return float3(R, G, B); +} + +// +// Hue, Saturation, Value +// Ranges: +// Hue [0.0, 1.0] +// Sat [0.0, 1.0] +// Lum [0.0, HALF_MAX] +// +float3 RgbToHsv(float3 c) +{ + float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); + float4 p = lerp(float4(c.bg, K.wz), float4(c.gb, K.xy), step(c.b, c.g)); + float4 q = lerp(float4(p.xyw, c.r), float4(c.r, p.yzx), step(p.x, c.r)); + float d = q.x - min(q.w, q.y); + float e = EPSILON; + return float3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); +} + +float3 HsvToRgb(float3 c) +{ + float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); +} + +float RotateHue(float value, float low, float hi) +{ + return (value < low) + ? value + hi + : (value > hi) + ? value - hi + : value; +} + +// +// RGB Saturation (closer to a vibrance effect than actual saturation) +// Recommended workspace: ACEScg (linear) +// Optimal range: [0.0, 2.0] +// +float3 Saturation(float3 c, float sat) +{ + float luma = Luminance(c); + return luma.xxx + sat.xxx * (c - luma.xxx); +} + +// +// Contrast (reacts better when applied in log) +// Optimal range: [0.0, 2.0] +// +float3 Contrast(float3 c, float midpoint, float contrast) +{ + return (c - midpoint) * contrast + midpoint; +} + +// +// Lift, Gamma (pre-inverted), Gain tuned for HDR use - best used with the ACES tonemapper as +// negative values will creep in the result +// Expected workspace: ACEScg (linear) +// +float3 LiftGammaGainHDR(float3 c, float3 lift, float3 invgamma, float3 gain) +{ + c = c * gain + lift; + + // ACEScg will output negative values, as clamping to 0 will lose precious information we'll + // mirror the gamma function instead + return FastSign(c) * pow(abs(c), invgamma); +} + +// +// Lift, Gamma (pre-inverted), Gain tuned for LDR use +// Input is linear RGB +// +float3 LiftGammaGainLDR(float3 c, float3 lift, float3 invgamma, float3 gain) +{ + c = saturate(PositivePow(saturate(c), invgamma)); + return gain * c + lift * (1.0 - c); +} + +// +// Remaps Y/R/G/B values +// curveTex has to be 128 pixels wide +// +float3 YrgbCurve(float3 c, TEXTURE2D_ARGS(curveTex, sampler_curveTex)) +{ + const float kHalfPixel = (1.0 / 128.0) / 2.0; + + // Y (master) + c += kHalfPixel.xxx; + float mr = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.r, 0.75)).a; + float mg = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.g, 0.75)).a; + float mb = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.b, 0.75)).a; + c = saturate(float3(mr, mg, mb)); + + // RGB + c += kHalfPixel.xxx; + float r = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.r, 0.75)).r; + float g = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.g, 0.75)).g; + float b = SAMPLE_TEXTURE2D(curveTex, sampler_curveTex, float2(c.b, 0.75)).b; + return saturate(float3(r, g, b)); +} + +// +// Channel mixing (same as Photoshop's and DaVinci's Resolve) +// Recommended workspace: ACEScg (linear) +// Input mixers should be in range [-2.0; 2.0] +// +float3 ChannelMixer(float3 c, float3 red, float3 green, float3 blue) +{ + return float3( + dot(c, red), + dot(c, green), + dot(c, blue) + ); +} + +#endif // UNITY_POSTFX_COLOR diff --git a/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta b/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta new file mode 100644 index 00000000..649b4891 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Colors.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c538cea31550b1f4f8300803095caa5b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Editor.meta b/Assets/X-PostProcessing/Shaders/Editor.meta new file mode 100644 index 00000000..d69cfc26 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8a685cab5827c5548a28147154ca4398 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader new file mode 100644 index 00000000..06c955a1 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader @@ -0,0 +1,118 @@ +Shader "Hidden/PostProcessing/Editor/ColorWheel" +{ + CGINCLUDE + + #include "UnityCG.cginc" + + #define PI 3.14159265359 + #define PI2 6.28318530718 + + float _Offset; + float _DisabledState; + float2 _Resolution; // x: size, y: size / 2 + + float3 HsvToRgb(float3 c) + { + float4 K = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); + float3 p = abs(frac(c.xxx + K.xyz) * 6.0 - K.www); + return c.z * lerp(K.xxx, saturate(p - K.xxx), c.y); + } + + float4 CreateWheel(v2f_img i, float crossColor, float offsetColor) + { + const float kHueOuterRadius = 0.45; + const float kHueInnerRadius = 0.28;////adjust to 0.28 + const float kLumOuterRadius = 0.495; + const float kLumInnerRadius = 0.48; + + float4 color = (0.0).xxxx; + float2 uvc = i.uv - (0.5).xx; + float dist = sqrt(dot(uvc, uvc)); + float delta = fwidth(dist); + float angle = atan2(uvc.x, uvc.y); + + // Cross + { + float radius = (0.5 - kHueInnerRadius) * _Resolution.x + 1.0; + float2 pixel = (_Resolution.xx - 1.0) * i.uv + 1.0; + + float vline = step(floor(fmod(pixel.x, _Resolution.y)), 0.0); + vline *= step(radius, pixel.y) * step(pixel.y, _Resolution.x - radius); + + float hline = step(floor(fmod(pixel.y, _Resolution.y)), 0.0); + hline *= step(radius, pixel.x) * step(pixel.x, _Resolution.x - radius); + + color += hline.xxxx * (1.0).xxxx; + color += vline.xxxx * (1.0).xxxx; + color = saturate(color); + color *= half4((crossColor).xxx, 0.05); + } + + // Hue + { + float alphaOut = smoothstep(kHueOuterRadius - delta, kHueOuterRadius + delta, dist); + float alphaIn = smoothstep(kHueInnerRadius - delta, kHueInnerRadius + delta, dist); + + float hue = angle; + hue = 1.0 - ((hue > 0.0) ? hue : PI2 + hue) / PI2; + float4 c = float4(HsvToRgb(float3(hue, 1.0, 1.0)), 1.0); + color += lerp((0.0).xxxx, c, alphaIn - alphaOut); + } + + // Offset + { + float alphaOut = smoothstep(kLumOuterRadius - delta, kLumOuterRadius + delta, dist); + float alphaIn = smoothstep(kLumInnerRadius - delta, kLumInnerRadius + delta / 2, dist); + float4 c = float4((offsetColor).xxx, 1.0); + + float a = PI * _Offset; + if (_Offset >= 0 && angle < a && angle > 0.0) + c = float4((1.0).xxx, 0.5); + else if (angle > a && angle < 0.0) + c = float4((1.0).xxx, 0.5); + + color += lerp((0.0).xxxx, c, alphaIn - alphaOut); + } + + return color * _DisabledState; + } + + float4 FragTrackballDark(v2f_img i) : SV_Target + { + return CreateWheel(i, 1.0, 0.15); + } + + float4 FragTrackballLight(v2f_img i) : SV_Target + { + return CreateWheel(i, 0.0, 0.3); + } + + ENDCG + + SubShader + { + Cull Off ZWrite Off ZTest Always + + // (0) Dark skin + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment FragTrackballDark + + ENDCG + } + + // (1) Light skin + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment FragTrackballLight + + ENDCG + } + } +} diff --git a/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta new file mode 100644 index 00000000..292214e7 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Editor/ColorWheel.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 275649fd4f3bf9e449217f111493d01d +timeCreated: 1493903699 +licenseType: Pro +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/License.txt b/Assets/X-PostProcessing/Shaders/License.txt new file mode 100644 index 00000000..b1ea349f --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/License.txt @@ -0,0 +1,5 @@ +Post-processing copyright ?2017 Unity Technologies ApS + +Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License. + +Unless expressly provided otherwise, the Software under this license is made available strictly on an AS IS?BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. \ No newline at end of file diff --git a/Assets/X-PostProcessing/Shaders/License.txt.meta b/Assets/X-PostProcessing/Shaders/License.txt.meta new file mode 100644 index 00000000..528ee192 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/License.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4a573eb73ecca5a47a5920beb8234377 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/Sampling.hlsl b/Assets/X-PostProcessing/Shaders/Sampling.hlsl new file mode 100644 index 00000000..f92b9c3d --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Sampling.hlsl @@ -0,0 +1,91 @@ +#ifndef UNITY_POSTFX_SAMPLING +#define UNITY_POSTFX_SAMPLING + +#include "StdLib.hlsl" + +// Better, temporally stable box filtering +// [Jimenez14] http://goo.gl/eomGso +// . . . . . . . +// . A . B . C . +// . . D . E . . +// . F . G . H . +// . . I . J . . +// . K . L . M . +// . . . . . . . +half4 DownsampleBox13Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) +{ + half4 A = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, -1.0))); + half4 B = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.0, -1.0))); + half4 C = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, -1.0))); + half4 D = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-0.5, -0.5))); + half4 E = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.5, -0.5))); + half4 F = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, 0.0))); + half4 G = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv )); + half4 H = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, 0.0))); + half4 I = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-0.5, 0.5))); + half4 J = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.5, 0.5))); + half4 K = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2(-1.0, 1.0))); + half4 L = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 0.0, 1.0))); + half4 M = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + texelSize * float2( 1.0, 1.0))); + + half2 div = (1.0 / 4.0) * half2(0.5, 0.125); + + half4 o = (D + E + I + J) * div.x; + o += (A + B + G + F) * div.y; + o += (B + C + H + G) * div.y; + o += (F + G + L + K) * div.y; + o += (G + H + M + L) * div.y; + + return o; +} + +// Standard box filtering +half4 DownsampleBox4Tap(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize) +{ + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0); + + half4 s; + s = (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw))); + + return s * (1.0 / 4.0); +} + +// 9-tap bilinear upsampler (tent filter) +half4 UpsampleTent(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, float4 sampleScale) +{ + float4 d = texelSize.xyxy * float4(1.0, 1.0, -1.0, 0.0) * sampleScale; + + half4 s; + s = SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.xy)); + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.wy)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv - d.zy)); + + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv )) * 4.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw)) * 2.0; + + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy)); + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.wy)) * 2.0; + s += SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy)); + + return s * (1.0 / 16.0); +} + +// Standard box filtering +half4 UpsampleBox(TEXTURE2D_ARGS(tex, samplerTex), float2 uv, float2 texelSize, float4 sampleScale) +{ + float4 d = texelSize.xyxy * float4(-1.0, -1.0, 1.0, 1.0) * (sampleScale * 0.5); + + half4 s; + s = (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zy))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.xw))); + s += (SAMPLE_TEXTURE2D(tex, samplerTex, UnityStereoTransformScreenSpaceTex(uv + d.zw))); + + return s * (1.0 / 4.0); +} + +#endif // UNITY_POSTFX_SAMPLING diff --git a/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta b/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta new file mode 100644 index 00000000..5da9a5d2 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/Sampling.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9e2fed3630276b438e33b9ca848266e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/StdLib.hlsl b/Assets/X-PostProcessing/Shaders/StdLib.hlsl new file mode 100644 index 00000000..224dc726 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/StdLib.hlsl @@ -0,0 +1,322 @@ +// Because this framework is supposed to work with the legacy render pipelines AND scriptable render +// pipelines we can't use Unity's shader libraries (some scriptable pipelines come with their own +// shader lib). So here goes a minimal shader lib only used for post-processing to ensure good +// compatibility with all pipelines. + +#ifndef UNITY_POSTFX_STDLIB +#define UNITY_POSTFX_STDLIB + +// ----------------------------------------------------------------------------- +// API macros + +#if defined(SHADER_API_PSSL) + #include "API/PSSL.hlsl" +#elif defined(SHADER_API_XBOXONE) + #include "API/XboxOne.hlsl" +#elif defined(SHADER_API_D3D11) + #include "API/D3D11.hlsl" +#elif defined(SHADER_API_D3D12) + #include "API/D3D12.hlsl" +#elif defined(SHADER_API_D3D9) || defined(SHADER_API_D3D11_9X) + #include "API/D3D9.hlsl" +#elif defined(SHADER_API_VULKAN) + #include "API/Vulkan.hlsl" +#elif defined(SHADER_API_SWITCH) + #include "API/Switch.hlsl" +#elif defined(SHADER_API_METAL) + #include "API/Metal.hlsl" +#elif defined(SHADER_API_PSP2) + #include "API/PSP2.hlsl" +#else + #include "API/OpenGL.hlsl" +#endif + +#if defined(SHADER_API_PSSL) || defined(SHADER_API_XBOXONE) || defined(SHADER_API_SWITCH) || defined(SHADER_API_PSP2) + #define SHADER_API_CONSOLE +#endif + +// ----------------------------------------------------------------------------- +// Constants + +#define HALF_MAX 65504.0 // (2 - 2^-10) * 2^15 +#define HALF_MAX_MINUS1 65472.0 // (2 - 2^-9) * 2^15 +#define EPSILON 1.0e-4 +#define PI 3.14159265359 +#define TWO_PI 6.28318530718 +#define FOUR_PI 12.56637061436 +#define INV_PI 0.31830988618 +#define INV_TWO_PI 0.15915494309 +#define INV_FOUR_PI 0.07957747155 +#define HALF_PI 1.57079632679 +#define INV_HALF_PI 0.636619772367 + +#define FLT_EPSILON 1.192092896e-07 // Smallest positive number, such that 1.0 + FLT_EPSILON != 1.0 +#define FLT_MIN 1.175494351e-38 // Minimum representable positive floating-point number +#define FLT_MAX 3.402823466e+38 // Maximum representable floating-point number + +// ----------------------------------------------------------------------------- +// Compatibility functions + +#if (SHADER_TARGET < 50 && !defined(SHADER_API_PSSL)) +float rcp(float value) +{ + return 1.0 / value; +} +#endif + +#if defined(SHADER_API_GLES) +#define mad(a, b, c) (a * b + c) +#endif + +#ifndef INTRINSIC_MINMAX3 +float Min3(float a, float b, float c) +{ + return min(min(a, b), c); +} + +float2 Min3(float2 a, float2 b, float2 c) +{ + return min(min(a, b), c); +} + +float3 Min3(float3 a, float3 b, float3 c) +{ + return min(min(a, b), c); +} + +float4 Min3(float4 a, float4 b, float4 c) +{ + return min(min(a, b), c); +} + +float Max3(float a, float b, float c) +{ + return max(max(a, b), c); +} + +float2 Max3(float2 a, float2 b, float2 c) +{ + return max(max(a, b), c); +} + +float3 Max3(float3 a, float3 b, float3 c) +{ + return max(max(a, b), c); +} + +float4 Max3(float4 a, float4 b, float4 c) +{ + return max(max(a, b), c); +} +#endif // INTRINSIC_MINMAX3 + +// https://twitter.com/SebAaltonen/status/878250919879639040 +// madd_sat + madd +float FastSign(float x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float2 FastSign(float2 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float3 FastSign(float3 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +float4 FastSign(float4 x) +{ + return saturate(x * FLT_MAX + 0.5) * 2.0 - 1.0; +} + +// Using pow often result to a warning like this +// "pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them" +// PositivePow remove this warning when you know the value is positive and avoid inf/NAN. +float PositivePow(float base, float power) +{ + return pow(max(abs(base), float(FLT_EPSILON)), power); +} + +float2 PositivePow(float2 base, float2 power) +{ + return pow(max(abs(base), float2(FLT_EPSILON, FLT_EPSILON)), power); +} + +float3 PositivePow(float3 base, float3 power) +{ + return pow(max(abs(base), float3(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power); +} + +float4 PositivePow(float4 base, float4 power) +{ + return pow(max(abs(base), float4(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON, FLT_EPSILON)), power); +} + +// NaN checker +// /Gic isn't enabled on fxc so we can't rely on isnan() anymore +bool IsNan(float x) +{ + // For some reason the following tests outputs "internal compiler error" randomly on desktop + // so we'll use a safer but slightly slower version instead :/ + //return (x <= 0.0 || 0.0 <= x) ? false : true; + return (x < 0.0 || x > 0.0 || x == 0.0) ? false : true; +} + +bool AnyIsNan(float2 x) +{ + return IsNan(x.x) || IsNan(x.y); +} + +bool AnyIsNan(float3 x) +{ + return IsNan(x.x) || IsNan(x.y) || IsNan(x.z); +} + +bool AnyIsNan(float4 x) +{ + return IsNan(x.x) || IsNan(x.y) || IsNan(x.z) || IsNan(x.w); +} + +// ----------------------------------------------------------------------------- +// Std unity data + +float4x4 unity_CameraProjection; +float4x4 unity_MatrixVP; +float4x4 unity_ObjectToWorld; +float4x4 unity_WorldToCamera; +float3 _WorldSpaceCameraPos; +float4 _ProjectionParams; // x: 1 (-1 flipped), y: near, z: far, w: 1/far +float4 unity_ColorSpaceLuminance; +float4 unity_DeltaTime; // x: dt, y: 1/dt, z: smoothDt, w: 1/smoothDt +float4 unity_OrthoParams; // x: width, y: height, z: unused, w: ortho ? 1 : 0 +float4 _ZBufferParams; // x: 1-far/near, y: far/near, z: x/far, w: y/far +float4 _ScreenParams; // x: width, y: height, z: 1+1/width, w: 1+1/height +float4 _Time; // x: t/20, y: t, z: t*2, w: t*3 +float4 _SinTime; // x: sin(t/20), y: sin(t), z: sin(t*2), w: sin(t*3) +float4 _CosTime; // x: cos(t/20), y: cos(t), z: cos(t*2), w: cos(t*3) + +// ----------------------------------------------------------------------------- +// Std functions + +// Z buffer depth to linear 0-1 depth +// Handles orthographic projection correctly +float Linear01Depth(float z) +{ + float isOrtho = unity_OrthoParams.w; + float isPers = 1.0 - unity_OrthoParams.w; + z *= _ZBufferParams.x; + return (1.0 - isOrtho * z) / (isPers * z + _ZBufferParams.y); +} + +float LinearEyeDepth(float z) +{ + return rcp(_ZBufferParams.z * z + _ZBufferParams.w); +} + +// Clamp HDR value within a safe range +half3 SafeHDR(half3 c) +{ + return min(c, HALF_MAX); +} + +half4 SafeHDR(half4 c) +{ + return min(c, HALF_MAX); +} + +// Decode normals stored in _CameraDepthNormalsTexture +float3 DecodeViewNormalStereo(float4 enc4) +{ + float kScale = 1.7777; + float3 nn = enc4.xyz * float3(2.0 * kScale, 2.0 * kScale, 0) + float3(-kScale, -kScale, 1); + float g = 2.0 / dot(nn.xyz, nn.xyz); + float3 n; + n.xy = g * nn.xy; + n.z = g - 1.0; + return n; +} + +// Interleaved gradient function from Jimenez 2014 +// http://www.iryoku.com/next-generation-post-processing-in-call-of-duty-advanced-warfare +float GradientNoise(float2 uv) +{ + uv = floor(uv * _ScreenParams.xy); + float f = dot(float2(0.06711056, 0.00583715), uv); + return frac(52.9829189 * frac(f)); +} + +// Vertex manipulation +float2 TransformTriangleVertexToUV(float2 vertex) +{ + float2 uv = (vertex + 1.0) * 0.5; + return uv; +} + +#include "xRLib.hlsl" + +// ----------------------------------------------------------------------------- +// Default vertex shaders + +struct AttributesDefault +{ + float3 vertex : POSITION; +}; + +struct VaryingsDefault +{ + float4 vertex : SV_POSITION; + float2 texcoord : TEXCOORD0; + float2 texcoordStereo : TEXCOORD1; +#if STEREO_INSTANCING_ENABLED + uint stereoTargetEyeIndex : SV_RenderTargetArrayIndex; +#endif +}; + +#if STEREO_INSTANCING_ENABLED +float _DepthSlice; +#endif + +VaryingsDefault VertDefault(AttributesDefault v) +{ + VaryingsDefault o; + o.vertex = float4(v.vertex.xy, 0.0, 1.0); + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy); + +#if UNITY_UV_STARTS_AT_TOP + o.texcoord = o.texcoord * float2(1.0, -1.0) + float2(0.0, 1.0); +#endif + + o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0); + + return o; +} + +float4 _UVTransform; // xy: scale, wz: translate + +#if STEREO_DOUBLEWIDE_TARGET +float4 _PosScaleOffset; // xy: scale, wz: offset +#endif + +VaryingsDefault VertUVTransform(AttributesDefault v) +{ + VaryingsDefault o; + +#if STEREO_DOUBLEWIDE_TARGET + o.vertex = float4(v.vertex.xy * _PosScaleOffset.xy + _PosScaleOffset.zw, 0.0, 1.0); +#else + o.vertex = float4(v.vertex.xy, 0.0, 1.0); +#endif + o.texcoord = TransformTriangleVertexToUV(v.vertex.xy) * _UVTransform.xy + _UVTransform.zw; + o.texcoordStereo = TransformStereoScreenSpaceTex(o.texcoord, 1.0); +#if STEREO_INSTANCING_ENABLED + o.stereoTargetEyeIndex = (uint)_DepthSlice; +#endif + return o; +} + +#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw) + +#endif // UNITY_POSTFX_STDLIB diff --git a/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta b/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta new file mode 100644 index 00000000..bae8af64 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/StdLib.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 86258f1ffe58a0846997120fd95f2c5a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl new file mode 100644 index 00000000..0f9d85b5 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl @@ -0,0 +1,971 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------------------------- +// XNoiseLibrary.hlsl +// A Collection of 2D/3D/4D Simplex Noise 、 2D/3D textureless classic Noise 、Re-oriented 4 / 8-Point BCC Noise +// +// Reference 1: Webgl Noise - https://github.com/ashima/webgl-noise +// Reference 2: KdotJPG New Simplex Style Gradient Noise - https://github.com/KdotJPG/New-Simplex-Style-Gradient-Noise +// Reference 3: Noise Shader Library for Unity - https://github.com/keijiro/NoiseShader +// Reference 4: noiseSimplex.cginc - https://forum.unity.com/threads/2d-3d-4d-optimised-perlin-noise-cg-hlsl-library-cginc.218372/ +// ---------------------------------------------------------------------------------------------------------- + + +#ifndef X_NOISE_LIBRARY +#define X_NOISE_LIBRARY + + +//================================================================================================================================== +// 0. Comon +//================================================================================================================================== +// 1 / 289 +#define NOISE_SIMPLEX_1_DIV_289 0.00346020761245674740484429065744f + +float mod289(float x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float2 mod289(float2 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float3 mod289(float3 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float4 mod289(float4 x) +{ + return x - floor(x * NOISE_SIMPLEX_1_DIV_289) * 289.0; +} + +float4 mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +float3 mod(float3 x, float3 y) +{ + return x - y * floor(x / y); +} + +// ( x*34.0 + 1.0 )*x =x*x*34.0 + x +float permute(float x) +{ + return mod289(x * x * 34.0 + x); +} + +float3 permute(float3 x) +{ + return mod289(x * x * 34.0 + x); +} + +float4 permute(float4 x) +{ + return mod289(x * x * 34.0 + x); +} + +float3 taylorInvSqrt(float3 r) +{ + return 1.79284291400159 - 0.85373472095314 * r; +} + +float4 taylorInvSqrt(float4 r) +{ + return 1.79284291400159 - r * 0.85373472095314; +} + +float2 fade(float2 t) +{ + return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); +} + + +float3 fade(float3 t) +{ + return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); +} + +//================================================================================================================================== +// 1. Simplex Noise +//================================================================================================================================== +// +// This shader is based on the webgl-noise GLSL shader. For further details +// of the original shader, please see the following description from the +// original source code. +// +// +// Description : Array and textureless GLSL 2D/3D/4D simplex +// noise functions. +// Author : Ian McEwan, Ashima Arts. +// Maintainer : ijm +// Lastmod : 20110822 (ijm) +// License : Copyright (C) 2011 Ashima Arts. All rights reserved. +// Distributed under the MIT License. See LICENSE file. +// https://github.com/ashima/webgl-noise +// +// +// Usage: +// float ns = snoise(v); +// v is any of: float2, float3, float4 +// Return type is float. +// To generate 2 or more components of noise(colorful noise), +// call these functions several times with different +// constant offsets for the arguments. +// E.g.: + +// float3 colorNs = float3( +// snoise(v), +// snoise(v + 17.0), +// snoise(v - 43.0), +// ); + + +//----------------------------------------------------[1.1] 2D Simplex Noise ---------------------------------------------------- + + +float snoise(float2 v) +{ + const float4 C = float4(0.211324865405187, // (3.0-sqrt(3.0))/6.0 + 0.366025403784439, // 0.5*(sqrt(3.0)-1.0) + - 0.577350269189626, // -1.0 + 2.0 * C.x + 0.024390243902439); // 1.0 / 41.0 + // First corner + float2 i = floor(v + dot(v, C.yy)); + float2 x0 = v - i + dot(i, C.xx); + + // Other corners + float2 i1; + i1.x = step(x0.y, x0.x); + i1.y = 1.0 - i1.x; + + // x1 = x0 - i1 + 1.0 * C.xx; + // x2 = x0 - 1.0 + 2.0 * C.xx; + float2 x1 = x0 + C.xx - i1; + float2 x2 = x0 + C.zz; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) + + i.x + float3(0.0, i1.x, 1.0)); + + float3 m = max(0.5 - float3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0); + m = m * m; + m = m * m; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + float3 x = 2.0 * frac(p * C.www) - 1.0; + float3 h = abs(x) - 0.5; + float3 ox = floor(x + 0.5); + float3 a0 = x - ox; + + // Normalise gradients implicitly by scaling m + m *= taylorInvSqrt(a0 * a0 + h * h); + + // Compute final noise value at P + float3 g; + g.x = a0.x * x0.x + h.x * x0.y; + g.y = a0.y * x1.x + h.y * x1.y; + g.z = a0.z * x2.x + h.z * x2.y; + return 130.0 * dot(m, g); +} + +float3 snoise_grad(float2 v) +{ + const float4 C = float4(0.211324865405187, // (3.0-sqrt(3.0))/6.0 + 0.366025403784439, // 0.5*(sqrt(3.0)-1.0) + - 0.577350269189626, // -1.0 + 2.0 * C.x + 0.024390243902439); // 1.0 / 41.0 + // First corner + float2 i = floor(v + dot(v, C.yy)); + float2 x0 = v - i + dot(i, C.xx); + + // Other corners + float2 i1; + i1.x = step(x0.y, x0.x); + i1.y = 1.0 - i1.x; + + // x1 = x0 - i1 + 1.0 * C.xx; + // x2 = x0 - 1.0 + 2.0 * C.xx; + float2 x1 = x0 + C.xx - i1; + float2 x2 = x0 + C.zz; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float3 p = permute(permute(i.y + float3(0.0, i1.y, 1.0)) + + i.x + float3(0.0, i1.x, 1.0)); + + float3 m = max(0.5 - float3(dot(x0, x0), dot(x1, x1), dot(x2, x2)), 0.0); + float3 m2 = m * m; + float3 m3 = m2 * m; + float3 m4 = m2 * m2; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + float3 x = 2.0 * frac(p * C.www) - 1.0; + float3 h = abs(x) - 0.5; + float3 ox = floor(x + 0.5); + float3 a0 = x - ox; + + // Normalise gradients + float3 norm = taylorInvSqrt(a0 * a0 + h * h); + float2 g0 = float2(a0.x, h.x) * norm.x; + float2 g1 = float2(a0.y, h.y) * norm.y; + float2 g2 = float2(a0.z, h.z) * norm.z; + + // Compute noise and gradient at P + float2 grad = -6.0 * m3.x * x0 * dot(x0, g0) + m4.x * g0 + + - 6.0 * m3.y * x1 * dot(x1, g1) + m4.y * g1 + + - 6.0 * m3.z * x2 * dot(x2, g2) + m4.z * g2; + float3 px = float3(dot(x0, g0), dot(x1, g1), dot(x2, g2)); + return 130.0 * float3(grad, dot(m4, px)); +} + + + + +//---------------------------------------------------[1.2] 3D Simplex Noise --------------------------------------------- + +float snoise(float3 v) +{ + const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); + + // First corner + float3 i = floor(v + dot(v, C.yyy)); + float3 x0 = v - i + dot(i, C.xxx); + + // Other corners + float3 g = step(x0.yzx, x0.xyz); + float3 l = 1.0 - g; + float3 i1 = min(g.xyz, l.zxy); + float3 i2 = max(g.xyz, l.zxy); + + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + float3 x1 = x0 - i1 + C.xxx; + float3 x2 = x0 - i2 + C.yyy; + float3 x3 = x0 - 0.5; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float4 p = permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) + + i.y + float4(0.0, i1.y, i2.y, 1.0)) + + i.x + float4(0.0, i1.x, i2.x, 1.0)); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) + + float4 x_ = floor(j / 7.0); + float4 y_ = floor(j - 7.0 * x_); // mod(j,N) + + float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; + float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; + + float4 h = 1.0 - abs(x) - abs(y); + + float4 b0 = float4(x.xy, y.xy); + float4 b1 = float4(x.zw, y.zw); + + //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; + //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; + float4 s0 = floor(b0) * 2.0 + 1.0; + float4 s1 = floor(b1) * 2.0 + 1.0; + float4 sh = -step(h, 0.0); + + float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; + float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; + + float3 g0 = float3(a0.xy, h.x); + float3 g1 = float3(a0.zw, h.y); + float3 g2 = float3(a1.xy, h.z); + float3 g3 = float3(a1.zw, h.w); + + // Normalise gradients + float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); + g0 *= norm.x; + g1 *= norm.y; + g2 *= norm.z; + g3 *= norm.w; + + // Mix final noise value + float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); + m = m * m; + m = m * m; + + float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); + return 42.0 * dot(m, px); +} + +float4 snoise_grad(float3 v) +{ + const float2 C = float2(1.0 / 6.0, 1.0 / 3.0); + + // First corner + float3 i = floor(v + dot(v, C.yyy)); + float3 x0 = v - i + dot(i, C.xxx); + + // Other corners + float3 g = step(x0.yzx, x0.xyz); + float3 l = 1.0 - g; + float3 i1 = min(g.xyz, l.zxy); + float3 i2 = max(g.xyz, l.zxy); + + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + float3 x1 = x0 - i1 + C.xxx; + float3 x2 = x0 - i2 + C.yyy; + float3 x3 = x0 - 0.5; + + // Permutations + i = mod289(i); // Avoid truncation effects in permutation + float4 p = permute(permute(permute(i.z + float4(0.0, i1.z, i2.z, 1.0)) + + i.y + float4(0.0, i1.y, i2.y, 1.0)) + + i.x + float4(0.0, i1.x, i2.x, 1.0)); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + float4 j = p - 49.0 * floor(p / 49.0); // mod(p,7*7) + + float4 x_ = floor(j / 7.0); + float4 y_ = floor(j - 7.0 * x_); // mod(j,N) + + float4 x = (x_ * 2.0 + 0.5) / 7.0 - 1.0; + float4 y = (y_ * 2.0 + 0.5) / 7.0 - 1.0; + + float4 h = 1.0 - abs(x) - abs(y); + + float4 b0 = float4(x.xy, y.xy); + float4 b1 = float4(x.zw, y.zw); + + //float4 s0 = float4(lessThan(b0, 0.0)) * 2.0 - 1.0; + //float4 s1 = float4(lessThan(b1, 0.0)) * 2.0 - 1.0; + float4 s0 = floor(b0) * 2.0 + 1.0; + float4 s1 = floor(b1) * 2.0 + 1.0; + float4 sh = -step(h, 0.0); + + float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy; + float4 a1 = b1.xzyw + s1.xzyw * sh.zzww; + + float3 g0 = float3(a0.xy, h.x); + float3 g1 = float3(a0.zw, h.y); + float3 g2 = float3(a1.xy, h.z); + float3 g3 = float3(a1.zw, h.w); + + // Normalise gradients + float4 norm = taylorInvSqrt(float4(dot(g0, g0), dot(g1, g1), dot(g2, g2), dot(g3, g3))); + g0 *= norm.x; + g1 *= norm.y; + g2 *= norm.z; + g3 *= norm.w; + + // Compute noise and gradient at P + float4 m = max(0.6 - float4(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), 0.0); + float4 m2 = m * m; + float4 m3 = m2 * m; + float4 m4 = m2 * m2; + float3 grad = -6.0 * m3.x * x0 * dot(x0, g0) + m4.x * g0 + + - 6.0 * m3.y * x1 * dot(x1, g1) + m4.y * g1 + + - 6.0 * m3.z * x2 * dot(x2, g2) + m4.z * g2 + + - 6.0 * m3.w * x3 * dot(x3, g3) + m4.w * g3; + float4 px = float4(dot(x0, g0), dot(x1, g1), dot(x2, g2), dot(x3, g3)); + return 42.0 * float4(grad, dot(m4, px)); +} + + + + +//----------------------------------------------------[1.3] 4D Simplex Noise ---------------------------------------------------- + +float4 grad4(float j, float4 ip) +{ + const float4 ones = float4(1.0, 1.0, 1.0, -1.0); + float4 p, s; + p.xyz = floor(frac(j * ip.xyz) * 7.0) * ip.z - 1.0; + p.w = 1.5 - dot(abs(p.xyz), ones.xyz); + + // GLSL: lessThan(x, y) = x < y + // HLSL: 1 - step(y, x) = x < y + p.xyz -= sign(p.xyz) * (p.w < 0); + + return p; +} + +float snoise(float4 v) +{ + const float4 C = float4( + 0.138196601125011, // (5 - sqrt(5))/20 G4 + 0.276393202250021, // 2 * G4 + 0.414589803375032, // 3 * G4 + -0.447213595499958 // -1 + 4 * G4 + ); + + // First corner + float4 i = floor(v +dot(v,0.309016994374947451)); // (sqrt(5) - 1) / 4 + float4 x0 = v - i + dot(i, C.xxxx); + + // Other corners + + // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI) + float4 i0; + float3 isX = step(x0.yzw, x0.xxx); + float3 isYZ = step(x0.zww, x0.yyz); + i0.x = isX.x + isX.y + isX.z; + i0.yzw = 1.0 - isX; + i0.y += isYZ.x + isYZ.y; + i0.zw += 1.0 - isYZ.xy; + i0.z += isYZ.z; + i0.w += 1.0 - isYZ.z; + + // i0 now contains the unique values 0,1,2,3 in each channel + float4 i3 = saturate(i0); + float4 i2 = saturate(i0 - 1.0); + float4 i1 = saturate(i0 - 2.0); + + // x0 = x0 - 0.0 + 0.0 * C.xxxx + // x1 = x0 - i1 + 1.0 * C.xxxx + // x2 = x0 - i2 + 2.0 * C.xxxx + // x3 = x0 - i3 + 3.0 * C.xxxx + // x4 = x0 - 1.0 + 4.0 * C.xxxx + float4 x1 = x0 - i1 + C.xxxx; + float4 x2 = x0 - i2 + C.yyyy; + float4 x3 = x0 - i3 + C.zzzz; + float4 x4 = x0 + C.wwww; + + // Permutations + i = mod289(i); + float j0 = permute(permute(permute(permute(i.w) + i.z) + i.y) + i.x); + float4 j1 = permute(permute(permute(permute(i.w + float4(i1.w, i2.w, i3.w, 1.0)) + i.z + float4(i1.z, i2.z, i3.z, 1.0)) + i.y + float4(i1.y, i2.y, i3.y, 1.0)) + i.x + float4(i1.x, i2.x, i3.x, 1.0)); + + // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope + // 7*7*6 = 294, which is close to the ring size 17*17 = 289. + const float4 ip = float4(0.003401360544217687075, // 1/294 + 0.020408163265306122449, // 1/49 + 0.142857142857142857143, // 1/7 + 0.0); + + float4 p0 = grad4(j0, ip); + float4 p1 = grad4(j1.x, ip); + float4 p2 = grad4(j1.y, ip); + float4 p3 = grad4(j1.z, ip); + float4 p4 = grad4(j1.w, ip); + + // Normalise gradients + float4 norm = rsqrt(float4(dot(p0, p0),dot(p1, p1),dot(p2, p2),dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + p4 *= rsqrt(dot(p4, p4)); + + // Mix contributions from the five corners + float3 m0 = max(0.6 - float3(dot(x0, x0),dot(x1, x1),dot(x2, x2)),0.0); + float2 m1 = max(0.6 - float2(dot(x3, x3),dot(x4, x4)),0.0); + m0 = m0 * m0; + m1 = m1 * m1; + + return 49.0 * (dot(m0*m0,float3(dot(p0, x0),dot(p1, x1),dot(p2, x2))) + dot(m1*m1,float2(dot(p3, x3),dot(p4, x4)))); +} + + + + +//================================================================================================================================== +// 2. Classic Noise +//================================================================================================================================== +// +// GLSL textureless classic 2D noise "cnoise", +// with an RSL-style periodic variant "pnoise". +// Author: Stefan Gustavson (stefan.gustavson@liu.se) +// Version: 2011-08-22 +// +// Many thanks to Ian McEwan of Ashima Arts for the +// ideas for permutation and gradient selection. +// +// Copyright (c) 2011 Stefan Gustavson. All rights reserved. +// Distributed under the MIT license. See LICENSE file. +// https://github.com/ashima/webgl-noise + + + +//-------------------------------------------------------[2.1] 2D Classic Noise--------------------------------------------- +// Classic Perlin noise +float cnoise(float2 P) +{ + float4 Pi = floor(P.xyxy) + float4(0.0, 0.0, 1.0, 1.0); + float4 Pf = frac(P.xyxy) - float4(0.0, 0.0, 1.0, 1.0); + Pi = mod289(Pi); // To avoid truncation effects in permutation + float4 ix = Pi.xzxz; + float4 iy = Pi.yyww; + float4 fx = Pf.xzxz; + float4 fy = Pf.yyww; + + float4 i = permute(permute(ix) + iy); + + float4 gx = frac(i / 41.0) * 2.0 - 1.0; + float4 gy = abs(gx) - 0.5; + float4 tx = floor(gx + 0.5); + gx = gx - tx; + + float2 g00 = float2(gx.x, gy.x); + float2 g10 = float2(gx.y, gy.y); + float2 g01 = float2(gx.z, gy.z); + float2 g11 = float2(gx.w, gy.w); + + float4 norm = taylorInvSqrt(float4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + float n00 = dot(g00, float2(fx.x, fy.x)); + float n10 = dot(g10, float2(fx.y, fy.y)); + float n01 = dot(g01, float2(fx.z, fy.z)); + float n11 = dot(g11, float2(fx.w, fy.w)); + + float2 fade_xy = fade(Pf.xy); + float2 n_x = lerp(float2(n00, n01), float2(n10, n11), fade_xy.x); + float n_xy = lerp(n_x.x, n_x.y, fade_xy.y); + return 2.3 * n_xy; +} + +// Classic Perlin noise, periodic variant +float pnoise(float2 P, float2 rep) +{ + float4 Pi = floor(P.xyxy) + float4(0.0, 0.0, 1.0, 1.0); + float4 Pf = frac(P.xyxy) - float4(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, rep.xyxy); // To create noise with explicit period + Pi = mod289(Pi); // To avoid truncation effects in permutation + float4 ix = Pi.xzxz; + float4 iy = Pi.yyww; + float4 fx = Pf.xzxz; + float4 fy = Pf.yyww; + + float4 i = permute(permute(ix) + iy); + + float4 gx = frac(i / 41.0) * 2.0 - 1.0; + float4 gy = abs(gx) - 0.5; + float4 tx = floor(gx + 0.5); + gx = gx - tx; + + float2 g00 = float2(gx.x, gy.x); + float2 g10 = float2(gx.y, gy.y); + float2 g01 = float2(gx.z, gy.z); + float2 g11 = float2(gx.w, gy.w); + + float4 norm = taylorInvSqrt(float4(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + float n00 = dot(g00, float2(fx.x, fy.x)); + float n10 = dot(g10, float2(fx.y, fy.y)); + float n01 = dot(g01, float2(fx.z, fy.z)); + float n11 = dot(g11, float2(fx.w, fy.w)); + + float2 fade_xy = fade(Pf.xy); + float2 n_x = lerp(float2(n00, n01), float2(n10, n11), fade_xy.x); + float n_xy = lerp(n_x.x, n_x.y, fade_xy.y); + return 2.3 * n_xy; +} + + + +//----------------------------------------------------[2.2] 3D Classic Noise-------------------------------------------------- +// Classic Perlin noise +float cnoise(float3 P) +{ + float3 Pi0 = floor(P); // Integer part for indexing + float3 Pi1 = Pi0 + (float3)1.0; // Integer part + 1 + Pi0 = mod289(Pi0); + Pi1 = mod289(Pi1); + float3 Pf0 = frac(P); // Fractional part for interpolation + float3 Pf1 = Pf0 - (float3)1.0; // Fractional part - 1.0 + float4 ix = float4(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + float4 iy = float4(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + float4 iz0 = (float4)Pi0.z; + float4 iz1 = (float4)Pi1.z; + + float4 ixy = permute(permute(ix) + iy); + float4 ixy0 = permute(ixy + iz0); + float4 ixy1 = permute(ixy + iz1); + + float4 gx0 = ixy0 / 7.0; + float4 gy0 = frac(floor(gx0) / 7.0) - 0.5; + gx0 = frac(gx0); + float4 gz0 = (float4)0.5 - abs(gx0) - abs(gy0); + float4 sz0 = step(gz0, (float4)0.0); + gx0 -= sz0 * (step((float4)0.0, gx0) - 0.5); + gy0 -= sz0 * (step((float4)0.0, gy0) - 0.5); + + float4 gx1 = ixy1 / 7.0; + float4 gy1 = frac(floor(gx1) / 7.0) - 0.5; + gx1 = frac(gx1); + float4 gz1 = (float4)0.5 - abs(gx1) - abs(gy1); + float4 sz1 = step(gz1, (float4)0.0); + gx1 -= sz1 * (step((float4)0.0, gx1) - 0.5); + gy1 -= sz1 * (step((float4)0.0, gy1) - 0.5); + + float3 g000 = float3(gx0.x, gy0.x, gz0.x); + float3 g100 = float3(gx0.y, gy0.y, gz0.y); + float3 g010 = float3(gx0.z, gy0.z, gz0.z); + float3 g110 = float3(gx0.w, gy0.w, gz0.w); + float3 g001 = float3(gx1.x, gy1.x, gz1.x); + float3 g101 = float3(gx1.y, gy1.y, gz1.y); + float3 g011 = float3(gx1.z, gy1.z, gz1.z); + float3 g111 = float3(gx1.w, gy1.w, gz1.w); + + float4 norm0 = taylorInvSqrt(float4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + + float4 norm1 = taylorInvSqrt(float4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + float n000 = dot(g000, Pf0); + float n100 = dot(g100, float3(Pf1.x, Pf0.y, Pf0.z)); + float n010 = dot(g010, float3(Pf0.x, Pf1.y, Pf0.z)); + float n110 = dot(g110, float3(Pf1.x, Pf1.y, Pf0.z)); + float n001 = dot(g001, float3(Pf0.x, Pf0.y, Pf1.z)); + float n101 = dot(g101, float3(Pf1.x, Pf0.y, Pf1.z)); + float n011 = dot(g011, float3(Pf0.x, Pf1.y, Pf1.z)); + float n111 = dot(g111, Pf1); + + float3 fade_xyz = fade(Pf0); + float4 n_z = lerp(float4(n000, n100, n010, n110), float4(n001, n101, n011, n111), fade_xyz.z); + float2 n_yz = lerp(n_z.xy, n_z.zw, fade_xyz.y); + float n_xyz = lerp(n_yz.x, n_yz.y, fade_xyz.x); + return 2.2 * n_xyz; +} + +// Classic Perlin noise, periodic variant +float pnoise(float3 P, float3 rep) +{ + float3 Pi0 = mod(floor(P), rep); // Integer part, modulo period + float3 Pi1 = mod(Pi0 + (float3)1.0, rep); // Integer part + 1, mod period + Pi0 = mod289(Pi0); + Pi1 = mod289(Pi1); + float3 Pf0 = frac(P); // Fractional part for interpolation + float3 Pf1 = Pf0 - (float3)1.0; // Fractional part - 1.0 + float4 ix = float4(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + float4 iy = float4(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + float4 iz0 = (float4)Pi0.z; + float4 iz1 = (float4)Pi1.z; + + float4 ixy = permute(permute(ix) + iy); + float4 ixy0 = permute(ixy + iz0); + float4 ixy1 = permute(ixy + iz1); + + float4 gx0 = ixy0 / 7.0; + float4 gy0 = frac(floor(gx0) / 7.0) - 0.5; + gx0 = frac(gx0); + float4 gz0 = (float4)0.5 - abs(gx0) - abs(gy0); + float4 sz0 = step(gz0, (float4)0.0); + gx0 -= sz0 * (step((float4)0.0, gx0) - 0.5); + gy0 -= sz0 * (step((float4)0.0, gy0) - 0.5); + + float4 gx1 = ixy1 / 7.0; + float4 gy1 = frac(floor(gx1) / 7.0) - 0.5; + gx1 = frac(gx1); + float4 gz1 = (float4)0.5 - abs(gx1) - abs(gy1); + float4 sz1 = step(gz1, (float4)0.0); + gx1 -= sz1 * (step((float4)0.0, gx1) - 0.5); + gy1 -= sz1 * (step((float4)0.0, gy1) - 0.5); + + float3 g000 = float3(gx0.x, gy0.x, gz0.x); + float3 g100 = float3(gx0.y, gy0.y, gz0.y); + float3 g010 = float3(gx0.z, gy0.z, gz0.z); + float3 g110 = float3(gx0.w, gy0.w, gz0.w); + float3 g001 = float3(gx1.x, gy1.x, gz1.x); + float3 g101 = float3(gx1.y, gy1.y, gz1.y); + float3 g011 = float3(gx1.z, gy1.z, gz1.z); + float3 g111 = float3(gx1.w, gy1.w, gz1.w); + + float4 norm0 = taylorInvSqrt(float4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + float4 norm1 = taylorInvSqrt(float4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + float n000 = dot(g000, Pf0); + float n100 = dot(g100, float3(Pf1.x, Pf0.y, Pf0.z)); + float n010 = dot(g010, float3(Pf0.x, Pf1.y, Pf0.z)); + float n110 = dot(g110, float3(Pf1.x, Pf1.y, Pf0.z)); + float n001 = dot(g001, float3(Pf0.x, Pf0.y, Pf1.z)); + float n101 = dot(g101, float3(Pf1.x, Pf0.y, Pf1.z)); + float n011 = dot(g011, float3(Pf0.x, Pf1.y, Pf1.z)); + float n111 = dot(g111, Pf1); + + float3 fade_xyz = fade(Pf0); + float4 n_z = lerp(float4(n000, n100, n010, n110), float4(n001, n101, n011, n111), fade_xyz.z); + float2 n_yz = lerp(n_z.xy, n_z.zw, fade_xyz.y); + float n_xyz = lerp(n_yz.x, n_yz.y, fade_xyz.x); + return 2.2 * n_xyz; +} + + + + + + + +//================================================================================================================================== +// 3. Simplex-like Re-oriented BBC Noise +//================================================================================================================================== + +// +// The original shader was created by KdotJPG and released into the public +// domain (Unlicense). Refer to the following GitHub repository for the details +// of the original work. +// +// https://github.com/KdotJPG/New-Simplex-Style-Gradient-Noise +// + + +float4 bcc4_mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +// Inspired by Stefan Gustavson's noise +float4 bcc4_permute(float4 t) +{ + return t * (t * 34.0 + 133.0); +} + + +//--------------------------------------------------[3.1] 4-Point BCC Noise----------------------------------------------- +// K.jpg's Smooth Re-oriented 8-Point BCC Noise +// Output: float4(dF/dx, dF/dy, dF/dz, value) + + + +// Gradient set is a normalized expanded rhombic dodecahedron +float3 bcc4_grad(float hash) +{ + + // Random vertex of a cube, +/- 1 each + float3 cube = frac(floor(hash / float3(1, 2, 4)) * 0.5) * 4 - 1; + + // Random edge of the three edges connected to that vertex + // Also a cuboctahedral vertex + // And corresponds to the face of its dual, the rhombic dodecahedron + float3 cuboct = cube; + cuboct *= int3(0, 1, 2) != (int) (hash / 16); + + // In a funky way, pick one of the four points on the rhombic face + float type = frac(floor(hash / 8) * 0.5) * 2; + float3 rhomb = (1.0 - type) * cube + type * (cuboct + cross(cube, cuboct)); + + // Expand it so that the new edges are the same length + // as the existing ones + float3 grad = cuboct * 1.22474487139 + rhomb; + + // To make all gradients the same length, we only need to shorten the + // second type of vector. We also put in the whole noise scale constant. + // The compiler should reduce it into the existing floats. I think. + grad *= (1.0 - 0.042942436724648037 * type) * 32.80201376986577; + + return grad; +} + +// BCC lattice split up into 2 cube lattices +float4 Bcc4NoiseBase(float3 X) +{ + + // First half-lattice, closest edge + float3 v1 = round(X); + float3 d1 = X - v1; + float3 score1 = abs(d1); + float3 dir1 = max(score1.yzx, score1.zxy) < score1; + float3 v2 = v1 + dir1 * (d1 < 0 ? - 1: 1); + float3 d2 = X - v2; + + // Second half-lattice, closest edge + float3 X2 = X + 144.5; + float3 v3 = round(X2); + float3 d3 = X2 - v3; + float3 score2 = abs(d3); + float3 dir2 = max(score2.yzx, score2.zxy) < score2; + float3 v4 = v3 + dir2 * (d3 < 0 ? - 1: 1); + float3 d4 = X2 - v4; + + // Gradient hashes for the four points, two from each half-lattice + float4 hashes = bcc4_permute(bcc4_mod(float4(v1.x, v2.x, v3.x, v4.x), 289.0)); + hashes = bcc4_permute(bcc4_mod(hashes + float4(v1.y, v2.y, v3.y, v4.y), 289.0)); + hashes = bcc4_mod(bcc4_permute(bcc4_mod(hashes + float4(v1.z, v2.z, v3.z, v4.z), 289.0)), 48.0); + + // Gradient extrapolations & kernel function + float4 a = max(0.5 - float4(dot(d1, d1), dot(d2, d2), dot(d3, d3), dot(d4, d4)), 0.0); + float4 aa = a * a; float4 aaaa = aa * aa; + float3 g1 = bcc4_grad(hashes.x); float3 g2 = bcc4_grad(hashes.y); + float3 g3 = bcc4_grad(hashes.z); float3 g4 = bcc4_grad(hashes.w); + float4 extrapolations = float4(dot(d1, g1), dot(d2, g2), dot(d3, g3), dot(d4, g4)); + + // Derivatives of the noise + float3 derivative = -8.0 * mul(aa * a * extrapolations, float4x3(d1, d2, d3, d4)) + + mul(aaaa, float4x3(g1, g2, g3, g4)); + + // Return it all as a float4 + return float4(derivative, dot(aaaa, extrapolations)); +} + +// Use this if you don't want Z to look different from X and Y +float4 Bcc4NoiseClassic(float3 X) +{ + + // Rotate around the main diagonal. Not a skew transform. + float4 result = Bcc4NoiseBase(dot(X, 2.0 / 3.0) - X); + return float4(dot(result.xyz, 2.0 / 3.0) - result.xyz, result.w); +} + +// Use this if you want to show X and Y in a plane, and use Z for time, etc. +float4 Bcc4NoisePlaneFirst(float3 X) +{ + + // Rotate so Z points down the main diagonal. Not a skew transform. + float3x3 orthonormalMap = float3x3 + ( + 0.788675134594813, -0.211324865405187, -0.577350269189626, + - 0.211324865405187, 0.788675134594813, -0.577350269189626, + 0.577350269189626, 0.577350269189626, 0.577350269189626); + + float4 result = Bcc4NoiseBase(mul(X, orthonormalMap)); + return float4(mul(orthonormalMap, result.xyz), result.w); +} + + + + + +//------------------------------------------------[3.2] 8-Point BCC Noise------------------------------------------------------ +// K.jpg's Smooth Re-oriented 8-Point BCC Noise +// Output: float4(dF/dx, dF/dy, dF/dz, value) + + +float4 bcc8_mod(float4 x, float4 y) +{ + return x - y * floor(x / y); +} + +// Borrowed from Stefan Gustavson's noise code +float4 bcc8_permute(float4 t) +{ + return t * (t * 34.0 + 133.0); +} + +// Gradient set is a normalized expanded rhombic dodecahedron +float3 bcc8_grad(float hash) +{ + + // Random vertex of a cube, +/- 1 each + float3 cube = frac(floor(hash / float3(1, 2, 4)) * 0.5) * 4 - 1; + + // Random edge of the three edges connected to that vertex + // Also a cuboctahedral vertex + // And corresponds to the face of its dual, the rhombic dodecahedron + float3 cuboct = cube; + cuboct *= int3(0, 1, 2) != (int) (hash / 16); + + // In a funky way, pick one of the four points on the rhombic face + float type = frac(floor(hash / 8) * 0.5) * 2; + float3 rhomb = (1.0 - type) * cube + type * (cuboct + cross(cube, cuboct)); + + // Expand it so that the new edges are the same length + // as the existing ones + float3 grad = cuboct * 1.22474487139 + rhomb; + + // To make all gradients the same length, we only need to shorten the + // second type of vector. We also put in the whole noise scale constant. + // The compiler should reduce it into the existing floats. I think. + grad *= (1.0 - 0.042942436724648037 * type) * 3.5946317686139184; + + return grad; +} + +// BCC lattice split up into 2 cube lattices +float4 Bcc8NoiseBase(float3 X) +{ + float3 b = floor(X); + float4 i4 = float4(X - b, 2.5); + + // Pick between each pair of oppposite corners in the cube. + float3 v1 = b + floor(dot(i4, .25)); + float3 v2 = b + float3(1, 0, 0) + float3(-1, 1, 1) * floor(dot(i4, float4( - .25, .25, .25, .35))); + float3 v3 = b + float3(0, 1, 0) + float3(1, -1, 1) * floor(dot(i4, float4(.25, - .25, .25, .35))); + float3 v4 = b + float3(0, 0, 1) + float3(1, 1, -1) * floor(dot(i4, float4(.25, .25, - .25, .35))); + + // Gradient hashes for the four vertices in this half-lattice. + float4 hashes = bcc8_permute(bcc8_mod(float4(v1.x, v2.x, v3.x, v4.x), 289.0)); + hashes = bcc8_permute(bcc8_mod(hashes + float4(v1.y, v2.y, v3.y, v4.y), 289.0)); + hashes = bcc8_mod(bcc8_permute(bcc8_mod(hashes + float4(v1.z, v2.z, v3.z, v4.z), 289.0)), 48.0); + + // Gradient extrapolations & kernel function + float3 d1 = X - v1; float3 d2 = X - v2; float3 d3 = X - v3; float3 d4 = X - v4; + float4 a = max(0.75 - float4(dot(d1, d1), dot(d2, d2), dot(d3, d3), dot(d4, d4)), 0.0); + float4 aa = a * a; float4 aaaa = aa * aa; + float3 g1 = bcc8_grad(hashes.x); float3 g2 = bcc8_grad(hashes.y); + float3 g3 = bcc8_grad(hashes.z); float3 g4 = bcc8_grad(hashes.w); + float4 extrapolations = float4(dot(d1, g1), dot(d2, g2), dot(d3, g3), dot(d4, g4)); + + // Derivatives of the noise + float3 derivative = -8.0 * mul(aa * a * extrapolations, float4x3(d1, d2, d3, d4)) + + mul(aaaa, float4x3(g1, g2, g3, g4)); + + // Return it all as a float4 + return float4(derivative, dot(aaaa, extrapolations)); +} + +// Rotates domain, but preserve shape. Hides grid better in cardinal slices. +// Good for texturing 3D objects with lots of flat parts along cardinal planes. +float4 Bcc8NoiseClassic(float3 X) +{ + X = dot(X, 2.0 / 3.0) - X; + + float4 result = Bcc8NoiseBase(X) + Bcc8NoiseBase(X + 144.5); + + return float4(dot(result.xyz, 2.0 / 3.0) - result.xyz, result.w); +} + +// Gives X and Y a triangular alignment, and lets Z move up the main diagonal. +// Might be good for terrain, or a time varying X/Y plane. Z repeats. +float4 Bcc8NoisePlaneFirst(float3 X) +{ + + // Not a skew transform. + float3x3 orthonormalMap = float3x3( + 0.788675134594813, -0.211324865405187, -0.577350269189626, + - 0.211324865405187, 0.788675134594813, -0.577350269189626, + 0.577350269189626, 0.577350269189626, 0.577350269189626); + + X = mul(X, orthonormalMap); + float4 result = Bcc8NoiseBase(X) + Bcc8NoiseBase(X + 144.5); + + return float4(mul(orthonormalMap, result.xyz), result.w); +} + + +#endif \ No newline at end of file diff --git a/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta new file mode 100644 index 00000000..aef1a972 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XNoiseLibrary.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ad65ce05707bad43a6df888d1a27038 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl new file mode 100644 index 00000000..68b8d585 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl @@ -0,0 +1,466 @@ + + +#include "Sampling.hlsl" + +//Always present in every shader +TEXTURE2D_SAMPLER2D(_MainTex, sampler_MainTex); //Present in every shader + +TEXTURE2D_SAMPLER2D(_CameraDepthNormalsTexture, sampler_CameraDepthNormalsTexture); +float4 _MainTex_TexelSize; + + + +#define fixed half +#define fixed2 half2 +#define fixed3 half3 +#define fixed4 half4 +#define fixed4x4 half4x4 +#define fixed3x3 half3x3 +#define fixed2x2 half2x2 +#define sampler2D_half sampler2D +#define sampler2D_float sampler2D +#define samplerCUBE_half samplerCUBE +#define samplerCUBE_float samplerCUBE + + +//------------------------------------------------------------------------------------------------------ +// Blend Functions +//------------------------------------------------------------------------------------------------------ + + +half4 BlendOperation_Burn(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - (1.0 - Blend) / Base; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Darken(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = min(Blend, Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Difference(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = abs(Blend - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Dodge(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base / (1.0 - Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Divide(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base / (Blend + 0.000000000001); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Exclusion(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend + Base - (2.0 * Blend * Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_HardLight(half4 Base, half4 Blend, half Opacity) +{ + float4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend); + float4 result2 = 2.0 * Base * Blend; + float4 zeroOrOne = step(Blend, 0.5); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_HardMix(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = step(1 - Base, Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Lighten(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = max(Blend, Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearBurn(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base + Blend - 1.0; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearDodge(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base + Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearLight(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend < 0.5 ? max(Base + (2 * Blend) - 1, 0): min(Base + 2 * (Blend - 0.5), 1); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_LinearLightAddSub(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Blend + 2.0 * Base - 1.0; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Multiply(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base * Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Negation(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - abs(1.0 - Blend - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Overlay(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 1.0 - 2.0 * (1.0 - Base) * (1.0 - Blend); + half4 result2 = 2.0 * Base * Blend; + half4 zeroOrOne = step(Base, 0.5); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_PinLight(half4 Base, half4 Blend, half Opacity) +{ + half4 check = step(0.5, Blend); + half4 result1 = check * max(2.0 * (Base - 0.5), Blend); + half4 Out = result1 + (1.0 - check) * min(2.0 * Base, Blend); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_Screen(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = 1.0 - (1.0 - Blend) * (1.0 - Base); + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_SoftLight(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 2.0 * Base * Blend + Base * Base * (1.0 - 2.0 * Blend); + half4 result2 = sqrt(Base) * (2.0 * Blend - 1.0) + 2.0 * Base * (1.0 - Blend); + half4 zeroOrOne = step(0.5, Blend); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + +half4 BlendOperation_Subtract(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = Base - Blend; + Out = lerp(Base, Out, Opacity); + return Out; +} + + +half4 BlendOperation_VividLight(half4 Base, half4 Blend, half Opacity) +{ + half4 result1 = 1.0 - (1.0 - Blend) / (2.0 * Base); + half4 result2 = Blend / (2.0 * (1.0 - Base)); + half4 zeroOrOne = step(0.5, Base); + half4 Out = result2 * zeroOrOne + (1 - zeroOrOne) * result1; + Out = lerp(Base, Out, Opacity); + return Out; +} + +half4 BlendOperation_Overwrite(half4 Base, half4 Blend, half Opacity) +{ + half4 Out = lerp(Base, Blend, Opacity); + return Out; +} + + + + +//------------------------------------------------------------------------------------------------------ +// Generic functions +//------------------------------------------------------------------------------------------------------ + +float rand(float n) +{ + return frac(sin(n) * 13758.5453123 * 0.01); +} + +float rand(float2 n) +{ + return frac(sin(dot(n, float2(12.9898, 78.233))) * 43758.5453); +} + +float2 RotateUV(float2 uv, float rotation) +{ + float cosine = cos(rotation); + float sine = sin(rotation); + float2 pivot = float2(0.5, 0.5); + float2 rotator = (mul(uv - pivot, float2x2(cosine, -sine, sine, cosine)) + pivot); + return saturate(rotator); +} + +float3 ChromaticAberration(TEXTURE2D_ARGS(tex, samplerTex), float4 texelSize, float2 uv, float amount) +{ + float2 direction = normalize((float2(0.5, 0.5) - uv)); + float3 distortion = float3(-texelSize.x * amount, 0, texelSize.x * amount); + + float red = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.r).r; + float green = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.g).g; + float blue = SAMPLE_TEXTURE2D(tex, samplerTex, uv + direction * distortion.b).b; + + return float3(red, green, blue); +} + + +/* +float3 PositionFromDepth(float depth, float2 uv, float4 inverseViewMatrix) { + + float4 clip = float4((uv.xy * 2.0f - 1.0f) * float2(1, -1), 0.0f, 1.0f); + float3 worldDirection = mul(inverseViewMatrix, clip) - _WorldSpaceCameraPos; + + float3 worldspace = worldDirection * depth + _WorldSpaceCameraPos; + + return float3(frac((worldspace.rgb)) + float3(0, 0, 0.1)); +} +*/ + +// (returns 1.0 when orthographic) +float CheckPerspective(float x) +{ + return lerp(x, 1.0, unity_OrthoParams.w); +} + +// Reconstruct view-space position from UV and depth. +float3 ReconstructViewPos(float2 uv, float depth) +{ + float3 worldPos = float3(0, 0, 0); + worldPos.xy = (uv.xy * 2.0 - 1.0 - float2(unity_CameraProjection._13, unity_CameraProjection._23)) / float2(unity_CameraProjection._11, unity_CameraProjection._22) * CheckPerspective(depth); + worldPos.z = depth; + return worldPos; +} + +float2 FisheyeUV(half2 uv, half amount, half zoom) +{ + half2 center = uv.xy - half2(0.5, 0.5); + half CdotC = dot(center, center); + half f = 1.0 + CdotC * (amount * sqrt(CdotC)); + return f * zoom * center + 0.5; +} + +float2 Distort(float2 uv) +{ + #if DISTORT + { + uv = (uv - 0.5) * _Distortion_Amount.z + 0.5; + float2 ruv = _Distortion_CenterScale.zw * (uv - 0.5 - _Distortion_CenterScale.xy); + float ru = length(float2(ruv)); + + UNITY_BRANCH + if (_Distortion_Amount.w > 0.0) + { + float wu = ru * _Distortion_Amount.x; + ru = tan(wu) * (1.0 / (ru * _Distortion_Amount.y)); + uv = uv + ruv * (ru - 1.0); + } + else + { + ru = (1.0 / ru) * _Distortion_Amount.x * atan(ru * _Distortion_Amount.y); + uv = uv + ruv * (ru - 1.0); + } + } + #endif + + return uv; +} + +//---------------------------------------------------------------- +// Common vertex functions +//-------------------------------------------------------------- + +float4 _BlurOffsets; + +struct v2fGaussian +{ + float4 pos: POSITION; + float2 uv: TEXCOORD0; + + float4 uv01: TEXCOORD1; + float4 uv23: TEXCOORD2; + float4 uv45: TEXCOORD3; +}; + +v2fGaussian VertGaussian(AttributesDefault v) +{ + v2fGaussian o; + o.pos = float4(v.vertex.xy, 0, 1); + + o.uv.xy = TransformTriangleVertexToUV(o.pos.xy); + + #if UNITY_UV_STARTS_AT_TOP + o.uv = o.uv * float2(1.0, -1.0) + float2(0.0, 1.0); + #endif + //UNITY_SINGLE_PASS_STEREO + o.uv = TransformStereoScreenSpaceTex(o.uv, 1.0); + + o.uv01 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1); + o.uv23 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1) * 2.0; + o.uv45 = o.uv.xyxy + _BlurOffsets.xyxy * float4(1, 1, -1, -1) * 6.0; + + return o; +} + +float4 FragBlurBox(VaryingsDefault i): SV_Target +{ + return DownsampleBox4Tap(TEXTURE2D_PARAM(_MainTex, sampler_MainTex), i.texcoord, _BlurOffsets.xy).rgba; +} + +float4 FragBlurGaussian(v2fGaussian i): SV_Target +{ + half4 color = float4(0, 0, 0, 0); + + color += 0.40 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy); + color += 0.15 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy); + color += 0.10 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy); + color += 0.05 * SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw); + + return color; +} + + + +half simpleNoise(half x, half y, half seed, half phase) +{ + half n = x * y * phase * seed; + return fmod(n, 13) * fmod(n, 123); +} + + + +half3 Lut2D(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float2 texelSize, half tileAmount) +{ + uvw.z *= tileAmount; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * tileAmount * texelSize.xy + texelSize.xy * 0.5; + uvw.x += shift * texelSize.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(texelSize.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + + +half3 Lut2D_InvertY(TEXTURE2D_ARGS(tex, samplerTex), float3 uvw, float2 texelSize, half tileAmount) +{ + // Strip format where `height = sqrt(width)` + uvw.z *= tileAmount; + float shift = floor(uvw.z); + uvw.xy = uvw.xy * tileAmount * texelSize.xy + texelSize.xy * 0.5; + uvw.x += shift * texelSize.y; + //uvw.y = 1 - uvw.y; + uvw.xyz = lerp( + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy).rgb, + SAMPLE_TEXTURE2D(tex, samplerTex, uvw.xy + float2(texelSize.y, 0.0)).rgb, + uvw.z - shift + ); + return uvw; +} + +//------------------------------------------------------------------------------------------- +// Lift, Gamma (pre-inverted), Gain tuned for HDR use - best used with the ACES tonemapper as +// negative values will creep in the result +// Expected workspace: ACEScg (linear) +//------------------------------------------------------------------------------------------- +half3 LiftGammaGain_HDR(half3 c, half3 lift, float3 invgamma, half3 gain) +{ + c = c * gain + lift; + + // ACEScg will output negative values, as clamping to 0 will lose precious information we'll + // mirror the gamma function instead + return FastSign(c) * pow(abs(c), invgamma); +} + +half3 Luminance_V1(half3 color) +{ + return(color.r * 0.3 + color.g * 0.59 + color.b * 0.11); +} + +half Luminance_V2(half3 color) +{ + return dot(color, half3(0.222, 0.707, 0.071)); +} + +half4 LuminanceThreshold(half4 color, half threshold) +{ + half br = Max3(color.r, color.g, color.b); + + half contrib = max(0, br - threshold); + + contrib /= max(br, 0.001); + + return color * contrib; +} + + + +float4 GetDepthNormal_ViewSpace(float2 uv) +{ + float4 cdn = SAMPLE_TEXTURE2D(_CameraDepthNormalsTexture, sampler_CameraDepthNormalsTexture, uv); + float4 Normal_ViewSpace = float4(DecodeViewNormalStereo(cdn), 1); + return Normal_ViewSpace; +} + + +float GetSinusoidWave(float len, float pi, float time) +{ + float wave = sin(8.0f * pi * len + time); + wave = 0.5 * wave + 0.2; + wave *= wave * wave; + return wave; +} + diff --git a/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta new file mode 100644 index 00000000..2a447f55 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/XPostProcessing.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df45a9a1fca2ef24fb63d70aa7e08e9f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Shaders/xRLib.hlsl b/Assets/X-PostProcessing/Shaders/xRLib.hlsl new file mode 100644 index 00000000..b3a21d74 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/xRLib.hlsl @@ -0,0 +1,98 @@ +// VR/AR/xR lib + +#ifndef UNITY_POSTFX_XRLIB +#define UNITY_POSTFX_XRLIB + +#if defined(UNITY_SINGLE_PASS_STEREO) +CBUFFER_START(UnityStereoGlobals) + float4x4 unity_StereoMatrixP[2]; + float4x4 unity_StereoMatrixV[2]; + float4x4 unity_StereoMatrixInvV[2]; + float4x4 unity_StereoMatrixVP[2]; + + float4x4 unity_StereoCameraProjection[2]; + float4x4 unity_StereoCameraInvProjection[2]; + float4x4 unity_StereoWorldToCamera[2]; + float4x4 unity_StereoCameraToWorld[2]; + + float3 unity_StereoWorldSpaceCameraPos[2]; + float4 unity_StereoScaleOffset[2]; +CBUFFER_END + +CBUFFER_START(UnityStereoEyeIndex) + int unity_StereoEyeIndex; +CBUFFER_END +#endif + +float _RenderViewportScaleFactor; + +float2 UnityStereoScreenSpaceUVAdjust(float2 uv, float4 scaleAndOffset) +{ + return uv.xy * scaleAndOffset.xy + scaleAndOffset.zw; +} + +float4 UnityStereoScreenSpaceUVAdjust(float4 uv, float4 scaleAndOffset) +{ + return float4(UnityStereoScreenSpaceUVAdjust(uv.xy, scaleAndOffset), UnityStereoScreenSpaceUVAdjust(uv.zw, scaleAndOffset)); +} + +float2 UnityStereoClampScaleOffset(float2 uv, float4 scaleAndOffset) +{ + return clamp(uv, scaleAndOffset.zw, scaleAndOffset.zw + scaleAndOffset.xy); +} + +#if defined(UNITY_SINGLE_PASS_STEREO) +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex]; + scaleOffset.xy *= _RenderViewportScaleFactor; + return uv.xy * scaleOffset.xy + scaleOffset.zw * w; +} + +float2 UnityStereoTransformScreenSpaceTex(float2 uv) +{ + return TransformStereoScreenSpaceTex(saturate(uv), 1.0); +} + +float4 UnityStereoTransformScreenSpaceTex(float4 uv) +{ + return float4(UnityStereoTransformScreenSpaceTex(uv.xy), UnityStereoTransformScreenSpaceTex(uv.zw)); +} + +float2 UnityStereoClamp(float2 uv) +{ + float4 scaleOffset = unity_StereoScaleOffset[unity_StereoEyeIndex]; + scaleOffset.xy *= _RenderViewportScaleFactor; + return UnityStereoClampScaleOffset(uv, scaleOffset); +} + +float4 UnityStereoAdjustedTexelSize(float4 texelSize) // Should take in _MainTex_TexelSize +{ + texelSize.x = texelSize.x * 2.0; // texelSize.x = 1/w. For a double-wide texture, the true resolution is given by 2/w. + texelSize.z = texelSize.z * 0.5; // texelSize.z = w. For a double-wide texture, the true size of the eye texture is given by w/2. + return texelSize; +} +#else +float2 TransformStereoScreenSpaceTex(float2 uv, float w) +{ + return uv * _RenderViewportScaleFactor; +} + +float2 UnityStereoTransformScreenSpaceTex(float2 uv) +{ + return TransformStereoScreenSpaceTex(saturate(uv), 1.0); +} + +float2 UnityStereoClamp(float2 uv) +{ + float4 scaleOffset = float4(_RenderViewportScaleFactor, _RenderViewportScaleFactor, 0.f, 0.f); + return UnityStereoClampScaleOffset(uv, scaleOffset); +} + +float4 UnityStereoAdjustedTexelSize(float4 texelSize) +{ + return texelSize; +} +#endif + +#endif // UNITY_POSTFX_XRLIB diff --git a/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta b/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta new file mode 100644 index 00000000..c5335647 --- /dev/null +++ b/Assets/X-PostProcessing/Shaders/xRLib.hlsl.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9b6f01d1ec2d5e44b05163c02bc9aa4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility.meta b/Assets/X-PostProcessing/Utility.meta new file mode 100644 index 00000000..8a197e11 --- /dev/null +++ b/Assets/X-PostProcessing/Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b69a81cda6354c045817489da3d61c16 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs new file mode 100644 index 00000000..bff84bc6 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs @@ -0,0 +1,57 @@ +using System; + +namespace XPostProcessing +{ + /// + /// Use this attribute to draw a ColorWheel in the inspector. + /// + [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)] + public sealed class ColorWheelAttribute : Attribute + { + /// + /// ColorWheel modes. These are used to compute and display pre-filtered ColorWheel vales in + /// the inspector. + /// + public enum Mode + { + /// + /// Don't display pre-filtered values. + /// + None, + + /// + /// Display pre-filtered lift values. + /// + Lift, + + /// + /// Display pre-filtered gamma values. + /// + Gamma, + + /// + /// Display pre-filtered grain values. + /// + Gain, + + + Contrast + } + + /// + /// The mode used to display pre-filtered values in the inspector. + /// + public readonly Mode mode; + + /// + /// Creates a new attribute. + /// + /// A mode used to display pre-filtered values in the inspector + public ColorWheelAttribute(Mode mode) + { + this.mode = mode; + } + } + + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta new file mode 100644 index 00000000..10f4bae4 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/ColorWheelAttribute.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4c8c3233482129439fd679435869372 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XParameterOverride.cs b/Assets/X-PostProcessing/Utility/XParameterOverride.cs new file mode 100644 index 00000000..938059f5 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XParameterOverride.cs @@ -0,0 +1,21 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace UnityEngine.Rendering.PostProcessing +{ + + [Serializable] + public sealed class GradientParameter : ParameterOverride { } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta b/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta new file mode 100644 index 00000000..de957a93 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XParameterOverride.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 60cf005088e2612439c705ccccc052eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs new file mode 100644 index 00000000..51ded626 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs @@ -0,0 +1,38 @@ +//---------------------------------------------------------------------------------------------------------- +// X-PostProcessing Library +// https://github.com/QianMo/X-PostProcessing-Library +// Copyright (C) 2020 QianMo. All rights reserved. +// Licensed under the MIT License +// You may not use this file except in compliance with the License.You may obtain a copy of the License at +// http://opensource.org/licenses/MIT +//---------------------------------------------------------------------------------------------------------- + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace XPostProcessing +{ + + + public enum Direction + { + Horizontal = 0, + Vertical = 1, + } + + public enum DirectionEX + { + Horizontal = 0, + Vertical = 1, + Horizontal_Vertical =2, + } + + public enum IntervalType + { + Infinite, + Periodic, + Random + } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta new file mode 100644 index 00000000..eb4ef739 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingEnum.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b1b08b4caaec4247a5c9aa3be841047 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs new file mode 100644 index 00000000..8fe628a9 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs @@ -0,0 +1,99 @@ +using System.Collections; +using System.Collections.Generic; +using System.IO; +using UnityEngine; + + +namespace XPostProcessing +{ + public class XPostProcessingUtility + { + + #region Instance + + private static XPostProcessingUtility _instance; + public static XPostProcessingUtility Instance + { + get + { + if (_instance == null) + { + _instance = new XPostProcessingUtility(); + } + return _instance; + } + } + + #endregion + + + + //----------------------------------------------------------------------------------------------------- + static int resetFrameCount = 0; + static Color srcColor; + static Color dstColor; + public static Color GetRandomLerpColor(int RandomFrameCount, float lerpSpeed) + { + // Color version + if (resetFrameCount == 0) + { + srcColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f), 1); + } + float lerp = lerpSpeed; + + dstColor = Color.Lerp(dstColor, srcColor, lerp); + resetFrameCount++; + if (resetFrameCount > RandomFrameCount) + { + resetFrameCount = 0; + } + + return dstColor; + } + + public static Color RandomColor() + { + return new Color(Random.value, Random.value, Random.value, Random.value); + } + + + + + public int LastSelectedCategory; + public int ThumbWidth; + public int ThumbHeight; + public int cache_ThumbWidth; + public int cache_ThumbHeight; + public bool cache_IsLinear; + public RenderTexture PreviewRT; + + + public static void DumpRenderTexture(RenderTexture rt, string pngOutPath) + { + var oldRT = RenderTexture.active; + + var tex = new Texture2D(rt.width, rt.height); + RenderTexture.active = rt; + tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0); + tex.Apply(); + + File.WriteAllBytes(pngOutPath, tex.EncodeToPNG()); + RenderTexture.active = oldRT; + } + + + static string TypePreFix = "XPostProcessing."; + + + public static System.Type GetSettingByName(string typeFullName) + { + var type = System.Type.GetType(TypePreFix + typeFullName); + //Debug.Log("Utllity Type : " + type); + return type; + } + + + + } + +} \ No newline at end of file diff --git a/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta new file mode 100644 index 00000000..a2ce0926 --- /dev/null +++ b/Assets/X-PostProcessing/Utility/XPostProcessingUtility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46b6974378148b84c82c3dfa2d6af212 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset b/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset index 6c3c1ea4..adc1456a 100644 --- a/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset +++ b/ProjectSettings/SatorImaging.UnitySourceGenerator.Editor.ProjectSettingsData.asset @@ -17,66 +17,10 @@ MonoBehaviour: DenseViewWidthThreshold: 512 _disableAutoReloadInBackground: 0 ImportedScriptPaths: - - Assets/Scripts/Games/RapMen/RapMen.cs - - Assets/Scripts/Games/Cannery/Cannery.cs - - Assets/Scripts/Games/LumBEARjack/LBJBear.cs - - Assets/Scripts/LevelEditor/Commands/Block.cs - - Assets/Scripts/Games/ClapTrap/ClapTrap.cs - - Assets/Scripts/Games/SoundEffects.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/ColorPropertyPrefab.cs - - Assets/Scripts/Games/RhythmTweezers/RhythmTweezers.cs - - Assets/Scripts/LevelEditor/Tooltip.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/BoolPropertyPrefab.cs - - Assets/Scripts/LevelEditor/EventSelector/EventParameterManager.cs - - Assets/Scripts/Util/SoundByte.cs - - Assets/Scripts/Games/Rockers/Rockers.cs - - Assets/Scripts/Games/NailCarpenter/LongNail.cs - - Assets/Scripts/Games/LumBEARjack/LumBEARjack.cs - - Assets/Scripts/LevelEditor/EventSelector/EventPropertyPrefab.cs - - Assets/Scripts/Games/BonOdori/BonOdori.cs + - Assets/Scripts/PostProcessingVFX.cs - Assets/Scripts/Minigames.cs - - Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs - - Assets/Scripts/LevelEditor/Timeline/TimelineEventObj.cs - - Assets/Scripts/Games/Cannery/Can.cs - - Assets/Scripts/UI/SettingsDialog/Tabs/EditorSettings.cs - - Assets/Scripts/GameManager.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/StringPropertyPrefab.cs - - Assets/Scripts/Games/RhythmTestGBA/RhythmTestGBA.cs - - Assets/Scripts/Games/LumBEARjack/LBJBomb.cs - - Assets/Scripts/Games/TossBoys/TossBoys.cs - - Assets/Scripts/Games/LumBEARjack/LBJBaby.cs - - Assets/Scripts/Games/LumBEARjack/LBJObjectRotate.cs - - Assets/Scripts/Util/MultiSound.cs - - Assets/Scripts/Games/Tambourine/Tambourine.cs - - Assets/Scripts/Util/ParticleSystemHelpers.cs - - Assets/Scripts/Games/SpaceDance/SpaceDance.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/NumberPropertyPrefab.cs - - Assets/Scripts/Util/EntityTypes.cs - - Assets/Scripts/Games/MrUpbeat/MrUpbeat.cs - - Assets/Scripts/Games/LumBEARjack/LBJCatMove.cs - - Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs - - Assets/Scripts/Games/LumBEARjack/LBJMissObject.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/DropdownPropertyPrefab.cs - - Assets/Scripts/LevelEditor/Timeline/Timeline.cs - - Assets/Scripts/PersistentDataManager.cs - - Assets/Scripts/Games/NailCarpenter/Nail.cs - - Assets/Scripts/Games/ForkLifter/ForkLifter.cs - - Assets/Scripts/Games/CoinToss/CoinToss.cs - - Assets/Scripts/Games/DrummingPractice/DrummingPractice.cs - - Assets/Scripts/Games/Minigame.cs - - Assets/Scripts/Games/Kitties/Kitties.cs - - Assets/Scripts/USG.g/LoadMinigames.Minigames.MinigameLoaderGenerator.g.cs - - Assets/Scripts/LevelEditor/EventSelector/PropertyPrefabs/ButtonPropertyPrefab.cs - - Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs - - Assets/Scripts/Games/ClapTrap/Sword.cs - - Assets/Scripts/Games/KarateMan/KarateMan.cs - - Assets/Scripts/Games/ClappyTrio/ClappyTrio.cs - - Assets/Scripts/Games/NailCarpenter/NailCarpenter.cs - - Assets/Scripts/Games/NailCarpenter/Sweet.cs - - Assets/Scripts/Games/SpaceSoccer/SpaceSoccer.cs - - Assets/Scripts/Games/LumBEARjack/LBJBGCat.cs - - Assets/Scripts/Games/SamuraiSliceNtr/SamuraiSliceNtr.cs - Assets/Scripts/Games/PowerCalligraphy/Writing.cs - Assets/Scripts/Games/PowerCalligraphy/PowerCalligraphy.cs + - Assets/Scripts/Games/Airboarder/Airboarder.cs PathsToSkipImportEvent: [] PathsToIgnoreOverwriteSettingOnAttribute: []

+ + GitHub license + + Version + + GitHub issues + + + GitHub pull requests + + +# XPL: Unity引擎的高品质后处理库 +